public ActionResult Create(PaymentRequest request)
        {
            if (ModelState.IsValid)
            {
                   int BP_PR = _ApplicationSettingService.getPaymentRequestWorkflow();

                   if (BP_PR != 0)
                    {
                        BusinessProcessState createdstate = new BusinessProcessState
                        {
                            DatePerformed = DateTime.Now,
                            PerformedBy = "System",
                            Comment = "Created workflow for Payment Request"

                        };
                        //_PaymentRequestservice.Create(request);

                        BusinessProcess bp = _BusinessProcessService.CreateBusinessProcess(BP_PR,request.PaymentRequestID,
                                                                                           "PaymentRequest", createdstate);
                        request.BusinessProcessID = bp.BusinessProcessID;
                        request.RequestedDate = DateTime.Now;
                        _PaymentRequestservice.Create(request);
                        //_PaymentRequestservice.Update(request);
                        return RedirectToAction("Index");
                    }
                    ViewBag.ErrorMessage1 = "The workflow assosiated with Payment Request doesnot exist.";
                    ViewBag.ErrorMessage2 = "Please make sure the workflow is created and configured.";
                }
                LoadLookups();
                ModelState.AddModelError("Errors", @"Could not create Request Plan.");
                return View(request);
        }
Exemplo n.º 2
0
        /*
          BusinessProcessState createdstate = new BusinessProcessState
                        {
                            DatePerformed = DateTime.Now,
                            PerformedBy = "System",
                            Comment = "Created workflow for Payment Request"

                        };
                        _PaymentRequestservice.Create(request);

                        BusinessProcess bp = _BusinessProcessService.CreateBusinessProcess(BP_PR,request.PaymentRequestID,
                                                                                           "PaymentRequest", createdstate);
                        request.BusinessProcessID = bp.BusinessProcessID;
         */
        public BusinessProcess CreateBusinessProcessForObject(int templateID, int DocumentID, string DocumentType,bool save=false)
        {
            StateTemplate startingTemplate = _unitOfWork.StateTemplateRepository.FindBy(s => s.ParentProcessTemplateID == templateID && s.StateType == 0).Single();
            BusinessProcess bp = new BusinessProcess { ProcessTypeID = templateID, DocumentID = DocumentID, DocumentType = DocumentType };
            BusinessProcessState StartingState = new BusinessProcessState
            {
                DatePerformed = DateTime.Now,
                PerformedBy = "System",
                Comment = "Created workflow for" + DocumentType

            };
             _unitOfWork.BusinessProcessRepository.Add(bp);

            StartingState.ParentBusinessProcess = bp;
            StartingState.StateID = startingTemplate.StateTemplateID;

            _unitOfWork.BusinessProcessStateRepository.Add(StartingState);
            bp.CurrentStateID = StartingState.BusinessProcessStateID;

             //   _unitOfWork.BusinessProcessRepository.Edit(bp);
              //  PromotWorkflow(StartingState);

            if (save)
            {
                _unitOfWork.Save();

            }
            return bp;
        }
Exemplo n.º 3
0
 public bool Update(BusinessProcessState item)
 {
     if (item == null) return false;
     _unitOfWork.BusinessProcessStateRepository.Edit(item);
     _unitOfWork.Save();
     return true;
 }
Exemplo n.º 4
0
        public BusinessProcess CreateBusinessProcess(int templateID, int DocumentID, string DocumentType, BusinessProcessState StartingState)
        {
            StateTemplate startingTemplate=_unitOfWork.StateTemplateRepository.FindBy(s => s.ParentProcessTemplateID == templateID && s.StateType == 0).Single();
            BusinessProcess bp = new BusinessProcess { ProcessTypeID = templateID, DocumentID = DocumentID, DocumentType = DocumentType };
            Add(bp);
            StartingState.ParentBusinessProcessID = bp.BusinessProcessID;
            StartingState.StateID = startingTemplate.StateTemplateID;
            PromotWorkflow(StartingState);

            return bp;
        }
Exemplo n.º 5
0
 public BusinessProcess CreateBusinessProcess(int templateID, int documentID, string documentType, BusinessProcessState startingState)
 {
     var startingTemplate=_unitOfWork.StateTemplateRepository.FindBy(s => s.ParentProcessTemplateID == templateID && s.StateType == 0).FirstOrDefault();
     if (startingTemplate==null)
         return null;
     var bp = new BusinessProcess { ProcessTypeID = templateID, DocumentID = documentID, DocumentType = documentType };
     Add(bp);
     startingState.ParentBusinessProcessID = bp.BusinessProcessID;
     startingState.StateID = startingTemplate.StateTemplateID;
     PromotWorkflow(startingState);
     return bp;
 }
        public ActionResult Create(RegionalPSNPPlan regionalpsnpplan)
        {
            var planName = regionalpsnpplan.Plan.PlanName;
            var startDate = regionalpsnpplan.Plan.StartDate;
            var firstDayOfTheMonth = startDate.AddDays(1 - startDate.Day);
            var endDate = firstDayOfTheMonth.AddMonths(regionalpsnpplan.Duration).AddDays(-1);
            UserProfile user = _userProfileService.GetUser(User.Identity.Name);
             if (ModelState.IsValid)
                {

                        _regionalPSNPPlanService.AddPsnpPlan(planName, firstDayOfTheMonth, endDate);
                        var plan = _planService.Get(m => m.PlanName == planName,null,"Program").FirstOrDefault();
                         regionalpsnpplan.Plan = plan;

                         //check if this psnp plan exitsts for this year and Plan
                         var exists = plan != null && _regionalPSNPPlanService.DoesPsnpPlanExistForThisRegion(plan.PlanID, regionalpsnpplan.Year);

                         if (!exists)
                         {

                             int BP_PSNP = _ApplicationSettingService.getPSNPWorkflow();
                             if (BP_PSNP != 0)
                             {
                                 BusinessProcessState createdstate = new BusinessProcessState
                                 {
                                     DatePerformed = DateTime.Now,
                                     PerformedBy = "System",
                                     Comment = "Created workflow for PSNP Plan"

                                 };

                         var psnpPlan=  _regionalPSNPPlanService.CreatePsnpPlan(regionalpsnpplan.Year,regionalpsnpplan.Duration,regionalpsnpplan.RationID,regionalpsnpplan.StatusID,plan.PlanID,user.UserProfileID);
                        //_planService.ChangePlanStatus(regionalpsnpplan.PlanId);
                        BusinessProcess bp = _BusinessProcessService.CreateBusinessProcess(BP_PSNP,
                                                                                           regionalpsnpplan.
                                                                                               RegionalPSNPPlanID,
                                                                                           "PSNP", createdstate);
                        psnpPlan.StatusID = bp.BusinessProcessID;
                        _regionalPSNPPlanService.UpdateRegionalPSNPPlan(psnpPlan);
                        return RedirectToAction("Index");

                    }
                    ViewBag.ErrorMessage1 = "The workflow assosiated with PSNP planning doesnot exist.";
                    ViewBag.ErrorMessage2 = "Please make sure the workflow is created and configured.";
                }
                LoadLookups();
                ModelState.AddModelError("Errors", @"PSNP plan already made for this period and plan Name.");
                return View(regionalpsnpplan);
            }
            LoadLookups();

            return View(regionalpsnpplan);
        }
 public ActionResult Promote(BusinessProcessState st)
 {
     _BusinessProcessService.PromotWorkflow(st);
     return RedirectToAction("Index");
 }
Exemplo n.º 8
0
 public ActionResult Promote(BusinessProcessState st, int transporterID)
 {
     _businessProcessService.PromotWorkflow(st);
     return RedirectToAction("Cheques", "Cheque", new { Area = "Finance", transporterID });
 }
 public ActionResult Promote(BusinessProcessState st, int transporterID)
 {
     _BusinessProcessService.PromotWorkflow(st);
     return RedirectToAction("PaymentRequests", "TransporterPaymentRequest", new { Area = "Logistics", transporterID });
 }
