public ActionResult Edit(int Id) { var UserId = User.Identity.GetUserId(); ViewBag.ListOutlet = new SelectList(EmployeeOutletDAL.GetDataByID(int.Parse(UserId)), "OutletID", "OutletName"); ViewBag.ListSupplier = new SelectList(SuppliersDAL.GetData(), "ID", "Name"); ListPurchaseOrderViewModel model = PurchaseOrderDAL.GetDataByIdPO(Id); return(PartialView("Edit", model)); }
public ActionResult Detail(ListPurchaseOrderViewModel model) { if (ModelState.IsValid) { using (POSContext context = new POSContext()) { using (var dbTransacyion = context.Database.BeginTransaction()) { int UserId = User.Identity.GetUserId <int>(); PurchaseOrder item = context.TPurchaseOrder.Where(m => m.ID == model.ID).FirstOrDefault(); item.StatusID = model.StatusID; item.ModifiedBy = UserId; item.ModifiedOn = DateTime.Now; context.SaveChanges(); PurchaseOrderHistory item2 = new PurchaseOrderHistory() { HeaderID = item.ID, StatusID = model.StatusID, CreatedBy = UserId, ModifiedBy = UserId, CreatedOn = DateTime.Now, ModifiedOn = DateTime.Now }; context.TPurchaseOrderHistory.Add(item2); context.SaveChanges(); if (model.StatusID == 2) { int i = 0; foreach (var data in model.VariantID) { int variantid = data; ItemsIventory item3 = context.TItemsIventory.Where(m => m.VariantID == variantid).FirstOrDefault(); item3.PurchaseOrder = model.Quantity[i]; i++; } context.SaveChanges(); } try { dbTransacyion.Commit(); return(RedirectToAction("Index")); } catch (Exception) { throw; } } } } return(PartialView("Detail", model)); }
public IEnumerable <ListPurchaseOrderViewModel> ListPurchaseOrder(DateTime fromDate, DateTime toDate) { IEnumerable <PurchaseOrderDetailViewModel> result = null; using (var context = new ArtileriDataContext(ConnectionString)) { var query = from poh in context.PurchaseOrderHeaders where poh.Date >= fromDate && poh.Date <= toDate select poh; foreach (var poHeader in query) { var model = new ListPurchaseOrderViewModel(); model.DocumentNo = poHeader.DocumentNo; model.SupplierName = poHeader.Supplier.Name; model.SupplierAddress = poHeader.Supplier.Address; model.DocumentDate = poHeader.Date; model.ExpectedDate = poHeader.ExpectedDate.GetValueOrDefault(); var detail = GetPurchaseOrderDetail(model.DocumentNo); model.DiscountValue = poHeader.DiscountValue; model.SubTotal = detail.Sum(pod => pod.Total); model.GrandTotal = model.SubTotal - model.DiscountValue; switch (poHeader.Status) { case "A": model.Status = "Approved"; break; case "O": model.Status = "Open"; break; case "C": model.Status = "Closed"; break; case "V": model.Status = "Void"; break; case "N": model.Status = "Not Approved"; break; } yield return(model); } } }
public static ListPurchaseOrderViewModel GetDataByIdPO(int id) { ListPurchaseOrderViewModel result = new ListPurchaseOrderViewModel(); using (POSContext context = new POSContext()) { result = (from op in context.TPurchaseOrder where op.ID == id select new ListPurchaseOrderViewModel() { ID = op.ID, SupplierID = op.SupplierID, StatusID = op.StatusID, Notes = op.Notes, OrderNo = op.OrderNo, OutletID = op.OutletID, CreatedBy = op.CreatedBy, CreatedOn = op.CreatedOn, }).FirstOrDefault(); PurchaseOrderViewModel employee = new PurchaseOrderViewModel(); employee = (from op in context.TPurchaseOrder join us in context.TUser on op.CreatedBy equals us.Id join ep in context.TEmployee on us.Email equals ep.Email where op.ID == id select new PurchaseOrderViewModel() { fullname = ep.FirstName + " " + ep.LastName, email = ep.Email }).FirstOrDefault(); result.PurchaseOrder = employee; SuppliersViewModel supplier = new SuppliersViewModel(); supplier = (from op in context.TPurchaseOrder join sp in context.TSuppliers on op.SupplierID equals sp.ID join p in context.TProvince on sp.ProvinceID equals p.ID join r in context.TRegion on sp.RegionID equals r.ID join d in context.TDistrict on sp.DistrictID equals d.ID where op.ID == id select new SuppliersViewModel() { ID = sp.ID, Address = sp.Address, RegionName = r.RegionName, RegionID = sp.RegionID, ProvinceName = p.ProvinceName, ProvinceID = sp.ProvinceID, Phone = sp.Phone, PostalCode = sp.PostalCode, DistrictName = d.DistrictName, DistrictID = sp.DistrictID, Email = sp.Email, Name = sp.Name }).FirstOrDefault(); result.Supplier = supplier; OutletViewModel outlet = new OutletViewModel(); outlet = (from op in context.TPurchaseOrder join ot in context.TOutlet on op.OutletID equals ot.ID join p in context.TProvince on ot.ProvinceID equals p.ID join r in context.TRegion on ot.RegionID equals r.ID where op.ID == id select new OutletViewModel() { ID = ot.ID, OutletName = ot.OutletName, Phone = ot.Phone, FullAddress = ot.Address + ", " + p.ProvinceName + ", " + r.RegionName + ", " + ot.PostalCode }).FirstOrDefault(); result.Outlet = outlet; List <PurchaseOrderDetailsViewModel> purchaseorderdetail = new List <PurchaseOrderDetailsViewModel>(); purchaseorderdetail = (from pod in context.TPurchaseOrderDetail join ii in context.TItemsIventory on pod.VariantID equals ii.VariantID join iv in context.TItemsVariant on pod.VariantID equals iv.ID where pod.HeaderID == id select new PurchaseOrderDetailsViewModel { ID = pod.ID, VariantID = pod.VariantID, VarianName = iv.VariantName, InStok = ii.Beginning, Quantity = pod.Quantity, HeaderID = pod.HeaderID, UnitCost = pod.UnitCost, SubTotal = pod.SubTotal, CreatedBy = pod.CreatedBy, CreatedOn = pod.CreatedOn, ModifiedBy = pod.ModifiedBy, ModifiedOn = pod.ModifiedOn }).ToList(); result.PurchaseOrderDetail = purchaseorderdetail; } return(result); }
public ActionResult Edit(ListPurchaseOrderViewModel model) { if (ModelState.IsValid) { using (POSContext context = new POSContext()) { using (var dbTransaction = context.Database.BeginTransaction()) { int UserId = User.Identity.GetUserId <int>(); string OrderNo = PurchaseOrderDAL.OrderNo(); PurchaseOrder order = context.TPurchaseOrder.Where(m => m.ID == model.ID).FirstOrDefault(); if (order != null) { order.OutletID = model.OutletID; order.SupplierID = model.SupplierID; order.Notes = model.Notes; order.Total = model.Total; order.ModifiedBy = UserId; order.ModifiedOn = DateTime.Now; } context.SaveChanges(); int i = 0; foreach (var item in model.VariantID) { int POid = model.PODetailID[i]; PurchaseOrderDetail orderdetail = context.TPurchaseOrderDetail.Where(m => m.ID == POid).FirstOrDefault(); if (orderdetail != null) { orderdetail.HeaderID = order.ID; orderdetail.Quantity = model.Quantity[i]; orderdetail.SubTotal = model.SubTotal[i]; orderdetail.VariantID = item; orderdetail.UnitCost = model.UnitCost[i]; orderdetail.ModifiedBy = UserId; orderdetail.ModifiedOn = DateTime.Now; } else { PurchaseOrderDetail orderdetail2 = new PurchaseOrderDetail() { HeaderID = order.ID, Quantity = model.Quantity[i], SubTotal = model.SubTotal[i], VariantID = item, UnitCost = model.UnitCost[i], CreatedBy = UserId, CreatedOn = DateTime.Now, ModifiedBy = UserId, ModifiedOn = DateTime.Now }; context.TPurchaseOrderDetail.Add(orderdetail2); } i++; } context.SaveChanges(); try { dbTransaction.Commit(); return(RedirectToAction("Index")); } catch (Exception) { dbTransaction.Rollback(); } } } } return(PartialView("Edit", model)); }
public ActionResult Detail(int Id) { ListPurchaseOrderViewModel model = PurchaseOrderDAL.GetDataByIdPO(Id); return(PartialView("Detail", model)); }