public ActionResult FromOrder(AddFromOrder view) { var user = db.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefault(); if (ModelState.IsValid) { var response = MovementsHelper.SaleFromOrder(view.OrderId, User.Identity.Name); if (response.Succeeded) { var newView = new NewSaleView { OrderId = view.OrderId, CustomerId = response.CustomerId, Date = response.Date, Remarks = response.Remarks, Details = db.SaleDetailTmps.Where(sdt => sdt.UserName == User.Identity.Name).ToList(), }; //return PartialView(newView); TempData["model"] = newView; return(RedirectToAction("Create")); } ModelState.AddModelError(string.Empty, response.Message); } ViewBag.OrderId = new SelectList(CombosHelper.GetOrders(user.CompanyId), "OrderId", "OrderId"); return(PartialView()); }
public ActionResult Detalle() { var view = new NewSaleView { Details = db.SaleDetailBkps.Where(pdb => pdb.User == User.Identity.Name).ToList() }; view.Details.Reverse(); return(PartialView("Detalle", view)); }
// GET: Sales/Create public ActionResult Create() { ViewBag.CellarId = new SelectList(db.Cellars, "CellarId", "Description"); ViewBag.ClientId = new SelectList(db.Clients, "ClientId", "ComertialName"); ViewBag.AccountingDocumentId = new SelectList(db.AccountingDocuments, "AccountingDocumentId", "Description"); ViewBag.PaymentMethodId = new SelectList(db.PaymentMethods, "PaymentMethodId", "Description"); var view = new NewSaleView { Date = DateTime.Now, Details = db.SaleDetailBkps.Where(pdb => pdb.User == User.Identity.Name).ToList() }; return(View(view)); }
// GET: Sales/Create public ActionResult Create() { var user = db.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefault(); NewSaleView view = (NewSaleView)TempData["model"]; if (view == null) { view = new NewSaleView { Date = DateTime.Now, Details = db.SaleDetailTmps.Where(sdt => sdt.UserName == User.Identity.Name).ToList(), }; } ViewBag.CustomerId = new SelectList(CombosHelper.GetCustomers(user.CompanyId), "CustomerId", "FullName", view.CustomerId); ViewBag.WarehouseId = new SelectList(CombosHelper.GetWarehouses(user.CompanyId), "WarehouseId", "Name", view.WarehouseId); return(View(view)); }
public ActionResult Create(NewSaleView view) { if (ModelState.IsValid) { var response = MovementsHelper.NewSale(view, User.Identity.Name); if (response.Succeeded) { return(RedirectToAction("Index")); } ModelState.AddModelError(string.Empty, response.Message); } var user = db.Users.Where(u => u.UserName == User.Identity.Name).FirstOrDefault(); ViewBag.CustomerId = new SelectList(CombosHelper.GetCustomers(user.CompanyId), "CustomerId", "FullName"); ViewBag.WarehouseId = new SelectList(CombosHelper.GetWarehouses(user.CompanyId), "WarehouseId", "Name"); view.Details = db.SaleDetailTmps.Where(sdt => sdt.UserName == User.Identity.Name).ToList(); return(View(view)); }
public ActionResult Create(NewSaleView view) { if (ModelState.IsValid) { using (var transaction = db.Database.BeginTransaction()) { try { AccountingDocument dn = (from x in db.AccountingDocuments orderby x.InitialNumber descending select x).FirstOrDefault(); var docnumber = dn.InitialNumber + 1; var sale = new Sale { Datetime = view.Date, CellarId = view.CellarId, ClientId = view.ClientId, AccountingDocumentId = view.AccountingDocumentId, PaymentMethodId = view.PaymentMethodId, DocumentNumber = docnumber, }; db.Sales.Add(sale); db.SaveChanges(); var details = db.SaleDetailBkps.Where(pdb => pdb.User == User.Identity.Name).ToList(); foreach (var detail in details) { var saleDetail = new SaleDetail { SaleId = sale.SaleId, ProductId = detail.ProductId, Description = detail.Description, Price = detail.Price, Quantity = detail.Quantity, IVAPercentage = detail.IVAPercentage, DiscountRate = detail.DiscountRate }; db.SaleDetails.Add(saleDetail); db.SaleDetailBkps.Remove(detail); var status = true; if (status == true) { CellarProduct c = (from x in db.CellarProducts where x.ProductId == detail.ProductId select x).First(); c.Stock = c.Stock - detail.Quantity; db.SaveChanges(); } } db.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); ModelState.AddModelError(string.Empty, ex.Message); } } return(RedirectToAction("Index")); } ViewBag.CellarId = new SelectList(db.Cellars, "CellarId", "Description", view.CellarId); ViewBag.ClientId = new SelectList(db.Clients, "ClientId", "Cliente", view.ClientId); ViewBag.AccountingDocumentId = new SelectList(db.AccountingDocuments, "AccountingDocumentId", "Tipo de Documento", view.AccountingDocumentId); ViewBag.PaymentMethodId = new SelectList(db.PaymentMethods, "PaymentMethodId", "Metodo de Pago", view.PaymentMethodId); view.Details = db.SaleDetailBkps.Where(pdb => pdb.User == User.Identity.Name).ToList(); return(View(view)); }
public static Response NewSale(NewSaleView view, string userName) { using (var transaccion = db.Database.BeginTransaction()) { try { var user = db.Users.Where(u => u.UserName == userName).FirstOrDefault(); var sale = new Sale { CompanyId = user.CompanyId, CustomerId = view.CustomerId, Date = view.Date, Remarks = view.Remarks, StateId = DBHelper.GetState("Created", db), WarehouseId = view.WarehouseId, }; if (view.OrderId > 0) { var orderDetails = db.Orders.Where(o => o.OrderId == view.OrderId).FirstOrDefault(); if (orderDetails == null) { transaccion.Rollback(); return(new Response { Succeeded = false, Message = "Can not get the details of this order." }); } sale.OrderId = view.OrderId; sale.StateId = DBHelper.GetState("Invoiced", db); orderDetails.StateId = DBHelper.GetState("Invoiced", db); db.Entry(orderDetails).State = EntityState.Modified; db.Entry(sale).State = EntityState.Modified; //db.SaveChanges(); } db.Sales.Add(sale); db.SaveChanges(); var details = db.SaleDetailTmps.Where(sdt => sdt.UserName == userName).ToList(); foreach (var detail in details) { var saleDetail = new SaleDetail { Description = detail.Description, SaleId = sale.SaleId, Price = detail.Price, ProductId = detail.ProductId, Quantity = detail.Quantity, TaxRate = detail.TaxRate, }; db.SaleDetails.Add(saleDetail); db.SaleDetailTmps.Remove(detail); var inventory = db.Inventories.Where(i => i.WarehouseId == view.WarehouseId && i.ProductId == detail.ProductId).FirstOrDefault(); if (inventory == null) { inventory = new Inventory { WarehouseId = view.WarehouseId, ProductId = detail.ProductId, Stock = detail.Quantity, }; db.Inventories.Add(inventory); } else { inventory.Stock = inventory.Stock - detail.Quantity; db.Entry(inventory).State = EntityState.Modified; } db.SaveChanges(); } db.SaveChanges(); transaccion.Commit(); return(new Response { Succeeded = true }); } catch (Exception ex) { transaccion.Rollback(); if (ex.InnerException != null && ex.InnerException.InnerException != null) { return(new Response { Succeeded = false, Message = ex.InnerException.InnerException.Message }); } else if (ex.InnerException != null) { return(new Response { Succeeded = false, Message = ex.InnerException.Message }); } else { return(new Response { Succeeded = false, Message = ex.Message }); } } } }
private void OpenWindow(string windowName) { try { WindowName name = windowName.ConvertToWindowName(); Window window = null; switch (name) { case WindowName.NewSaleView: window = new NewSaleView(); break; case WindowName.CustomerView: window = new CustomerView(); break; case WindowName.NewPurchaseView: window = new NewPurchaseView(); break; case WindowName.SupplierView: window = new SupplierView(); break; case WindowName.SaleView: window = new SaleView(); break; case WindowName.PurchaseView: window = new PurchaseView(); break; case WindowName.ProductView: window = new ProductView(); break; case WindowName.ServiceView: window = new ServiceView(); break; case WindowName.ChargeView: window = new ChargeView(); break; case WindowName.SaleReportView: window = new SaleReportView(); break; case WindowName.PurchaseReportView: window = new PurchaseReportView(); break; case WindowName.ProductReportView: window = new ProductReportView(); break; } window?.ShowDialog(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }