// GET: Sale/Create public ActionResult Create() { var customer = _context.Customers .Select(s => new SaleCreateViewModel() { CustomerId = s.Id, CustomerFullName = s.FirstName + " " + s.LastName }); var product = _context.Products .Select(s => new SaleCreateViewModel() { Productindex = s.Id, ProductName = s.ProductName, ProductFullDetail = s.ProductName + " , $" + s.Price }).ToList(); //var product = _context.Products.ToList(); var model = new SaleCreateViewModel() { SaleLineItems = sales }; model.CustomerSelectList = new SelectList(customer, "CustomerId", "CustomerFullName"); model.ProductSelectList = new SelectList(product, "Productindex", "ProductName"); return(View(model)); }
public async Task <IActionResult> NewSale(SaleCreateViewModel model) { var session = HttpContext.Session; if (ModelState.IsValid) { Sale sale = new Sale() { SaleDate = DateTime.Now, SaleId = model.SaleId, CustomerId = model.CustomerId, EmployeeId = model.EmployeeId }; await iSaleService.CreateAsync(sale); session.SetInt32("Current CustomerID", (int)sale.CustomerId); session.SetInt32("Current SaleID", sale.SaleId); return(RedirectToAction("Create", "SaleItem")); } ViewBag.CustomerID = new SelectList(iCustomerService.GetCustomers(), "CustomerId", "FullName", model.CustomerId); ViewBag.EmployeeID = new SelectList(iEmployeeService.GetEmployees().Where(x => !x.Designation.Contains("Speaker")), "Id", "DropdownStr", model.EmployeeId); return(View(model)); }
public async Task <IActionResult> Edit(int id, SaleCreateViewModel vm) { if (id != vm.Sale.Id) { return(NotFound()); } var sale = await _bll.Sales.FindAsync(id); if (User.GetUserId() != sale.AppUserId) { return(RedirectToAction(nameof(Index))); } if (ModelState.IsValid) { _bll.Sales.Update(vm.Sale); await _bll.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } vm.AppUserSelectList = new SelectList(await _bll.AppUsers.GetUserById(User.GetUserId()), nameof(AppUser.Id), nameof(AppUser.FirstLastName), vm.Sale.AppUserId); return(View(vm)); }
// GET: Sales/NewSale public IActionResult NewSale() { ViewBag.CustomerID = new SelectList(iCustomerService.GetCustomers(), "CustomerId", "FullName"); ViewBag.EmployeeID = new SelectList(iEmployeeService.GetEmployees().Include(x => x.Department).Where(x => !x.Department.Name.Contains("Diễn giả")), "Id", "DropdownStr"); var model = new SaleCreateViewModel(); return(View(model)); }
// GET: Sales/Create public async Task <IActionResult> Create() { var vm = new SaleCreateViewModel() { AppUserSelectList = new SelectList(await _bll.AppUsers.AllAsync(), nameof(AppUser.Id), nameof(AppUser.FirstLastName)) }; return(View(vm)); }
public async Task <IActionResult> Create(SaleCreateViewModel allSales) { try { if (ModelState.IsValid) { var sale = new SaleCreateDTO() { CusId = allSales.CusId, discount = allSales.discount, total = allSales.netTotal, netTotal = allSales.netTotal, paidAmount = allSales.paidAmount, returnAmount = allSales.returnAmount }; var saleDetails = new List <InventoryLibrary.Source.Dto.SaleDetail.SaleDetailCreateDTO>(); foreach (var data in allSales.SalesDetails) { var dto = new SaleDetailCreateDTO { ItemName = data.ItemName, Qty = data.Qty, Total = data.Total, Price = data.Price, ItemId = data.ItemId }; saleDetails.Add(dto); } sale.SaleDetails = saleDetails; var Sales = await _saleService.Create(sale).ConfigureAwait(true); _toastNotification.AddSuccessToastMessage("Successfully Created Sale!"); return(Json(Sales.SaleId)); } } catch (Exception ex) { _toastNotification.AddErrorToastMessage(ex.Message); } var saleView = new SaleIndexViewModel { customers = await _customerRepo.GetAllAsync().ConfigureAwait(true), items = (await _itemRepo.GetAllAsync().ConfigureAwait(true)).Where(a => a.IsActive()).ToList() }; return(View(saleView)); }
public async Task <ActionResult> Create(Sale sale) { if (sale.ManagerId == 0 || sale.ProductId == 0 || sale.CustomerId == 0) { ModelState.AddModelError("", "All fields must be filled"); return(View("Create", SaleCreateViewModel.Create())); } await Task.Run(() => SaleService.CreateSale(sale)); return(View("Index")); }
public async Task <ActionResult> Create() { var viewModel = new SaleCreateViewModel { Managers = await CreateManagerSelectList(), Customers = await CreateCustomerSelectList(), Products = await CreateProductSelectList() }; return(PartialView(viewModel)); }
public async Task <ActionResult> Edit(int id) { var viewModel = new SaleCreateViewModel { Managers = await CreateManagerSelectList(), Customers = await CreateCustomerSelectList(), Products = await CreateProductSelectList(), Sale = await Task.Run(() => SaleService.GetSale(id)) }; return(PartialView(viewModel)); }
public async Task <IActionResult> Create(SaleCreateViewModel vm) { if (ModelState.IsValid) { await _bll.Sales.AddAsync(vm.Sale); await _bll.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } vm.AppUserSelectList = new SelectList(await _bll.AppUsers.AllAsync(), nameof(AppUser.Id), nameof(AppUser.FirstLastName), vm.Sale.AppUserId); return(View(vm)); }
public async Task <ActionResult> Edit(Sale sale) { if (sale.ManagerId == 0 || sale.ProductId == 0 || sale.CustomerId == 0) { ModelState.AddModelError("", "All fields must be filled"); var model = SaleCreateViewModel.Create(); model.Sale = sale; return(View(model)); } await Task.Run(() => SaleService.EditSale(sale)); return(RedirectToAction("Index")); }
// GET: Sales/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var sale = await _bll.Sales.FindAsync(id); if (sale == null) { return(NotFound()); } var vm = new SaleCreateViewModel() { Sale = sale, AppUserSelectList = new SelectList(await _bll.AppUsers.AllAsync(), nameof(AppUser.Id), nameof(AppUser.FirstLastName), sale.AppUserId) }; return(View(vm)); }
public ActionResult Create(SaleCreateViewModel model) { if (ModelState.IsValid) { try { // TODO: Add insert logic here //_saleApplicationService.CreateSale(model.CustomerId, model.PaymentDate, model.Productindex, // model.Quantity); var list = new List <SaleLineItem>(); foreach (var item in sales) { var saleLineItem = new SaleLineItem() { ProductId = item.ProductId, Quantity = item.QTY, UnitPrice = item.Price }; list.Add(saleLineItem); } _saleApplicationService.CreateSale(model.CustomerId, model.PaymentDate, list); // reduce qty from product table foreach (var product1 in list) { var productqty = _context.Products.FirstOrDefault(p => p.Id == product1.ProductId); if (productqty != null) { productqty.CurrentQTY -= product1.Quantity; _context.SaveChanges(); } } sales = null; return(RedirectToAction("Index")); } catch (Exception ex) { ModelState.AddModelError("", ex); } } var customer = _context.Customers .Select(s => new SaleCreateViewModel() { CustomerId = s.Id, CustomerFullName = s.FirstName + " " + s.LastName }); var product = _context.Products .Select(s => new SaleCreateViewModel() { Productindex = s.Id, ProductName = s.ProductName, ProductFullDetail = s.ProductName + " , $" + s.Price }).ToList(); //model.CustomerSelectList = new SelectList(customer, "Id", "FirstName"); //model.ProductSelectList = new SelectList(product, "Id", "Name"); model.CustomerSelectList = new SelectList(customer, "CustomerId", "CustomerFullName"); model.ProductSelectList = new SelectList(product, "Productindex", "ProductName"); return(View(model)); }