Пример #1
0
        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));
        }
Пример #2
0
        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));
        }