public ActionResult DeleteConfirmed(int id) { DeliveryOrderVM deliveryOrderVM = db.DeliveryOrderVMs.Find(id); db.DeliveryOrderVMs.Remove(deliveryOrderVM); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Create([Bind(Include = "ID,CreatedByStaffID,RepliedByStaffID,Comments,CreatedDate,ResponseDate,Status,PurchaseOrderID")] DeliveryOrderVM deliveryOrderVM) { if (ModelState.IsValid) { db.DeliveryOrderVMs.Add(deliveryOrderVM); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.CreatedByStaffID = new SelectList(db.Staffs, "ID", "UserAccountID", deliveryOrderVM.CreatedByStaffID); ViewBag.RepliedByStaffID = new SelectList(db.Staffs, "ID", "UserAccountID", deliveryOrderVM.RepliedByStaffID); return(View(deliveryOrderVM)); }
// GET: DeliveryOrders/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DeliveryOrderVM deliveryOrderVM = db.DeliveryOrderVMs.Find(id); if (deliveryOrderVM == null) { return(HttpNotFound()); } return(View(deliveryOrderVM)); }
// GET: DeliveryOrders/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DeliveryOrder deliveryOrder = uow.DeliveryOrderRepository.Get(filter: x => x.ID == id, includeProperties: "CreatedByStaff, DocumentItems.Item, PurchaseOrder").FirstOrDefault(); DeliveryOrderVM vm = new DeliveryOrderVM(deliveryOrder); if (vm == null) { return(HttpNotFound()); } return(View(vm)); }
// GET: DeliveryOrders/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PurchaseOrder PO = uow.PurchaseOrderRepository.GetByPurchaseOrderID(id); //If PO in progress create a form for the remainder items if (PO.Status.ToString() == "InProgress") { foreach (DeliveryOrder DO in PO.DeliveryOrders) { foreach (DocumentItem di in DO.DocumentItems) { foreach (PurchaseItem pi in PO.PurchaseItems) { if (pi.Tender.Item.ID == di.Item.ID) { pi.Qty = pi.Qty - di.Qty; } } } } } DeliveryOrderVM deliveryOrderVM = new DeliveryOrderVM(PO); if (deliveryOrderVM == null) { return(HttpNotFound()); } ViewBag.CreatedByStaffID = new SelectList(db.Staffs, "ID", "UserAccountID", deliveryOrderVM.CreatedByStaffID); ViewBag.RepliedByStaffID = new SelectList(db.Staffs, "ID", "UserAccountID", deliveryOrderVM.RepliedByStaffID); return(View(deliveryOrderVM)); }
public ActionResult Edit([Bind(Include = "ID, CreatedByStaffID, RepliedByStaffID, Comments, Supplier, CreatedDate, ResponseDate, Status, PurchaseOrderID, TransactionItems")] DeliveryOrderVM deliveryOrderVM, int?id) { //if (ModelState.IsValid) //{ List <DocumentItem> deliveredItems = new List <DocumentItem>(); List <TransactionItem> items = deliveryOrderVM.TransactionItems; //Check if Delivery Incomplete bool incomplete = false; foreach (TransactionItem ti in items) { if (ti.TakeOverQty < ti.HandOverQty) { incomplete = true; } DocumentItem di = new DocumentItem(ti, uow); if (di.Qty != 0) { deliveredItems.Add(di); } } //Update PurchaseOrder Status PurchaseOrder PO = uow.PurchaseOrderRepository.GetByPurchaseOrderID(id); if (incomplete) { Debug.WriteLine("Incomplete True"); PO.InProgress(); uow.PurchaseOrderRepository.Update(PO); uow.Save(); } else { Debug.WriteLine("Complete True"); PO.Completed(); uow.PurchaseOrderRepository.Update(PO); uow.Save(); } Staff currentUser = loginService.StaffFromSession; //Create DeliveryOrder DeliveryOrder deliveryOrder = new DeliveryOrder(currentUser, PO.Supplier, PO); deliveryOrder.DocumentItems = deliveredItems; bool result = uow.StockCardEntryRepository.ProcessDeliveryOrderAcceptance(deliveryOrder); //update inventory InventoryService inventoryService = new InventoryService(); foreach (DocumentItem di in deliveredItems) { inventoryService.UpdateInStoreQty(di.Item.ID); } if (result) { uow.DeliveryOrderRepository.Insert(deliveryOrder); uow.Save(); return(RedirectToAction("Index")); } else { ViewBag.CreatedByStaffID = new SelectList(db.Staffs, "ID", "UserAccountID", deliveryOrderVM.CreatedByStaffID); ViewBag.RepliedByStaffID = new SelectList(db.Staffs, "ID", "UserAccountID", deliveryOrderVM.RepliedByStaffID); return(View(deliveryOrderVM)); } //} //ViewBag.CreatedByStaffID = new SelectList(db.Staffs, "ID", "UserAccountID", deliveryOrderVM.CreatedByStaffID); //ViewBag.RepliedByStaffID = new SelectList(db.Staffs, "ID", "UserAccountID", deliveryOrderVM.RepliedByStaffID); //return View(deliveryOrderVM); }