public async Task <IActionResult> UpdateAsync([FromForm] EmployeeProjectsDto employeeProjects) { var projectsDb = _context.ProjectsEmployees .Where(ep => ep.EmployeeId == employeeProjects.EmployeeId) .Select(ep => ep.ProjectId) .ToList(); var projectsToDelete = projectsDb.Except(employeeProjects.ProjectIds).ToList(); var projectsToAdd = employeeProjects.ProjectIds.Except(projectsDb).ToList(); var employeProject = new ProjectEmployee { EmployeeId = employeeProjects.EmployeeId }; foreach (var projectId in projectsToDelete) { employeProject.ProjectId = projectId; _context.ProjectsEmployees.Remove(employeProject); _context.SaveChanges(); } foreach (var projectId in projectsToAdd) { employeProject.ProjectId = projectId; _context.ProjectsEmployees.Add(employeProject); _context.SaveChanges(); } await _appHub.Refresh(); return(Ok()); }
public EmployeeProjectsDto GetEmployeeProjectsDto(int EmployeeId) { EmployeeProjectsDto dto = new EmployeeProjectsDto(); EmployeeDAO empDao = new EmployeeDAO(); dto.Employee = empDao.GetFiltered("id", EmployeeId.ToString()); DepartmentDAO depDao = new DepartmentDAO(); dto.Departments = depDao.GetAll(); return(dto); }