Ejemplo n.º 1
0
        private void processData(IEnumerable <BCJ.AnalysisItem> items, DataOP op, BCJ.ProjectDetail projectDetail)
        {
            if (items == null)
            {
                return;
            }

            foreach (var item in items)
            {
                item.ProjectDetailId = projectDetail.Id;

                item.Total = decimal.Multiply(Convert.ToDecimal(item.Quantity), item.Revenue);

                if (DataOP.AddNew == op)
                {
                    _analysisItemRepository.Add(item);
                }
                else if (DataOP.EDIT == op)
                {
                    _analysisItemRepository.Update(item);
                }
                else if (DataOP.DEL == op)
                {
                    var requestItem = _analysisItemRepository.GetById(item.Id);
                    _analysisItemRepository.Delete(requestItem);
                }
            }
        }
Ejemplo n.º 2
0
        protected override void TakeFormAction()
        {
            if (CurrentActivity().CurrAction.FormDataProcessing.IsSaveRequestData)
            {
                if (WorkflowInstance.ProjectDetail != null)
                {
                    BCJ.ProjectDetail projectDetail = WorkflowInstance.ProjectDetail;
                    bool isUpdate = false;
                    if (RequestHeader.Id > 0)
                    {
                        var project = _projectDetailRepository.GetByRequestHeader(RequestHeader.Id);
                        if (project != null)
                        {
                            project.CapexCategoryId            = projectDetail.CapexCategoryId;
                            project.ProjectName                = projectDetail.ProjectName;
                            project.Reference                  = projectDetail.Reference;
                            project.CoporationBranch           = projectDetail.CoporationBranch;
                            project.WhatToDo                   = projectDetail.WhatToDo;
                            project.WhyToDo                    = projectDetail.WhyToDo;
                            project.TotalAmount                = projectDetail.TotalAmount;
                            project.Arrangement                = projectDetail.Arrangement;
                            project.EstimateCapex              = projectDetail.EstimateCapex;
                            project.IncrementalNetContribution = projectDetail.IncrementalNetContribution;
                            project.IncrementalNetEbita        = projectDetail.IncrementalNetEbita;
                            project.PaybackYear                = projectDetail.PaybackYear;
                            project.OutlineBenefit             = projectDetail.OutlineBenefit;
                            project.Commencement               = projectDetail.Commencement;
                            project.Completion                 = projectDetail.Completion;
                            project.Alternative                = projectDetail.Alternative;
                            project.OutlineRisk                = projectDetail.OutlineRisk;
                            project.CapitalRequired            = projectDetail.CapitalRequired;

                            _projectDetailRepository.Update(project);
                            isUpdate = true;
                        }
                    }

                    if (!isUpdate)
                    {
                        WorkflowInstance.ProjectDetail.RequestHeader = RequestHeader;
                        _projectDetailRepository.Add(projectDetail);
                        _dataField.Add("BCJId", projectDetail.Id);
                    }


                    // Process transaction data for request items
                    processData(WorkflowInstance.AddRequestItems, DataOP.AddNew, projectDetail);
                    processData(WorkflowInstance.EditRequestItems, DataOP.EDIT, projectDetail);
                    processData(WorkflowInstance.DelRequestItems, DataOP.DEL, projectDetail);

                    processData(WorkflowInstance.AddAnalysisItems, DataOP.AddNew, projectDetail);
                    processData(WorkflowInstance.EditAnalysisItems, DataOP.EDIT, projectDetail);
                    processData(WorkflowInstance.DelAnalysisItems, DataOP.DEL, projectDetail);

                    // PO Processing
                    processData(WorkflowInstance.AddPurchaseOrderItems, DataOP.AddNew, RequestHeader.Id);
                    processData(WorkflowInstance.EditPurchaseOrderItems, DataOP.EDIT, RequestHeader.Id);
                    processData(WorkflowInstance.DelPurchaseOrderItems, DataOP.DEL, RequestHeader.Id);

                    //_dataField.Add("CorpBranch", projectDetail.CoporationBranch);
                }
                else
                {
                    throw new Exception("Project detail have no instance");
                }
            }
        }