public CustomPOViewModel ConfirmPurchaseOrder(List <PurchaseOrderViewModel> list) { HashSet <string> supType = new HashSet <string>(list.Select(x => x.SelectedSupplier)); Dictionary <string, string> POList = new Dictionary <string, string>(); foreach (string element in supType) { string date = DateTime.Today.ToString("ddMMyyyyhhmmss"); POList.Add(element, element + date); } for (int i = 0; i < list.Count; i++) { string supplier = list[i].SelectedSupplier; string itemId = list[i].ItemId; list[i].Price = db.SupplierQuotations.Where(x => (x.itemId == itemId) && (x.supplierId == supplier)).Select(x => x.price).First(); list[i].Amount = list[i].Price * list[i].SQuantity; foreach (KeyValuePair <string, string> pair in POList) { if (list[i].SelectedSupplier == pair.Key) { list[i].PoId = pair.Value; } } } CustomPOViewModel cpvm = new CustomPOViewModel(); { cpvm.Pvm = list; cpvm.PoList = POList; } return(cpvm); }
public void AddPurchaseOrder(CustomPOViewModel cpvm, HttpSessionStateBase session) { foreach (KeyValuePair <string, string> pair in cpvm.PoList) { PurchaseOrder po = new PurchaseOrder(); { po.poId = pair.Value; po.supplierId = pair.Key; po.storeClerk = session["EmployeeID"].ToString(); po.orderDate = DateTime.Today; po.remark = "Pending"; } db.PurchaseOrders.Add(po); db.SaveChanges(); } for (int i = 0; i < cpvm.Pvm.Count; i++) { PurchaseOrderDetail pod = new PurchaseOrderDetail(); { //pod.id is auto generated pod.poId = cpvm.Pvm[i].PoId; pod.itemId = cpvm.Pvm[i].ItemId; pod.quantity = cpvm.Pvm[i].SQuantity; pod.price = cpvm.Pvm[i].Price; } db.PurchaseOrderDetails.Add(pod); db.SaveChanges(); } }
public ActionResult ConfirmPurchaseOrder(CustomPOViewModel cpvm) { CustomPOViewModel cpo = (CustomPOViewModel)TempData["CustomPOViewModel"]; purchaseBizLogic.AddPurchaseOrder(cpo, Session); return(Redirect("PurchaseOrderList")); }
public ActionResult ConfirmPurchaseOrder() { List <PurchaseOrderViewModel> list = (List <PurchaseOrderViewModel>)TempData["Selected"]; CustomPOViewModel cpvm = purchaseBizLogic.ConfirmPurchaseOrder(list); TempData["CustomPOViewModel"] = cpvm; return(View(cpvm)); }