Exemplo n.º 1
0
        public async Task <IActionResult> Create(SaleItem saleItem)
        {
            if (ModelState.IsValid)
            {
                var SI  = saleItem;
                var inv = inventoryService.GetInventories().Find(SI.ProductId);
                SI.Inventory = inv;
                Sale s = iSaleService.GetSales().Find(HttpContext.Session.GetInt32("Current SaleID"));
                SI.Sale      = s;
                SI.ProductId = saleItem.ProductId;
                SI.Returned  = 0;
                SI.SaleId    = s.SaleId;
                SI.TotalSI  += SI.Quantity;
                if (SI.Inventory != null)
                {
                    inventoryService.GetById(SI.ProductId).RestQuantity -= SI.Quantity;
                    inventoryService.GetById(SI.ProductId).SaleQuantity += SI.Quantity;
                }
                if (inv != null)
                {
                    SI.TotalSiPrice += SI.Quantity * (double)inv.SalePrice;
                }
                await iSaleItem.CreateAsync(SI);

                return(RedirectToAction("Create", new { id = s.SaleId.ToString() }));
            }

            ViewBag.ProductID = new SelectList(inventoryService.GetInventories(), "ProductId", "DropdownStr", saleItem.ProductId);
            ViewBag.SaleID    = new SelectList(iSaleService.GetSales(), "SaleId", "SaleId", saleItem.SaleId);
            return(View(saleItem));
        }