public async Task <ActionResult <WorkPackageViewModel> > PostWorkPackage(WorkPackageViewModel wpViewModel) { //Get Project and ParentWpIds int parentWpId = _workPackageRepository.GetIdByCode(wpViewModel.ParentWorkPackageCode); int projectId = _projectRepository.GetIdByCode(wpViewModel.ProjectCode); WorkPackage wp = new WorkPackage(wpViewModel, parentWpId, projectId); await _workPackageRepository.Add(wp); //Get id of the wp just added int wpId = _workPackageRepository.GetIdByCode(wpViewModel.WorkPackageCode); foreach (PmPlanningViewModel pmViewModel in wpViewModel.PmPlannings) { WorkPackageLabourGradeAssignment wplga = new WorkPackageLabourGradeAssignment(wpId, pmViewModel); await _workPackageLabourGradeRepository.Add(wplga); } return(Ok(wpViewModel)); }
public async Task <ActionResult <WorkPackageViewModel> > PostWorkPackage(WorkPackageViewModel wpViewModel) { //Get Project and ParentWpIds int?parentWpId = null; if (wpViewModel.ParentWorkPackageCode != null) { parentWpId = _workPackageRepository.GetIdByCode(wpViewModel.ParentWorkPackageCode); } int projectId = _projectRepository.GetIdByCode(wpViewModel.ProjectCode); WorkPackage wp = new WorkPackage(wpViewModel, parentWpId, projectId); await _workPackageRepository.Add(wp); //Get id of the wp just added int wpId = _workPackageRepository.GetIdByCode(wpViewModel.WorkPackageCode); //add pmViewModels foreach (PmPlanningViewModel pmViewModel in wpViewModel.PmPlannings) { WorkPackageLabourGradeAssignment wplga = new WorkPackageLabourGradeAssignment(wpId, pmViewModel); await _workPackageLabourGradeRepository.Add(wplga); } foreach (EmployeeNameViewModel emp in wpViewModel.Employees) { EmployeeWorkPackageAssignment empWpAss = new EmployeeWorkPackageAssignment(emp.EmployeeId, wpId); await _empWorkPackageAssignmentRepository.Add(empWpAss); } //add RE to db EmployeeWorkPackageAssignment re = new EmployeeWorkPackageAssignment(wpViewModel.ResponsibleEngineer.EmployeeId, wpId); await _empWorkPackageAssignmentRepository.Add(re); return(Ok(wpViewModel)); }