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)); }
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)); }