Exemplo n.º 10
0
        public ActionResult Edit(BusinessProcessState st)
        {
            _BusinessProcessService.PromotWorkflow(st);
            BusinessProcess item = _BusinessProcessService.FindById(st.ParentBusinessProcessID);
            /*if (ModelState.IsValid)
            {

                item.CurrentStateID = st.StateID;
                _BusinessProcessService.Update(item);
                _BusinessProcessStateService.Add(st);
                return View(item);
              //  _BusinessProcessService.Update(item);
             //   return RedirectToAction("Index");
            }*/
            return View(item);
        }
        public ActionResult Multiplesubmission(List<TransporterPaymentRequestViewModel> transporterPaymentRequestViewModels,int transporterID)
        {
            var checkedPaymentRequests = transporterPaymentRequestViewModels.Where(m => m.Checked == true).ToList();
            BusinessProcessState processState;
            if (checkedPaymentRequests.Count>0)
            {
                foreach (var transporterPaymentRequestViewModel in checkedPaymentRequests)
                {
                    var parentBussinessProcessID = transporterPaymentRequestViewModel.BusinessProcess.CurrentState.
                        ParentBusinessProcessID;
                    processState = new BusinessProcessState()
                                       {
                                           DatePerformed = DateTime.Now,
                                           ParentBusinessProcessID =parentBussinessProcessID,
                                           PerformedBy =
                                               _userAccountService.GetUserInfo(HttpContext.User.Identity.Name).FirstName,
                                            StateID =_transporterPaymentRequestService.GetFinalState(parentBussinessProcessID)
                                               //transporterPaymentRequestViewModel.BusinessProcess.CurrentState.BaseStateTemplate.InitialStateFlowTemplates.FirstOrDefault().FinalStateID

                                       };

                    _BusinessProcessService.PromotWorkflow(processState);
                }
                return RedirectToAction("PaymentRequests", "TransporterPaymentRequest",
                                            new { Area = "Logistics", transporterID });
            }
            return RedirectToAction("PaymentRequests", "TransporterPaymentRequest",
                                            new { Area = "Logistics", transporterID });
        }
Exemplo n.º 12
0
 public bool Add(BusinessProcessState item)
 {
     _unitOfWork.BusinessProcessStateRepository.Add(item);
     _unitOfWork.Save();
     return true;
 }
        public ActionResult EditCollectiveChequeInfo(Models.TransporterChequeViewModel transporterChequeViewModel, int transporterID)
        {
            var paymentRequestList = (IEnumerable<Cats.Models.TransporterPaymentRequest>)_transporterPaymentRequestService
                        .Get(t => t.BusinessProcess.CurrentState.BaseStateTemplate.StateNo == 3, null, "BusinessProcess")
                        .OrderByDescending(t => t.TransporterPaymentRequestID);
            //var transporterChequeObj = _transporterChequeService.Get(t => t.TransporterChequeId == transporterChequeViewModel.TransporterChequeId).FirstOrDefault();
            if (paymentRequestList.Any())
            {
                var transporterChequeDetails = new List<TransporterChequeDetail>();
                foreach(var paymentRequest in paymentRequestList)
                {
                    var transporterChequeDetail = new TransporterChequeDetail
                                                      {
                                                          TransporterPaymentRequestID = paymentRequest.TransporterPaymentRequestID
                                                      };
                    transporterChequeDetails.Add(transporterChequeDetail);
                }
                var user = UserAccountHelper.GetUser(User.Identity.Name);
                var transporterChequeObj = new TransporterCheque()
                                                {
                                                    CheckNo = transporterChequeViewModel.CheckNo,
                                                    PaymentVoucherNo = transporterChequeViewModel.PaymentVoucherNo,
                                                    BankName = transporterChequeViewModel.BankName,
                                                    Amount = transporterChequeViewModel.Amount,
                                                    PreparedBy = user.UserProfileID,
                                                    Status = 1,
                                                    TransporterChequeDetails = transporterChequeDetails
                                                };

                int BP_PR = _applicationSettingService.getTransporterChequeWorkflow();
                if (BP_PR != 0)
                {
                    BusinessProcessState createdstate = new BusinessProcessState
                    {
                        DatePerformed = DateTime.Now,
                        PerformedBy = "System",
                        Comment = "Created workflow for Transporter Cheque"

                    };
                    //_PaymentRequestservice.Create(request);

                    BusinessProcess bp = _businessProcessService.CreateBusinessProcess(BP_PR, transporterChequeObj.TransporterChequeId,
                                                                                        "ValidatedPaymentRequest", createdstate);
                    transporterChequeObj.BusinessProcessID = bp.BusinessProcessID;
                    transporterChequeObj.IssueDate = DateTime.Now;
                    _transporterChequeService.AddTransporterCheque(transporterChequeObj);
                    foreach (var paymentRequest in paymentRequestList)
                    {
                        var currFlowTemplate = paymentRequest.BusinessProcess.CurrentState.BaseStateTemplate.InitialStateFlowTemplates.FirstOrDefault();
                        if (currFlowTemplate != null)
                        {
                            var state = new BusinessProcessState()
                                            {
                                                StateID = currFlowTemplate.FinalStateID,
                                                PerformedBy = user.FullName,
                                                Comment = "Finance: Batch generated cheque for the payment request",
                                                DatePerformed = DateTime.Now,
                                                ParentBusinessProcessID = paymentRequest.BusinessProcess.CurrentState.ParentBusinessProcessID
                                            };
                            var item = _businessProcessService.FindById(state.ParentBusinessProcessID);
                            _businessProcessStateService.Add(state);
                            item.CurrentStateID = state.BusinessProcessStateID;
                            _businessProcessService.Update(item);
                        }
                    }
                }
            }
            return RedirectToAction("Cheques", "Cheque", new { Area = "Finance", transporterID });
        }
 public ActionResult Promote(BusinessProcessState st, int PaymentRequestID)
 {
     _businessProcessService.PromotWorkflow(st);
     var transporterChequeObj = _transporterChequeService.Get(t => t.PaymentRequestID == PaymentRequestID).FirstOrDefault();
     if (transporterChequeObj != null)
     {
         if (st.StateID == (int)Cats.Models.Constant.StateTemplate.ChequeApproved)
         {
             transporterChequeObj.AppovedBy = UserAccountHelper.GetUser(User.Identity.Name).UserProfileID;
             transporterChequeObj.AppovedDate = DateTime.Now;
         }
     }
     return RedirectToAction("Index");
 }
