public async Task <IActionResult> ChangeProjectPosition(ProjectParticipantChangeViewModel input) { if (!ModelState.IsValid) { return(PartialView("_ChangeProjectPositionPartial", input)); } var participantToChange = input.To <ProjectParticipantChangeDto>(); var checkIsEmployeeParticipantLastManager = await this.projectsService.CheckIsParticipantLastManagerAsync(participantToChange); if (checkIsEmployeeParticipantLastManager) { ModelState.AddModelError(string.Empty, ErrorMessages.INVALID_PARTICIPANTS_MANAGER); return(PartialView("_ChangeProjectPositionPartial", input)); } await this.employeesProjectsPositionsService.ChangeEmployeeProjectPositionAsync(participantToChange); var newPositionName = await this.projectPositionsService.GetProjectPositionNameByIdAsync(participantToChange.ProjectPositionId); var participantFullName = participantToChange.EmployeeFullName; return(Json(new { success = true, participantName = participantFullName, position = newPositionName })); }
public async Task <IActionResult> RemoveParticipant([FromQuery] string projectId, [FromQuery] string participantId, [FromQuery] int projectPositionId) { var currentUserId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); var IsEmployeeAuthorizedToChangeProject = await this.projectsService.IsEmployeeAuthorizedToChangeProject(projectId, currentUserId); if (!IsEmployeeAuthorizedToChangeProject) { return(Forbid()); } var employeeFullName = await this.employeesService.GetEmployeeFullNameByIdAsync(participantId); var model = new ProjectParticipantChangeViewModel { ProjectId = projectId, EmployeeId = participantId, EmployeeFullName = employeeFullName, ProjectPositionId = projectPositionId }; return(PartialView("_RemoveProjectParticipantPartial", model)); }