public ActionResult Respond(InviteResponseViewModel vm) { /// TODO: Handle Response.Success == false vm.InviteUser = _scrumInviteService.Respond(vm.Id, vm.Email, vm.Key, vm.Accept).Response; return(View(vm)); }
public IActionResult SendInviteAnswer([FromBody] InviteResponseViewModel model) { //Получаем из токена username var username = User.Identity.Name; int group_id = model.GroupId; //Ищем администратора var user = _context.Users .Include(u => u.UserGroups) .ThenInclude(ug => ug.Group) .FirstOrDefault(u => u.Username == username); //Ищем данную группу var group = _context.Groups .Include(g => g.UserGroups) .ThenInclude(ug => ug.User) .FirstOrDefault(g => g.Id == group_id); //Если все существует if (user != null && group != null) { var request = _context.Invites .Include(ppr => ppr.User) .Include(ppr => ppr.Group) .FirstOrDefault(ppr => ppr.Group.Id == group_id && ppr.User.Username == user.Username); //Если такой запрос существует, то принимаем либо отвергаем запрос if (request != null) { var accepted = model.Accepted; if (accepted) { group.UserGroups.Add(new UserGroup { User = user, Group = group }); _context.SaveChanges(); } //Удаляем запрос _context.Invites.Remove(request); _context.SaveChanges(); } else { Unauthorized(); } return(Ok()); } else { return(Unauthorized()); } }