예제 #1
0
        public async Task <IActionResult> PutProject(int id, ProjectViewModel projViewModel)
        {
            Project proj = new Project(projViewModel);

            proj.ProjectId = id;
            await _projectRepository.Update(proj);

            IEnumerable <EmployeeProjectAssignment> empProjectAssignmentList =
                await _employeeProjectAssignmentRepository.GetAll();

            //delete
            foreach (EmployeeProjectAssignment item in empProjectAssignmentList)
            {
                if (item.ProjectId == projViewModel.ProjectId)
                {
                    await _employeeProjectAssignmentRepository.Delete(item);
                }
            }

            //add again
            foreach (EmployeeNameViewModel emp in projViewModel.Employees)
            {
                EmployeeProjectAssignment empProjAssignment = new EmployeeProjectAssignment(emp.EmployeeId, projViewModel.ProjectId, false);
                await _employeeProjectAssignmentRepository.Add(empProjAssignment);
            }

            EmployeeProjectAssignment supProjectAssignment = new EmployeeProjectAssignment(projViewModel.ProjectManager.EmployeeId,
                                                                                           projViewModel.ProjectId, true);
            await _employeeProjectAssignmentRepository.Add(supProjectAssignment);


            return(Ok(200));
        }
예제 #2
0
        public async Task <ActionResult <Project> > PostProject(ProjectViewModel projViewModel)
        {
            Project proj = new Project(projViewModel);
            await _projectRepository.Add(proj);

            Project thisProj = await(_projectRepository).GetProjectByCode(projViewModel.ProjectCode);
            int     projId   = thisProj.ProjectId;

            EmployeeProjectAssignment supProjectAssignment = new EmployeeProjectAssignment(projViewModel.ProjectManager.EmployeeId,
                                                                                           projId, true);
            await _employeeProjectAssignmentRepository.Add(supProjectAssignment);

            foreach (EmployeeNameViewModel emp in projViewModel.Employees)
            {
                EmployeeProjectAssignment empProjAssignment = new EmployeeProjectAssignment(emp.EmployeeId, projId, false);
                await _employeeProjectAssignmentRepository.Add(empProjAssignment);
            }

            return(Ok(projViewModel));
        }
예제 #3
0
        public async Task <IActionResult> PutProject(int id, ProjectViewModel projViewModel)
        {
            Project proj = new Project(projViewModel);

            proj.ProjectId = id;
            await _projectRepository.Update(proj);

            EmployeeProjectAssignment supProjectAssignment = new EmployeeProjectAssignment(projViewModel.ProjectManager.EmployeeId,
                                                                                           id, true);
            await _employeeProjectAssignmentRepository.Update(supProjectAssignment);

            foreach (EmployeeNameViewModel emp in projViewModel.Employees)
            {
                EmployeeProjectAssignment empProjectAssignment = new EmployeeProjectAssignment(
                    projViewModel.ProjectManager.EmployeeId,
                    id, false);
                await _employeeProjectAssignmentRepository.Update(empProjectAssignment);
            }

            return(Ok(200));
        }