Example #1
0
        public ActionResult Create([Bind(Include = "Name, Sport, Country, Town, Address")] CreateGroupBindingModel bindingModel)
        {
            if (ModelState.IsValid)
            {
                var userId = HttpContext.User.Identity.GetUserId();
                this._service.CreateGroup(bindingModel, userId);

                return(RedirectToAction("Index"));
            }

            return(View(bindingModel));
        }
Example #2
0
        public ActionResult Create(CreateGroupBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(this.View(model));
            }

            var loggedUserId = this.User.Identity.GetUserId();
            var currentTime  = DateTime.Now;

            // transform string value to bool value
            var isPrivate = string.Compare(model.IsPrivate, "on", StringComparison.OrdinalIgnoreCase) == 0;

            var group = new Group
            {
                Name                = model.Name,
                Description         = model.Description,
                CreatedTime         = currentTime,
                CreaterId           = loggedUserId,
                LastTweetUpdateTime = currentTime,
                IsDisplay           = true,
                Classification      = Classification.未分类,
                IsPrivate           = isPrivate
            };

            if (isPrivate)
            {
                var user = this.Data.Users.Find(loggedUserId);
                if (user == null)
                {
                    return(HttpNotFound($"User with id {loggedUserId} not found"));
                }

                group.Users.Add(user);
            }

            this.Data.Group.Add(group);
            this.Data.SaveChanges();

            // add group corresponding plugins
            group.GroupPlugin = new GroupPlugin();
            this.Data.Group.Update(group);
            this.Data.SaveChanges();

            return(RedirectToAction("Get", new { groupId = group.Id, p = 1 }));
        }
Example #3
0
        public IHttpActionResult CreateGroup(CreateGroupBindingModel model)
        {
            if (model == null)
            {
                return(this.BadRequest("Missing data about group."));
            }

            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            if (this.Data.Groups.Any(g => g.Name == model.Name))
            {
                return(this.BadRequest("The group already exists."));
            }

            var currentUserId = this.User.Identity.GetUserId();
            var currentUser   = this.Data.Users.FirstOrDefault(u => u.Id == currentUserId);

            if (currentUser == null)
            {
                return(this.BadRequest("Invalid user token! Please login again!"));
            }

            var group = new Group()
            {
                Name        = model.Name,
                Description = model.Description,
                CreatedOn   = DateTime.Now,
                WallPicture = model.WallPicture,
                Owner       = currentUser
            };

            this.Data.Groups.Add(group);
            this.Data.SaveChanges();

            var viewModel = CreateGroupViewModel.CreateGroupPreview(currentUser, group);

            return(this.Ok(viewModel));
        }
Example #4
0
        public void CreateGroup(CreateGroupBindingModel bindingModel, string userId)
        {
            var group = Mapper.Map <CreateGroupBindingModel, Group>(bindingModel);

            group.Id = Guid.NewGuid().ToString();
            var location = Mapper.Map <CreateGroupBindingModel, Location>(bindingModel);

            location.Id = Guid.NewGuid().ToString();

            var player = Context.Users.Find(userId);

            if (player != null)
            {
                group.Admins.Add(player);
                group.Players.Add(player);
            }

            group.Location = location;
            Context.Groups.Add(group);
            Context.SaveChanges();
        }
Example #5
0
        public IHttpActionResult CreateGroup(CreateGroupBindingModel bindingModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            if (bindingModel == null)
            {
                return(this.BadRequest("Invalid data"));
            }

            var currentUserId = this.UserIdProvider.GetUserId();
            var currentUser   = this.Data.Users.Find(currentUserId);

            Group group = new Group
            {
                Name           = bindingModel.Name,
                Description    = bindingModel.Description,
                CoverImageData = null,
                CreatedOn      = DateTime.Now
            };

            if (bindingModel.CoverImageData != null && this.IsValidBase64Format(bindingModel.CoverImageData))
            {
                group.CoverImageData = string.Format(
                    "{0}{1}", "data:image/jpg;base64,", bindingModel.CoverImageData);
            }

            group.Members.Add(currentUser);
            group.Admins.Add(currentUser);
            currentUser.Groups.Add(group);

            this.Data.Groups.Add(group);
            this.Data.SaveChanges();

            return(this.Ok());
        }
        public IHttpActionResult CreateGroup(CreateGroupBindingModel bindingModel)
        {
            if (!this.ModelState.IsValid)
            {
                return this.BadRequest(this.ModelState);
            }

            if (bindingModel == null)
            {
                return this.BadRequest("Invalid data");
            }

            var currentUserId = this.UserIdProvider.GetUserId();
            var currentUser = this.Data.Users.Find(currentUserId);

            Group group = new Group
            {
                Name = bindingModel.Name,
                Description = bindingModel.Description,
                CoverImageData = null,
                CreatedOn = DateTime.Now
            };

            if (bindingModel.CoverImageData != null && this.IsValidBase64Format(bindingModel.CoverImageData))
            {
                group.CoverImageData = string.Format(
                    "{0}{1}", "data:image/jpg;base64,", bindingModel.CoverImageData);
            }

            group.Members.Add(currentUser);
            group.Admins.Add(currentUser);
            currentUser.Groups.Add(group);

            this.Data.Groups.Add(group);
            this.Data.SaveChanges();

            return this.Ok();
        }