示例#1
0
        public ActionResult LoadAddPPItemsToPO(Guid poId, Guid?pdId = null)
        {
            PurchaseOrder   po    = poService.GetPurchaseOrderById(poId);
            ProjectDonor    pd    = pdId.HasValue ? orService.GetProjectDonorById(pdId.Value) : orService.GetProjectNosWithPP().FirstOrDefault();
            ProcurementPlan model = pd != null?ppService.GetProcurementPlanByProjectId(pd.Id) : null;

            if (model == null || !model.IsAuthorized)
            {
                model            = new ProcurementPlan();
                model.PPItemList = new List <ProcurementPlanItem>();
            }
            else
            {
                model.PPItemList = model.ProcurementPlanItems.Where(p => (p.Quantity - p.ProcuredAmount) > 0).OrderBy(p => p.Item.Name).ToList();
                foreach (ProcurementPlanItem ppItem in model.PPItemList)
                {
                    ppItem.UnitCost        = Math.Round(exchangeRateService.GetForeignCurrencyValue(po.CurrencyId, ppItem.CurrencyId, ppItem.UnitCost, countryProg.Id), 2);
                    ppItem.QuantityToOrder = ppItem.Quantity - ppItem.ProcuredAmount;
                    ppItem.TotalCost       = Math.Round((ppItem.UnitCost * ppItem.QuantityToOrder), 2);
                }
            }
            model.PurchaseOrderId = poId;
            model.ProjectId       = pd != null ? pd.ProjectId : Guid.Empty;
            model.Projects        = new SelectList(orService.GetProjectsWithPP(), "Id", "Name", pd != null ? pd.ProjectId : Guid.Empty);
            model.ProjectDonors   = new SelectList(orService.GetProjectNosWithPP(pd != null ? pd.ProjectId : Guid.Empty), "Id", "ProjectNumber", model.ProjectDonorId);
            return(View("AddPPItemsToPO", model));
        }
示例#2
0
        public ActionResult AddPPItems2OR(Guid pdId, Model.OrderRequest or)
        {
            ProcurementPlan model = ppService.GetProcurementPlanByProjectId(pdId);

            if (model == null)
            {
                return(Content("<i style=\"color: Red\">" + Resources.OrderRequestController_String_NoPPItems + "</i>", "text/html"));
            }
            model.PPItemList     = model.ProcurementPlanItems.Where(p => (p.Quantity - p.ProcuredAmount) > 0).OrderBy(p => p.Item.Name).ToList();
            model.OrderRequestId = or.Id;
            Currency orCurr = currencyService.GetCurrency(or.CurrencyId);

            foreach (ProcurementPlanItem ppItem in model.PPItemList)
            {
                ppItem.UnitCost        = Math.Round(exchangeRateService.GetForeignCurrencyValue(or.CurrencyId, ppItem.CurrencyId, ppItem.UnitCost, countryProg.Id), 2);
                ppItem.QuantityToOrder = ppItem.Quantity - ppItem.ProcuredAmount;
                ppItem.TotalCost       = Math.Round((ppItem.UnitCost * ppItem.QuantityToOrder), 2);
            }
            //model.PPItemList = model.ProcurementPlanItems.Where(p => !p.AddedToOR && p.IsApproved && !p.IsRemoved).OrderBy(p => p.Item.Name).ToList();
            ViewBag.Currency = orCurr.ShortName;
            return(View("AddPPItems2OR", model));
        }