Esempio n. 1
0
        public async Task <IActionResult> Edit(int id, ProductSoldCreateViewModel vm)
        {
            if (id != vm.ProductSold.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                if (await _bll.ProductsSold.EditProductInSale(id, vm.ProductSold.ProductId, vm.ProductSold))
                {
                    return(RedirectToAction("Details", "Sales", new { id = vm.ProductSold.SaleId }));
                }

                var product = await _bll.Products.FindAsync(vm.ProductSold.ProductId);

                ModelState.AddModelError(string.Empty, "Cannot sell more than in stock! Current stock: " + product.Quantity);
            }

            vm.ProductSelectList = new SelectList(await _bll.Products.AllAsync(),
                                                  nameof(Product.Id), nameof(Product.ProductName));
            vm.SaleSelectList =
                new SelectList(await _bll.Sales.AllAsync(),
                               nameof(Sale.Id), nameof(Sale.Description));

            return(View(vm));
        }
Esempio n. 2
0
        // GET: ProductsSold/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var productSold = await _bll.ProductsSold.FindAsync(id);

            if (productSold == null)
            {
                return(NotFound());
            }

            var vm = new ProductSoldCreateViewModel()
            {
                ProductSold       = productSold,
                ProductSelectList = new SelectList(await _bll.Products.AllAsyncByShopAndInInventory(User.GetShopId()),
                                                   nameof(Product.Id), nameof(Product.ProductName)),
                SaleSelectList =
                    new SelectList(await _bll.Sales.AllAsyncByShopAndUserId(User.GetShopId(), User.GetUserId()),
                                   nameof(Sale.Id), nameof(Sale.Description))
            };

            return(View(vm));
        }
Esempio n. 3
0
        // GET: ProductsSold/Create
        public async Task <IActionResult> Create(int?id)
        {
            var vm = new ProductSoldCreateViewModel()
            {
                ProductSelectList = new SelectList(await _bll.Products.AllAsync(), nameof(Product.Id), nameof(Product.ProductName)),
                SaleSelectList    = new SelectList(await _bll.Sales.AllAsync(), nameof(Sale.Id), nameof(Sale.Description))
            };

            foreach (var sale in vm.SaleSelectList)
            {
                if (!sale.Value.Equals(id.ToString()))
                {
                    continue;
                }
                sale.Selected = true;
                break;
            }

            return(View(vm));
        }
Esempio n. 4
0
        public async Task <IActionResult> Create(ProductSoldCreateViewModel vm)
        {
            if (ModelState.IsValid)
            {
                if (await _bll.ProductsSold.AddProductToSale(vm.ProductSold.ProductId, vm.ProductSold))
                {
                    return(RedirectToAction("Index", "Sales"));
                }

                var product = await _bll.Products.FindAsync(vm.ProductSold.ProductId);

                ModelState.AddModelError(string.Empty,
                                         "Cannot sell more than in stock! Current stock: " + product.Quantity);
            }

            vm.ProductSelectList = new SelectList(await _bll.Products.AllAsync(),
                                                  nameof(Product.Id), nameof(Product.ProductName));
            vm.SaleSelectList =
                new SelectList(await _bll.Sales.AllAsync(),
                               nameof(Sale.Id), nameof(Sale.Description));

            return(View(vm));
        }