public async Task <ActionResult> Delete(int projectId, int projectaclid) { var project = await ProjectRepository.GetProjectAsync(projectId); var projectAcl = project.ProjectAcls.Single(acl => acl.ProjectAclId == projectaclid); var claims = await ClaimRepository.GetClaimsForMaster(projectId, projectAcl.UserId, ClaimStatusSpec.Any); var groups = await ProjectRepository.GetGroupsWithResponsible(projectId); return(View(DeleteAclViewModel.FromAcl(projectAcl, claims.Count, groups.Where(gr => gr.ResponsibleMasterUserId == projectAcl.UserId).ToList()))); }
public async Task <ActionResult> Delete(DeleteAclViewModel viewModel) { try { await ProjectService.RemoveAccess(viewModel.ProjectId, viewModel.UserId, viewModel.ResponsibleMasterId); } catch { return(View(viewModel)); } if (viewModel.UserId == CurrentUserId) { //We are removing ourself, need to redirect to public page return(await RedirectToProject(viewModel.ProjectId)); } return(RedirectToAction("Index", "Acl", new { viewModel.ProjectId })); }
public async Task <ActionResult> RemoveYourself(DeleteAclViewModel viewModel) => await Delete(viewModel);