public async Task <IActionResult> Edit(short id, [Bind("ProcurementPlanID,Name,Description")] ProcurementPlan procurementPlan) { if (id != procurementPlan.ProcurementPlanID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(procurementPlan); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProcurementPlanExists(procurementPlan.ProcurementPlanID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(procurementPlan)); }
public ActionResult AddPPItems2OR(ProcurementPlan model) { Model.OrderRequest or = UserSession.CurrentSession.NewOR != null ? UserSession.CurrentSession.NewOR : orderRequestService.GetOrderRequestById(model.OrderRequestId); Model.OrderRequestItem orItem; ProcurementPlanItem ppItem; foreach (ProcurementPlanItem ppItemModel in model.PPItemList) { if (!ppItemModel.AddedToOR) { continue; } ppItem = ppService.GetProcurementPlanItemById(ppItemModel.Id); orItem = new OrderRequestItem(); orItem.BudgetLineId = ppItem.BudgetLineId; orItem.EstimatedUnitPrice = exchangeRateService.GetForeignCurrencyValue(or.CurrencyId, ppItem.CurrencyId, ppItemModel.UnitCost, countryProg.Id); orItem.EstimatedPrice = orItem.EstimatedUnitPrice * ppItemModel.QuantityToOrder; orItem.Quantity = ppItemModel.QuantityToOrder; orItem.ItemDescription = ppItem.ItemDescription; orItem.ItemId = ppItem.ItemId; orItem.OrderRequestId = model.OrderRequestId; orItem.ProcurementPlanItemId = ppItem.Id; orderRequestService.AddOrderRequstItem(orItem, UserSession.CurrentSession.NewOR); if (UserSession.CurrentSession.NewOR != null) { UserSession.CurrentSession.NewOR = null; } } return(ViewOrderRequestItems(model.OrderRequestId)); }
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 PPDetails(Guid Id) { ProcurementPlan model = ppService.GetProcurementPlanById(Id); model.PPItemList = model.ProcurementPlanItems.Where(p => !p.IsApproved).OrderBy(p => p.Item.Name).ToList(); return(View("CreatePPStep2", model)); }
public async Task <IActionResult> Create([Bind("ProcurementPlanID,Name,Description")] ProcurementPlan procurementPlan) { if (ModelState.IsValid) { _context.Add(procurementPlan); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(procurementPlan)); }
public ActionResult EditPP(Guid Id) { ProcurementPlan model = ppService.GetProcurementPlanById(Id); model.Projects = new SelectList(orService.GetProject(), "Id", "Name", model.ProjectId); model.ProjectDonors = new SelectList(orService.GetProjectNos(model.ProjectDonor.ProjectId), "Id", "ProjectNumber", model.ProjectDonorId); model.SubOffices = new SelectList(csoService.GetCountrySubOffices(countryProg.Id), "Id", "Name", model.PreparingOfficeId); ViewBag.FormHeader = Resources.ProcurementPlanController_String_EditProcurementPlan + " :: " + model.RefNumber; ViewBag.Donor = model.ProjectDonor.Donor.Name; return(View("CreatePP", model)); }
public ActionResult ViewPP(Guid id) { ProcurementPlan model = ppService.GetProcurementPlanById(id); model.CanApprove = notificationService.CanApprove(currentUser, NotificationHelper.ppCode, NotificationHelper.approvalCode, model.Id); model.CanApproveII = notificationService.CanApprove(currentUser, NotificationHelper.ppCode, NotificationHelper.approvalIICode, model.Id); model.CanReview = notificationService.CanApprove(currentUser, NotificationHelper.ppCode, NotificationHelper.reviewCode, model.Id); model.CanAuthorize = notificationService.CanApprove(currentUser, NotificationHelper.ppCode, NotificationHelper.authorizationCode, model.Id); model.PPItemList = model.ProcurementPlanItems.Where(p => p.IsAuthorized).OrderBy(p => p.Item.Name).ToList(); return(View("ViewPP", model)); }
public ActionResult SubmitPP(Guid id) { ProcurementPlan pp = ppService.GetProcurementPlanById(id); pp.IsSubmitted = true; pp.IsRejected = pp.IsApproved1 = pp.IsApproved2 = pp.IsAuthorized = pp.IsReviewed = false; pp.PreparedBy = currentStaff.Id; pp.PreparedOn = DateTime.Now; ppService.SaveProcurementPlan(pp); notificationService.SendToAppropriateApprover(NotificationHelper.ppCode, NotificationHelper.approvalCode, pp.Id); return(ViewPPList()); }
public ActionResult CreatePP() { ProcurementPlan model = new ProcurementPlan(); model.RefNumber = "--NEW PP--"; model.Projects = new SelectList(orService.GetProjectsWithoutPP(), "Id", "Name"); model.ProjectDonors = new SelectList(orService.GetProjectNosWithoutPP(Guid.Empty), "Id", "ProjectNumber"); model.SubOffices = new SelectList(csoService.GetCountrySubOffices(countryProg.Id), "Id", "Name"); model.PreparedOn = DateTime.Today; ViewBag.FormHeader = Resources.ProcurementPlanController_String_NewProcurementPlan; return(View("CreatePP", model)); }
public ActionResult CreatePPItem(Guid ppId) { ProcurementPlanItem model = new ProcurementPlanItem(); ProcurementPlan pp = ppService.GetProcurementPlanById(ppId); model.ProcurementPlanId = ppId; model.Items = new SelectList(orService.GetItems(), "Id", "Name"); model.BudgetLines = new SelectList(orService.GetProjectBugdetLines(pp.ProjectDonorId), "Id", "Description"); model.CurrencyId = countryProg.Country.CurrencyId.Value; model.Currencies = new SelectList(orService.GetCurrencies(), "Id", "ShortName", countryProg.Country.CurrencyId); ViewBag.Action = Resources.Global_String_AddItem; return(View("CreatePPItem", 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)); }
public int Update(ProcurementPlan procurementPlan) { return(ProcurementPlanRepository.Update(procurementPlan)); }
public int Insert(ProcurementPlan procurementPlan) { return(ProcurementPlanRepository.Insert(procurementPlan)); }
public ActionResult SaveProcPlan(ProcurementPlan model) { model.PreparedBy = currentStaff.Id; ppService.SaveProcurementPlan(model); return(PPDetails(model.Id)); }