Exemple #1
0
        // 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));
        }
Exemple #2
0
        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));
        }
Exemple #4
0
        // 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));
        }
Exemple #6
0
        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));
        }
Exemple #10
0
        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"));
        }
Exemple #12
0
        // 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));
        }
Exemple #13
0
        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));
        }