Esempio n. 1
0
        public bool JoinGroup(GroupJoinRAO rao)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var group = ctx.Groups.FirstOrDefault(g => g.GroupInviteKey == rao.GroupInviteKey);
                if (group == null)
                {
                    return(false);
                }

                if (ctx.GroupMembers.Where(gm => gm.MemberId == _userId).Count() > 0)
                {
                    return(false);
                }

                var groupMember = new GroupMemberEntity
                {
                    MemberId = _userId,
                    GroupId  = group.GroupId,
                    InGroup  = false
                };

                ctx.GroupMembers.Add(groupMember);
                return(ctx.SaveChanges() == 1);
            }
        }
Esempio n. 2
0
        public IHttpActionResult JoinGroup(GroupJoinDTO dto)
        {
            var service = GetGroupService();

            var rao = new GroupJoinRAO
            {
                GroupInviteKey = dto.GroupInviteKey
            };

            if (service.JoinGroup(rao))
            {
                return(Ok());
            }
            else
            {
                return(BadRequest());
            }
        }
Esempio n. 3
0
        public ActionResult JoinGroup(GroupJoinDTO dto)
        {
            var svc = GetGroupService();

            if (!ModelState.IsValid)
            {
                return(View(dto));
            }

            var rao = new GroupJoinRAO {
                GroupInviteKey = dto.GroupInviteKey
            };

            if (svc.JoinGroup(rao))
            {
                var id = svc.GetGroupIDByKey(rao.GroupInviteKey);
                return(RedirectToAction("Index", new { id }));
            }

            TempData["FailResult"] = "Cannot join group.";
            return(View());
        }