Exemplo n.º 15
0
 public ActionResult Promote(BusinessProcessState st)
 {
     loadLookups();
     BusinessProcess item = _BusinessProcessService.FindById(st.ParentBusinessProcessID);
     item.ProcessTypeID = st.StateID;
     _BusinessProcessService.Update(item);
     _BusinessProcessStateService.Add(st);
     return View();
 }
Exemplo n.º 16
0
        public bool PromotWorkflow(BusinessProcessState state)
        {
            BusinessProcess item = this.FindById(state.ParentBusinessProcessID);
            if(item!=null)
            {

                _unitOfWork.BusinessProcessStateRepository.Add(state);
                _unitOfWork.Save();
                item.CurrentStateID = state.BusinessProcessStateID;
                _unitOfWork.BusinessProcessRepository.Edit(item);
                _unitOfWork.Save();

                return true;
            }
            return false;
        }
Exemplo n.º 17
0
 public bool CheckPlanBeforeReject(BusinessProcessState st)
 {
     var state =
          _unitOfWork.StateTemplateRepository.FindBy(s => s.StateTemplateID == st.StateID).FirstOrDefault();
      return state != null && state.Name == "Rejected";
 }
Exemplo n.º 18
0
        public ActionResult Create(RegionalPSNPPlan regionalpsnpplan)
        {
            //regionalpsnpplan.StatusID = 1;

            //check if this psnp plan exitsts for this region
            var exists = _regionalPSNPPlanService.DoesPsnpPlanExistForThisRegion(regionalpsnpplan.PlanId);

             if (ModelState.IsValid)
                {
                    if (!exists)
                    {

                    int BP_PSNP = _ApplicationSettingService.getPSNPWorkflow();
                    if (BP_PSNP != 0)
                    {
                        BusinessProcessState createdstate = new BusinessProcessState
                                                                {
                                                                    DatePerformed = DateTime.Now,
                                                                    PerformedBy = "System",
                                                                    Comment = "Created workflow for PSNP Plan"

                                                                };
                        _regionalPSNPPlanService.AddRegionalPSNPPlan(regionalpsnpplan);
                       _planService.ChangePlanStatus(regionalpsnpplan.PlanId);
                        BusinessProcess bp = _BusinessProcessService.CreateBusinessProcess(BP_PSNP,
                                                                                           regionalpsnpplan.
                                                                                               RegionalPSNPPlanID,
                                                                                           "PSNP", createdstate);
                        regionalpsnpplan.StatusID = bp.BusinessProcessID;
                        _regionalPSNPPlanService.UpdateRegionalPSNPPlan(regionalpsnpplan);
                        return RedirectToAction("Index");

                    }
                    ViewBag.ErrorMessage1 = "The workflow assosiated with PSNP planning doesnot exist.";
                    ViewBag.ErrorMessage2 = "Please make sure the workflow is created and configured.";
                }
                LoadLookups();
                ModelState.AddModelError("Errors", "PSNP plan already made for this period.");
                return View(regionalpsnpplan);
            }
            LoadLookups();

            return View(regionalpsnpplan);
        }
