示例#1
0
        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());
        }
示例#2
0
        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);
        }