Example #1
0
        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();
        }
Example #3
0
        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));
        }
Example #8
0
        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));
        }
Example #9
0
        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);
        }
Example #12
0
 public IFluentProjectManagementMilestone DeleteProjectManagementMilestone(ProjectManagementMilestone deleteObject)
 {
     unitOfWork.projectManagementMilestoneRepository.DeleteObject(deleteObject);
     this.processStatus = CreateProcessStatus.Delete;
     return(this as IFluentProjectManagementMilestone);
 }
Example #13
0
 public IFluentProjectManagementMilestone AddProjectManagementMilestone(ProjectManagementMilestone newObject)
 {
     unitOfWork.projectManagementMilestoneRepository.AddObject(newObject);
     this.processStatus = CreateProcessStatus.Insert;
     return(this as IFluentProjectManagementMilestone);
 }