Exemplo n.º 19
0
        public ActionResult EditGRN(GRNViewModel delivery)
        {
            var originaldelivery = _deliveryService.Get(t => t.DispatchID == delivery.DispatchID, null,
                "FDP,FDP.AdminUnit,FDP.AdminUnit.AdminUnit2,FDP.AdminUnit.AdminUnit2.AdminUnit2,Hub").FirstOrDefault();
            var newdelivery = new Delivery();
            var deliveryDetail = new DeliveryDetail();
            if (originaldelivery != null)
            {
                newdelivery = _deliveryService.FindBy(t => t.DeliveryID == originaldelivery.DeliveryID).FirstOrDefault();
                TransporterPaymentRequest newTransportPaymentRequest = null;
                newTransportPaymentRequest = _transporterPaymentRequestService.FindBy(t => t.GIN == delivery.InvoiceNo).FirstOrDefault();

                if (newdelivery != null)
                {
                    newdelivery.DispatchID = delivery.DispatchID;
                    newdelivery.ReceivingNumber = delivery.ReceivingNumber;
                    newdelivery.WayBillNo = delivery.WayBillNo;
                    newdelivery.ReceivedBy = delivery.ReceivedBy;
                    newdelivery.ReceivedDate = delivery.ReceivedDate != null ? DateTime.Parse(delivery.ReceivedDate) : DateTime.Now;
                    newdelivery.DeliveryBy = delivery.DeliveryBy;
                    newdelivery.DeliveryDate = delivery.DeliveryDate != null ? DateTime.Parse(delivery.DeliveryDate) : DateTime.Now;
                    newdelivery.DocumentReceivedDate = delivery.DocumentReceivedDate != null ? DateTime.Parse(delivery.DocumentReceivedDate) : DateTime.Now;

                    _deliveryService.EditDelivery(newdelivery);

                    deliveryDetail =
                        _deliveryDetailService.Get(t => t.DeliveryID == newdelivery.DeliveryID, null,
                                                       "Commodity,Unit").FirstOrDefault();
                    if (deliveryDetail != null)
                    {
                        deliveryDetail.ReceivedQuantity = delivery.ReceivedQuantity.ToMetricTone(); //save it using MT
                        _deliveryDetailService.EditDeliveryDetail(deliveryDetail);

                    }
                    if(newTransportPaymentRequest!=null)
                    {
                        newTransportPaymentRequest.ReferenceNo = delivery.RefNo;
                        _transporterPaymentRequestService.EditTransporterPaymentRequest(newTransportPaymentRequest);
                    }

                }

            }
            else
            {
                var dispatch = _dispatchService.FindBy(t => t.DispatchID == delivery.DispatchID).FirstOrDefault();
                //newDelivery = new Delivery();
                newdelivery.DeliveryID = Guid.NewGuid();
                newdelivery.DispatchID = delivery.DispatchID;
                newdelivery.ReceivingNumber = delivery.ReceivingNumber;
                newdelivery.WayBillNo = delivery.WayBillNo;
                newdelivery.ReceivedBy = delivery.ReceivedBy;
                newdelivery.ReceivedDate = delivery.ReceivedDate != null ? DateTime.Parse(delivery.ReceivedDate) : DateTime.Now;
                newdelivery.DeliveryBy = delivery.DeliveryBy;
                newdelivery.DeliveryDate = delivery.DeliveryDate != null ? DateTime.Parse(delivery.DeliveryDate) : DateTime.Now;
                newdelivery.DocumentReceivedDate = delivery.DocumentReceivedDate != null ? DateTime.Parse(delivery.DocumentReceivedDate) : DateTime.Now;
                if (dispatch != null)
                {
                    var dispatchAllocation =
                        _dispatchAllocationService.FindBy(m => m.DispatchAllocationID == dispatch.DispatchAllocationID).
                            FirstOrDefault();
                    //if (dispatchAllocation != null && dispatchAllocation.ShippingInstructionID!=null)
                    //{
                    //    newdelivery.DonorID = _deliveryService.GetDonorID(dispatchAllocation.ShippingInstruction.Value);
                    //}
                    if (dispatch.DriverName != null)
                        newdelivery.DriverName = dispatch.DriverName;
                    //newDistribution.FDP = dispatch.FDP;
                    if (dispatch.FDPID != null)
                        newdelivery.FDPID = int.Parse(dispatch.FDPID.ToString());
                    //newDistribution.Hub = dispatch.Hub;
                    newdelivery.HubID = dispatch.HubID;
                    newdelivery.InvoiceNo = dispatch.GIN;
                    newdelivery.PlateNoPrimary = dispatch.PlateNo_Prime;
                    newdelivery.PlateNoTrailler = dispatch.PlateNo_Trailer;
                    newdelivery.RequisitionNo = dispatch.RequisitionNo;
                    newdelivery.TransporterID = dispatch.TransporterID;
                }
                //_deliveryService.AddDelivery(newdelivery);

                deliveryDetail.DeliveryDetailID = Guid.NewGuid();
                deliveryDetail.CommodityID = delivery.CommodityID;
                deliveryDetail.UnitID = delivery.UnitID;
                deliveryDetail.SentQuantity = delivery.SentQuantity.ToMetricTone();//save it using MT
                deliveryDetail.ReceivedQuantity = delivery.ReceivedQuantity.ToMetricTone();//save it using MT
                //deliveryDetail.Delivery.DeliveryBy = _commodityService.FindById(delivery.CommodityID);
                //deliveryDetail.Unit = _unitService.FindById(delivery.UnitID);
                newdelivery.DeliveryDetails = new List<DeliveryDetail> { deliveryDetail };
                _deliveryService.AddDelivery(newdelivery);

                var transporterPaymentRequest = new TransporterPaymentRequest();
                transporterPaymentRequest.ReferenceNo =  delivery.RefNo;
                transporterPaymentRequest.GIN = delivery.InvoiceNo;

                //var firstOrDefault = _transportOrderService.Get(t => t.TransporterID == newdelivery.TransporterID && t.StatusID >= 3).FirstOrDefault();
                var transportOrderId = delivery.TransportOrderID;
                if (transportOrderId != null)
                    transporterPaymentRequest.TransportOrderID = transportOrderId;

                transporterPaymentRequest.DeliveryID = newdelivery.DeliveryID;
                transporterPaymentRequest.ShortageBirr = (decimal)0.00;
                int BP_PR = _applicationSettingService.getPaymentRequestWorkflow();

                if (BP_PR != 0)
                {
                    BusinessProcessState createdstate = new BusinessProcessState
                    {
                        DatePerformed = DateTime.Now,
                        PerformedBy = "System",
                        Comment = "Created workflow for Payment Request"

                    };
                    //_PaymentRequestservice.Create(request);

                    BusinessProcess bp = _businessProcessService.CreateBusinessProcess(BP_PR, transporterPaymentRequest.TransporterPaymentRequestID,
                                                                                        "PaymentRequest", createdstate);
                    transporterPaymentRequest.BusinessProcessID = bp.BusinessProcessID;
                    transporterPaymentRequest.RequestedDate = DateTime.Now;
                    _transporterPaymentRequestService.AddTransporterPaymentRequest(transporterPaymentRequest);
                }
                ViewBag.ErrorMessage1 = "The workflow assosiated with Payment Request doesnot exist.";
                ViewBag.ErrorMessage2 = "Please make sure the workflow is created and configured.";
            }
            var deliveryViewModel = new GRNViewModel();
            if (newdelivery != null && deliveryDetail != null)
            {
                var deliveryWithFDP = _deliveryService.Get(t => t.DeliveryID == newdelivery.DeliveryID, null, "FDP").FirstOrDefault();
                deliveryViewModel = BindDeliveryViewModel(deliveryWithFDP);
                var deliveryDetailWithComodityUnit = _deliveryDetailService.Get(t => t.DeliveryDetailID == deliveryDetail.DeliveryDetailID, null, "Commodity,Unit").FirstOrDefault();
                if (deliveryDetailWithComodityUnit != null)
                {
                    deliveryViewModel.DeliveryID = deliveryDetailWithComodityUnit.DeliveryID;
                    deliveryViewModel.CommodityID = deliveryDetailWithComodityUnit.CommodityID;
                    deliveryViewModel.UnitID = deliveryDetailWithComodityUnit.UnitID;
                    deliveryViewModel.SentQuantity = deliveryDetailWithComodityUnit.SentQuantity;
                    deliveryViewModel.ReceivedQuantity = deliveryDetailWithComodityUnit.ReceivedQuantity;
                    deliveryViewModel.Commodity = deliveryDetailWithComodityUnit.Commodity.Name;
                    deliveryViewModel.Unit = deliveryDetailWithComodityUnit.Unit.Name;

                }
            }

            return Json(deliveryViewModel, JsonRequestBehavior.AllowGet);
            //return View("Dispatches", distributionViewModel);
        }
        public ActionResult Promote(BusinessProcessState st)
        {
            var isReject = _BusinessProcessService.CheckPlanBeforeReject(st);
            if (isReject)
            {

            }
            _BusinessProcessService.PromotWorkflow(st);
            return RedirectToAction("Index");
        }