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); } }
public IHttpActionResult JoinGroup(GroupJoinDTO dto) { var service = GetGroupService(); var rao = new GroupJoinRAO { GroupInviteKey = dto.GroupInviteKey }; if (service.JoinGroup(rao)) { return(Ok()); } else { return(BadRequest()); } }
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()); }