public async Task DeleteAsync(Guid id) { var entity = await _projectMemberRepository.GetByIdAsync(id); if (entity == null) { throw new Exception("Project member not found"); } _projectMemberRepository.Delete(entity); await _projectMemberRepository.SaveAsync(); }
public ActionResult DeleteConfirmed(int id) { var projectMember = _projectMemberRepository.Get(id); if (!DoIHaveAccessToProject(projectMember.ProjectId)) { return(RedirectToAction("NotAuthorized", "Error", new { area = "" })); } _projectMemberRepository.Delete(projectMember); _unitOfWork.Commit(); return(RedirectToAction("Details", "Projects", new { Id = projectMember.ProjectId })); }
private void SaveEditModel(ProjectEditModel model) { var project = model.Project; projectRepo.Save(project); var oldProjectMembers = projectMemberRepo.GetForProject(project.Id); foreach (var oldMember in oldProjectMembers) { if (model.ProjectMembers.All(p => p.Id != oldMember.Id)) { projectMemberRepo.Delete(oldMember); } } foreach (var newMember in model.ProjectMembers.Where(pm => pm.EmployeeId > 0)) { projectMemberRepo.Save(newMember); } }
public async Task RemoveProjectMember(int projectId, int userId, int currentUserId = 0, CancellationToken cancellationToken = default(CancellationToken)) { cancellationToken.ThrowIfCancellationRequested(); var projectMemberByProjectSpec = new ProjectMemberFilterSpecification(projectId, userId); var projectMember = await _projectMemberRepository.GetSingleBySpec(projectMemberByProjectSpec, cancellationToken); if (projectMember.ProjectMemberRoleId == MemberRole.OwnerId && currentUserId > 0) { var currentUserOwnerSpec = new ProjectMemberFilterSpecification(projectId, currentUserId, null, MemberRole.OwnerId); if (await _projectMemberRepository.CountBySpec(currentUserOwnerSpec) == 0) { throw new RemoveProjectOwnerException(currentUserId); } } var projectMemberId = projectMember?.Id; if (projectMemberId > 0) { await _projectMemberRepository.Delete(projectMemberId.GetValueOrDefault(), cancellationToken); } }
public void Delete(int id) { projectMemberRepository.Delete(id); }