public override async Task <ProjectManagementTaskView> MapToView(ProjectManagementTask inputObject) { Mapper mapper = new Mapper(); ProjectManagementTaskView outObject = mapper.Map <ProjectManagementTaskView>(inputObject); ProjectManagementProject project = await _unitOfWork.projectManagementProjectRepository.GetEntityById(inputObject.ProjectId); ProjectManagementMilestone milestone = await _unitOfWork.projectManagementMilestoneRepository.GetEntityById(1); Udc udc = await _unitOfWork.udcRepository.GetEntityById(21); ProjectManagementWorkOrder workOrder = await _unitOfWork.projectManagementWorkOrderRepository.GetEntityById(7); ChartOfAccount account = await _unitOfWork.chartOfAccountRepository.GetEntityById(4); FluentProjectManagementWorkOrderToEmployee WorkToEmployee = new FluentProjectManagementWorkOrderToEmployee(_unitOfWork); IList <ProjectManagementWorkOrderToEmployeeView> views = await WorkToEmployee.Query().GetViewsByWorkOrderId(workOrder.WorkOrderId); outObject.ProjectName = project.ProjectName; outObject.Status = udc.Value; outObject.Instructions = workOrder.Instructions; outObject.Account = account.Account; outObject.WorkOrderToEmployeeViews = views; return(outObject); }
public async Task TestTaskToProjectRollup() { ProjectManagementModule pmMod = new ProjectManagementModule(); ProjectManagementProject project = await pmMod.Project.Query().GetEntityById(1); ProjectManagementMilestone milestone = await pmMod.Milestone.Query().GetEntityById(1); Udc udc = await pmMod.Udc.Query().GetEntityById(21); ChartOfAccount account = await pmMod.ChartOfAccount.Query().GetEntityById(4); ProjectManagementTaskView view = new ProjectManagementTaskView() { Wbs = "1.3", TaskName = "test rollup", Description = "task to project rollup", EstimatedStartDate = DateTime.Parse("12/1/2019"), EstimatedHours = 1, EstimatedEndDate = DateTime.Parse("12/31/2019"), ActualStartDate = DateTime.Parse("12/23/2019"), ActualHours = 1, ActualEndDate = DateTime.Parse("12/23/2020"), Cost = 31, MileStoneId = milestone.MilestoneId, MilestoneName = milestone.MilestoneName, StatusXrefId = udc.XrefId, EstimatedCost = 29, ActualDays = 1, EstimatedDays = 1, ProjectId = project.ProjectId, AccountId = account.AccountId, Account = account.Account, ProjectName = project.ProjectName, }; NextNumber nnNextNumber = await pmMod.ProjectManagementTask.Query().GetNextNumber(); view.TaskNumber = nnNextNumber.NextNumberValue; ProjectManagementTask projectManagementTask = await pmMod.ProjectManagementTask.Query().MapToEntity(view); pmMod.ProjectManagementTask.AddProjectManagementTask(projectManagementTask).Apply(); RollupTaskToProjectView rollup = await pmMod.Project.Query().GetTaskToProjectRollupViewById(milestone.MilestoneId); ProjectManagementTask newProjectManagementTask = await pmMod.ProjectManagementTask.Query().GetEntityByNumber(view.TaskNumber); if (rollup.Cost < 3000) { Assert.True(false); } pmMod.ProjectManagementTask.DeleteProjectManagementTask(newProjectManagementTask).Apply(); }
public async Task <IActionResult> DeleteProjectManagementMilestone([FromBody] ProjectManagementMilestoneView view) { ProjectManagementMilestoneModule invMod = new ProjectManagementMilestoneModule(); ProjectManagementMilestone projectManagementMilestone = await invMod.Milestone.Query().MapToEntity(view); invMod.Milestone.DeleteProjectManagementMilestone(projectManagementMilestone).Apply(); return(Ok(view)); }
public async Task <IActionResult> DeleteMilestone(long milestoneId) { ProjectManagementModule pmMod = new ProjectManagementModule(); ProjectManagementMilestone milestone = await pmMod.Milestone.Query().GetEntityById(milestoneId); ProjectManagementMilestoneView view = await pmMod.Milestone.Query().MapToView(milestone); pmMod.Milestone.DeleteProjectManagementMilestone(milestone).Apply(); return(Ok(view)); }
public async Task TestAddUpdatDelete() { ProjectManagementTaskToEmployeeModule ProjectManagementTaskToEmployeeMod = new ProjectManagementTaskToEmployeeModule(); Employee employee = await ProjectManagementTaskToEmployeeMod.Employee.Query().GetEntityById(3); AddressBook addressBook = await ProjectManagementTaskToEmployeeMod.AddressBook.Query().GetEntityById(employee.AddressId); ProjectManagementTask task = await ProjectManagementTaskToEmployeeMod.Task.Query().GetEntityById(5); ProjectManagementMilestone milestone = await ProjectManagementTaskToEmployeeMod.Milestone.Query().GetEntityById(task.MileStoneId); ProjectManagementProject project = await ProjectManagementTaskToEmployeeMod.Project.Query().GetEntityById(milestone.ProjectId); ProjectManagementTaskToEmployeeView view = new ProjectManagementTaskToEmployeeView() { TaskId = task.TaskId, EmployeeId = employee.EmployeeId, EmployeeName = addressBook.Name, TaskName = task.TaskName, TaskDescription = task.Description, MilestoneName = milestone.MilestoneName, ProjectName = project.ProjectName }; NextNumber nnNextNumber = await ProjectManagementTaskToEmployeeMod.ProjectManagementTaskToEmployee.Query().GetNextNumber(); view.TaskToEmployeeNumber = nnNextNumber.NextNumberValue; ProjectManagementTaskToEmployee projectManagementTaskToEmployee = await ProjectManagementTaskToEmployeeMod.ProjectManagementTaskToEmployee.Query().MapToEntity(view); ProjectManagementTaskToEmployeeMod.ProjectManagementTaskToEmployee.AddProjectManagementTaskToEmployee(projectManagementTaskToEmployee).Apply(); ProjectManagementTaskToEmployee newProjectManagementTaskToEmployee = await ProjectManagementTaskToEmployeeMod.ProjectManagementTaskToEmployee.Query().GetEntityByNumber(view.TaskToEmployeeNumber); Assert.NotNull(newProjectManagementTaskToEmployee); newProjectManagementTaskToEmployee.EmployeeId = 6; ProjectManagementTaskToEmployeeMod.ProjectManagementTaskToEmployee.UpdateProjectManagementTaskToEmployee(newProjectManagementTaskToEmployee).Apply(); ProjectManagementTaskToEmployeeView updateView = await ProjectManagementTaskToEmployeeMod.ProjectManagementTaskToEmployee.Query().GetViewById(newProjectManagementTaskToEmployee.TaskToEmployeeId); if (updateView.EmployeeId != 6) { Assert.True(false); } ProjectManagementTaskToEmployeeMod.ProjectManagementTaskToEmployee.DeleteProjectManagementTaskToEmployee(newProjectManagementTaskToEmployee).Apply(); ProjectManagementTaskToEmployee lookupProjectManagementTaskToEmployee = await ProjectManagementTaskToEmployeeMod.ProjectManagementTaskToEmployee.Query().GetEntityById(view.TaskToEmployeeId); Assert.Null(lookupProjectManagementTaskToEmployee); }
public async Task TestAddUpdatDelete() { ProjectManagementMilestoneModule ProjectManagementMilestoneMod = new ProjectManagementMilestoneModule(); ProjectManagementMilestone milestone = await ProjectManagementMilestoneMod.Milestone.Query().GetEntityById(1); ProjectManagementProject project = await ProjectManagementMilestoneMod.Project.Query().GetEntityById(1); RollupTaskToMilestoneView rollup = await ProjectManagementMilestoneMod.Milestone.Query().GetTaskToMilestoneRollupViewById(milestone.MilestoneId); ProjectManagementMilestoneView view = new ProjectManagementMilestoneView() { MilestoneName = "fluent code refactor", ProjectId = project.ProjectId, ProjectName = project.ProjectName, EstimatedHours = rollup.EstimatedHours, EstimatedDays = rollup.EstimatedDays, ActualDays = rollup.ActualDays, ActualHours = rollup.ActualHours, ActualStartDate = rollup.ActualStartDate, ActualEndDate = rollup.ActualEndDate, EstimatedStartDate = rollup.EstimatedStartDate, EstimatedEndDate = rollup.EstimatedEndDate, Cost = rollup.Cost, Wbs = "2.1" }; NextNumber nnNextNumber = await ProjectManagementMilestoneMod.Milestone.Query().GetNextNumber(); view.MileStoneNumber = nnNextNumber.NextNumberValue; ProjectManagementMilestone projectManagementMilestone = await ProjectManagementMilestoneMod.Milestone.Query().MapToEntity(view); ProjectManagementMilestoneMod.Milestone.AddProjectManagementMilestone(projectManagementMilestone).Apply(); ProjectManagementMilestone newProjectManagementMilestone = await ProjectManagementMilestoneMod.Milestone.Query().GetEntityByNumber(view.MileStoneNumber); Assert.NotNull(newProjectManagementMilestone); newProjectManagementMilestone.MilestoneName = "MS Name Update"; ProjectManagementMilestoneMod.Milestone.UpdateProjectManagementMilestone(newProjectManagementMilestone).Apply(); ProjectManagementMilestoneView updateView = await ProjectManagementMilestoneMod.Milestone.Query().GetViewById(newProjectManagementMilestone.MilestoneId); Assert.Same(updateView.MilestoneName, "MS Name Update"); ProjectManagementMilestoneMod.Milestone.DeleteProjectManagementMilestone(newProjectManagementMilestone).Apply(); ProjectManagementMilestone lookupProjectManagementMilestone = await ProjectManagementMilestoneMod.Milestone.Query().GetEntityById(view.MilestoneId); Assert.Null(lookupProjectManagementMilestone); }
public async Task <IActionResult> CreateMilestone([FromBody] ProjectManagementMilestone milestone) { ProjectManagementModule pmMod = new ProjectManagementModule(); NextNumber nnMileStone = await pmMod.Milestone.Query().GetNextNumber(); milestone.MileStoneNumber = nnMileStone.NextNumberValue; pmMod.Milestone.AddProjectManagementMilestone(milestone).Apply(); ProjectManagementMilestone queryMilestone = await pmMod.Milestone.Query().GetEntityByNumber(milestone.MileStoneNumber ?? 0); ProjectManagementMilestoneView view = await pmMod.Milestone.Query().MapToView(queryMilestone); return(Ok(view)); }
public async Task <IActionResult> AddProjectManagementMilestone([FromBody] ProjectManagementMilestoneView view) { ProjectManagementMilestoneModule invMod = new ProjectManagementMilestoneModule(); NextNumber nnProjectManagementMilestone = await invMod.Milestone.Query().GetNextNumber(); view.MileStoneNumber = nnProjectManagementMilestone.NextNumberValue; ProjectManagementMilestone projectManagementMilestone = await invMod.Milestone.Query().MapToEntity(view); invMod.Milestone.AddProjectManagementMilestone(projectManagementMilestone).Apply(); ProjectManagementMilestoneView newView = await invMod.Milestone.Query().GetViewByNumber(view.MileStoneNumber); return(Ok(newView)); }
public override async Task <ProjectManagementTaskToEmployeeView> MapToView(ProjectManagementTaskToEmployee inputObject) { ProjectManagementTaskToEmployeeView outObject = mapper.Map <ProjectManagementTaskToEmployeeView>(inputObject); Task <Employee> employeeTask = _unitOfWork.employeeRepository.GetEntityById(inputObject.EmployeeId); Task <ProjectManagementTask> taskTask = _unitOfWork.projectManagementTaskRepository.GetEntityById(inputObject.TaskId); Task.WaitAll(employeeTask, taskTask); AddressBook addressBook = await _unitOfWork.addressBookRepository.GetEntityById(employeeTask.Result.AddressId); ProjectManagementMilestone milestone = await _unitOfWork.projectManagementMilestoneRepository.GetEntityById(taskTask.Result.MileStoneId); ProjectManagementProject project = await _unitOfWork.projectManagementProjectRepository.GetEntityById(milestone.ProjectId); outObject.EmployeeName = addressBook.Name; outObject.TaskName = taskTask.Result.TaskName; outObject.TaskDescription = taskTask.Result.Description; outObject.MilestoneName = milestone.MilestoneName; outObject.ProjectName = project.ProjectName; return(outObject); }
public async Task TestCreateProjecttoWorkOrder() { ProjectManagementModule pmMod = new ProjectManagementModule(); NextNumber nnProject = await pmMod.Project.Query().GetNextNumber(); ProjectManagementProject newProject = new ProjectManagementProject() { ProjectName = "Test Project", Version = "1", Description = "Test Project Description", EstimatedStartDate = DateTime.Parse("4/1/2019"), EstimatedHours = 10, EstimatedEndDate = DateTime.Parse("4/1/2019"), EstimatedDays = 1, ProjectNumber = nnProject.NextNumberValue }; pmMod.Project.AddProject(newProject).Apply(); ProjectManagementProject project = await pmMod.Project.Query().GetEntityByNumber(nnProject.NextNumberValue); long projectId = project.ProjectId; project.Description = "Test Project Description Update"; pmMod.Project.UpdateProject(project).Apply(); project = await pmMod.Project.Query().GetEntityById(projectId); Assert.Contains(project.Description, "Test Project Description Update"); NextNumber nnWorkOrder = await pmMod.WorkOrder.Query().GetNextNumber(); ProjectManagementWorkOrder newWorkOrder = new ProjectManagementWorkOrder() { WorkOrderNumber = nnWorkOrder.NextNumberValue, Description = "Test Work Order", StartDate = DateTime.Parse("4/1/2019"), EndDate = DateTime.Parse("4/1/2019"), EstimatedAmount = 100, EstimatedHours = 10, AccountNumber = "Test Account", Instructions = "Test Instructions", ProjectId = projectId, Status = "Open", Location = "Test Location" }; pmMod.WorkOrder.AddProjectManagementWorkOrder(newWorkOrder).Apply(); ProjectManagementWorkOrder workOrder = await pmMod.WorkOrder.Query().GetEntityByNumber(nnWorkOrder.NextNumberValue); long workOrderId = workOrder.WorkOrderId; workOrder.Description = "Test Work Order Description Update"; pmMod.WorkOrder.UpdateProjectManagementWorkOrder(workOrder).Apply(); workOrder = await pmMod.WorkOrder.Query().GetEntityById(workOrderId); Assert.Contains(workOrder.Description, "Test Work Order Description Update"); NextNumber nnMileStone = await pmMod.Milestone.Query().GetNextNumber(); ProjectManagementMilestone mileStone = new ProjectManagementMilestone() { MileStoneNumber = nnMileStone.NextNumberValue, MilestoneName = "Test Milestone", ProjectId = projectId, EstimatedHours = 1.1M, ActualDays = 1, EstimatedDays = 1, ActualHours = 1.2M, ActualStartDate = DateTime.Now, ActualEndDate = DateTime.Now, EstimatedStartDate = DateTime.Now.AddDays(-7), EstimatedEndDate = DateTime.Now.AddDays(-1), Cost = 100.1M, Wbs = "1.1" }; pmMod.Milestone.AddProjectManagementMilestone(mileStone).Apply(); ProjectManagementMilestone milestoneLookup = await pmMod.Milestone.Query().GetEntityByNumber(nnMileStone.NextNumberValue); ProjectManagementWorkOrderToEmployee woToEmployee = new ProjectManagementWorkOrderToEmployee() { EmployeeId = 1, WorkOrderId = workOrderId }; List <ProjectManagementWorkOrderToEmployee> list = new List <ProjectManagementWorkOrderToEmployee>(); list.Add(woToEmployee); pmMod.WorkOrderToEmployee.AddProjectManagementWorkOrderToEmployees(list).Apply(); long workOrderId2 = woToEmployee.WorkOrderId; IEnumerable <EmployeeView> employeeList = await pmMod.Employee.Query().GetEntitiesByWorkOrderId(workOrderId2); foreach (var item in employeeList) { output.WriteLine($"{item.EmployeeName}"); } Assert.True(employeeList.Count() > 0); pmMod.WorkOrderToEmployee.DeleteProjectManagementWorkOrderToEmployees(list).Apply(); pmMod.Milestone.DeleteProjectManagementMilestone(mileStone).Apply(); pmMod.WorkOrder.DeleteProjectManagementWorkOrder(workOrder).Apply(); pmMod.Project.DeleteProject(project).Apply(); //ProjectManagementMilestones mileStone = new ProjectManagementMilestones(); }
public async Task TestAddUpdatDelete() { ProjectManagementTaskModule ProjectManagementTaskMod = new ProjectManagementTaskModule(); ProjectManagementMilestone milestone = await ProjectManagementTaskMod.Milestone.Query().GetEntityById(1); Udc udc = await ProjectManagementTaskMod.Udc.Query().GetEntityById(21); ProjectManagementProject project = await ProjectManagementTaskMod.Project.Query().GetEntityById(1); ProjectManagementWorkOrder workOrder = await ProjectManagementTaskMod.WorkOrder.Query().GetEntityById(7); ChartOfAccount account = await ProjectManagementTaskMod.ChartOfAccount.Query().GetEntityById(4); IList <ProjectManagementWorkOrderToEmployeeView> views = await ProjectManagementTaskMod.WorkToEmployee.Query().GetViewsByWorkOrderId(workOrder.WorkOrderId); ProjectManagementTaskView view = new ProjectManagementTaskView() { Wbs = "1.3", TaskName = "refactor code", Description = "refactor code to solid principles", EstimatedStartDate = DateTime.Parse("12/1/2019"), EstimatedHours = 100, EstimatedEndDate = DateTime.Parse("12/31/2019"), ActualStartDate = DateTime.Parse("12/1/2019"), ActualHours = 101, ActualEndDate = DateTime.Parse("12/20/2020"), Cost = 3100, MileStoneId = milestone.MilestoneId, MilestoneName = milestone.MilestoneName, StatusXrefId = udc.XrefId, EstimatedCost = 2900, ActualDays = 101 / 8, EstimatedDays = 100 / 8, ProjectId = project.ProjectId, WorkOrderId = workOrder.WorkOrderId, Instructions = workOrder.Instructions, AccountId = account.AccountId, Account = account.Account, ProjectName = project.ProjectName, WorkOrderToEmployeeViews = views }; NextNumber nnNextNumber = await ProjectManagementTaskMod.ProjectManagementTask.Query().GetNextNumber(); view.TaskNumber = nnNextNumber.NextNumberValue; ProjectManagementTask projectManagementTask = await ProjectManagementTaskMod.ProjectManagementTask.Query().MapToEntity(view); ProjectManagementTaskMod.ProjectManagementTask.AddProjectManagementTask(projectManagementTask).Apply(); ProjectManagementTask newProjectManagementTask = await ProjectManagementTaskMod.ProjectManagementTask.Query().GetEntityByNumber(view.TaskNumber); Assert.NotNull(newProjectManagementTask); newProjectManagementTask.Description = "ProjectManagementTask Test Update"; ProjectManagementTaskMod.ProjectManagementTask.UpdateProjectManagementTask(newProjectManagementTask).Apply(); ProjectManagementTaskView updateView = await ProjectManagementTaskMod.ProjectManagementTask.Query().GetViewById(newProjectManagementTask.TaskId); Assert.Same(updateView.Description, "ProjectManagementTask Test Update"); ProjectManagementTaskMod.ProjectManagementTask.DeleteProjectManagementTask(newProjectManagementTask).Apply(); ProjectManagementTask lookupProjectManagementTask = await ProjectManagementTaskMod.ProjectManagementTask.Query().GetEntityById(view.TaskId); Assert.Null(lookupProjectManagementTask); }
public IFluentProjectManagementMilestone DeleteProjectManagementMilestone(ProjectManagementMilestone deleteObject) { unitOfWork.projectManagementMilestoneRepository.DeleteObject(deleteObject); this.processStatus = CreateProcessStatus.Delete; return(this as IFluentProjectManagementMilestone); }
public IFluentProjectManagementMilestone AddProjectManagementMilestone(ProjectManagementMilestone newObject) { unitOfWork.projectManagementMilestoneRepository.AddObject(newObject); this.processStatus = CreateProcessStatus.Insert; return(this as IFluentProjectManagementMilestone); }