Exemplo n.º 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 <IActionResult> DeleteProjectManagementWorkOrder([FromBody] ProjectManagementWorkOrderView view)
        {
            ProjectManagementWorkOrderModule invMod = new ProjectManagementWorkOrderModule();
            ProjectManagementWorkOrder       projectManagementWorkOrder = await invMod.ProjectManagementWorkOrder.Query().MapToEntity(view);

            invMod.ProjectManagementWorkOrder.DeleteProjectManagementWorkOrder(projectManagementWorkOrder).Apply();

            return(Ok(view));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> DeleteWorkOrder(long workOrderId)
        {
            ProjectManagementModule    pmMod     = new ProjectManagementModule();
            ProjectManagementWorkOrder workOrder = await pmMod.WorkOrder.Query().GetEntityById(workOrderId);

            ProjectManagementWorkOrderView view = await pmMod.WorkOrder.Query().MapToView(workOrder);

            pmMod.WorkOrder.DeleteProjectManagementWorkOrder(workOrder).Apply();
            return(Ok(view));
        }
Exemplo n.º 4
0
        public async Task TestAddUpdatDelete()
        {
            ProjectManagementWorkOrderModule ProjectManagementWorkOrderMod = new ProjectManagementWorkOrderModule();
            ProjectManagementProject         project = await ProjectManagementWorkOrderMod.Project.Query().GetEntityById(1);

            ChartOfAccount account = await ProjectManagementWorkOrderMod.ChartOfAccount.Query().GetEntityById(4);

            ProjectManagementWorkOrderView view = new ProjectManagementWorkOrderView()
            {
                Description        = "ProjectManagementWorkOrder Test",
                StartDate          = DateTime.Parse("12/19/2019"),
                EndDate            = DateTime.Parse("12/19/2019"),
                ActualAmount       = 30,
                ActualHours        = 1,
                EstimatedAmount    = 30,
                EstimatedHours     = 1,
                AccountNumber      = account.Account,
                AccountDescription = account.Description,
                SupCode            = account.SupCode,
                ThirdAccount       = account.ThirdAccount,
                Instructions       = "TestInstructions",
                ProjectId          = project.ProjectId,
                ProjectName        = project.ProjectName,
                Status             = "Open",
                Location           = "Test Location"
            };
            NextNumber nnNextNumber = await ProjectManagementWorkOrderMod.ProjectManagementWorkOrder.Query().GetNextNumber();

            view.WorkOrderNumber = nnNextNumber.NextNumberValue;

            ProjectManagementWorkOrder projectManagementWorkOrder = await ProjectManagementWorkOrderMod.ProjectManagementWorkOrder.Query().MapToEntity(view);

            ProjectManagementWorkOrderMod.ProjectManagementWorkOrder.AddProjectManagementWorkOrder(projectManagementWorkOrder).Apply();

            ProjectManagementWorkOrder newProjectManagementWorkOrder = await ProjectManagementWorkOrderMod.ProjectManagementWorkOrder.Query().GetEntityByNumber(view.WorkOrderNumber ?? 0);

            Assert.NotNull(newProjectManagementWorkOrder);

            newProjectManagementWorkOrder.Description = "ProjectManagementWorkOrder Test Update";

            ProjectManagementWorkOrderMod.ProjectManagementWorkOrder.UpdateProjectManagementWorkOrder(newProjectManagementWorkOrder).Apply();

            ProjectManagementWorkOrderView updateView = await ProjectManagementWorkOrderMod.ProjectManagementWorkOrder.Query().GetViewById(newProjectManagementWorkOrder.WorkOrderId);

            Assert.Same(updateView.Description, "ProjectManagementWorkOrder Test Update");
            ProjectManagementWorkOrderMod.ProjectManagementWorkOrder.DeleteProjectManagementWorkOrder(newProjectManagementWorkOrder).Apply();
            ProjectManagementWorkOrder lookupProjectManagementWorkOrder = await ProjectManagementWorkOrderMod.ProjectManagementWorkOrder.Query().GetEntityById(view.WorkOrderId);

            Assert.Null(lookupProjectManagementWorkOrder);
        }
        public async Task <IActionResult> AddProjectManagementWorkOrder([FromBody] ProjectManagementWorkOrderView view)
        {
            ProjectManagementWorkOrderModule invMod = new ProjectManagementWorkOrderModule();

            NextNumber nnProjectManagementWorkOrder = await invMod.ProjectManagementWorkOrder.Query().GetNextNumber();

            view.WorkOrderNumber = nnProjectManagementWorkOrder.NextNumberValue;

            ProjectManagementWorkOrder projectManagementWorkOrder = await invMod.ProjectManagementWorkOrder.Query().MapToEntity(view);

            invMod.ProjectManagementWorkOrder.AddProjectManagementWorkOrder(projectManagementWorkOrder).Apply();

            ProjectManagementWorkOrderView newView = await invMod.ProjectManagementWorkOrder.Query().GetViewByNumber(view.WorkOrderNumber ?? 0);


            return(Ok(newView));
        }
Exemplo n.º 6
0
        public async Task <IActionResult> CreateWorkOrder([FromBody] ProjectManagementWorkOrder newWorkOrder)
        {
            ProjectManagementModule pmMod = new ProjectManagementModule();

            NextNumber nnWorkOrder = await pmMod.WorkOrder.Query().GetNextNumber();

            newWorkOrder.WorkOrderNumber = nnWorkOrder.NextNumberValue;


            pmMod.WorkOrder.AddProjectManagementWorkOrder(newWorkOrder).Apply();

            ProjectManagementWorkOrder workOrder = await pmMod.WorkOrder.Query().GetEntityByNumber(nnWorkOrder.NextNumberValue);

            ProjectManagementWorkOrderView view = await pmMod.WorkOrder.Query().MapToView(workOrder);

            return(Ok(view));
        }
Exemplo n.º 7
0
        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();
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
 public IFluentProjectManagementWorkOrder DeleteProjectManagementWorkOrder(ProjectManagementWorkOrder deleteObject)
 {
     unitOfWork.projectManagementWorkOrderRepository.DeleteObject(deleteObject);
     this.processStatus = CreateProcessStatus.Delete;
     return(this as IFluentProjectManagementWorkOrder);
 }
Exemplo n.º 10
0
 public IFluentProjectManagementWorkOrder AddProjectManagementWorkOrder(ProjectManagementWorkOrder newObject)
 {
     unitOfWork.projectManagementWorkOrderRepository.AddObject(newObject);
     this.processStatus = CreateProcessStatus.Insert;
     return(this as IFluentProjectManagementWorkOrder);
 }