public int CreatePO(StaffEF staff, PurchaseOrderFormDTO poForm) { PurchaseOrderEF po = new PurchaseOrderEF(); po.CreatedById = staff.StaffId; po.OrderDate = (long)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; po.DeliverByDate = (long)(poForm.SupplyItemBy.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; po.SupplierCode = poForm.SupplierId; po.DeliveryAddress = poForm.DeliveryAdd; po.Description = poForm.Description; po.Status = "Pending Delivery"; po.OrderId = purchaseEFF.FindLastPOId(); purchaseEFF.AddToPurchaseOrder(po); for (int i = 0; i < poForm.SupplierDetailIds.Count(); i++) { PurchaseOrderDetailsEF podet = new PurchaseOrderDetailsEF(); podet.OrderId = po.OrderId; podet.ItemCode = poForm.Icodes[i]; podet.QuantityOrdered = poForm.Quantities[i]; purchaseEFF.AddToPurchaseOrderDetails(podet); } return(po.OrderId); }
public ActionResult CreatePurchaseOrder(PurchaseOrderFormDTO po) { List <SupplierDetailsEF> supplierItems = new List <SupplierDetailsEF>(); List <SupplierEF> supplierList = purchaseService.FindAllSuppliers(); ViewData["supplierList"] = supplierList; ViewData["supplierItems"] = supplierItems; return(View(po)); }
public ActionResult CreatePurchaseOrder(string supplier, string choice, string items, PurchaseOrderFormDTO purOrder) { List <SupplierDetailsEF> supplierItems = new List <SupplierDetailsEF>(); List <SupplierEF> supplierList = purchaseService.FindAllSuppliers(); ViewData["supplierList"] = supplierList; StaffEF createdBy = staffService.GetStaff(); if (supplier == null) { supplierItems = null; } else { supplierItems = purchaseService.FindSupplierItems(supplier); } ViewData["supplier"] = supplier; ViewData["supplierItems"] = supplierItems; if (choice == "setSupplier") { if (supplier == supplierList[0].SupplierCode) { //do nothing when supplier is the same } else { //clear form. purOrder = new PurchaseOrderFormDTO(); } } if (choice == "Add Item") { SupplierDetailsEF newSD = null; bool isValid = false; foreach (var s in supplierItems) { if (items == s.SupplierDetailsId.ToString()) { newSD = s; isValid = true; } } if (purOrder.SupplierDetailIds.Count() > 0 && isValid == true) { foreach (var thing in purOrder.SupplierDetailIds) { if (thing == items) { isValid = false; } } } if (isValid == true) { purOrder.Icodes.Add(newSD.Stock.ItemCode); purOrder.Descs.Add(newSD.Stock.Description); purOrder.Uoms.Add(newSD.Stock.Uom); purOrder.Prices.Add(newSD.UnitPrice); purOrder.SupplierDetailIds.Add(newSD.SupplierDetailsId.ToString()); purOrder.Quantities.Add(1); purOrder.Remove.Add(false); } } if (choice == "CreatePO") { purOrder.SupplierId = supplierItems[0].SupplierCode; int newPOId = purchaseService.CreatePO(createdBy, purOrder); return(RedirectToAction("ViewPurchaseOrder", "ManagePurchase", new { purchaseOrderId = newPOId.ToString() })); } if (choice == "Remove") { for (int i = 0; i < purOrder.Remove.Count; i++) { if (purOrder.Remove[i] == true) { purOrder.Icodes.RemoveAt(i); purOrder.Descs.RemoveAt(i); purOrder.Uoms.RemoveAt(i); purOrder.Prices.RemoveAt(i); purOrder.SupplierDetailIds.RemoveAt(i); purOrder.Quantities.RemoveAt(i); purOrder.Remove.RemoveAt(i); i--; } } } return(View(purOrder)); }