Exemplo n.º 1
0
        public async Task <IActionResult> ProcessAdd()
        {
            var  session          = HttpContext.Session;
            bool xisvalid         = true;
            int  quantityToReturn = 0;

            try
            {
                quantityToReturn = Int32.Parse(HttpContext.Request.Form["qty"].ToString());
            }
            catch
            {
                xisvalid = false;
            }
            SaleItem si = iSaleItem.GetSaleItem().Find(session.GetInt32("SOReturnItem"));

            if (si == null)
            {
                xisvalid = false;
            }
            else
            {
                int q = si.Quantity;
                if ((quantityToReturn < 1) || (quantityToReturn > q))
                {
                    xisvalid = false;
                }
            }
            if (xisvalid)
            {
                si.Quantity += quantityToReturn;
                inventoryService.GetById(si.ProductId).RestQuantity -= quantityToReturn;
                inventoryService.GetById(si.ProductId).SaleQuantity += quantityToReturn;
                si.TotalSI += si.Quantity;
                if (si.Quantity == 0)
                {
                    si.Returned = 1;
                }
                await iSaleItem.UpdateAsync(si);

                session.SetString("SOReturnError", "");
                return(RedirectToAction("Details", "Sale", new { id = si.SaleId }));
            }
            else
            {
                session.SetString("SOReturnError", "Dữ liệu có vấn đề");
                return(RedirectToAction("ReturnItem"));
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> ReturnTransaction(int?id)
        {
            SoWithItems     saleOrder       = GetOrderWithItems((int)id);
            ApplicationUser applicationUser = await _userManager.GetUserAsync(User);

            string userEmail = applicationUser?.Email;

            foreach (var item in saleOrder.ItemList)
            {
                var i = iSaleItem.GetSaleItem().FirstOrDefault(x => x.SaleItemId == item.SaleItemId);
                inventoryService.GetById(item.ProductId).RestQuantity += i.Quantity;
                i.Quantity     = 0;
                i.TotalSI      = 0;
                i.TotalSiPrice = 0;
                i.Returned     = 1;
                i.UpdatedBy    = userEmail;
                i.UpdatedDate  = DateTime.Now;
                await iSaleItem.UpdateAsync(i);
            }
            await iSaleService.Save();

            await iSaleItem.Save();

            return(RedirectToAction("TransactionLookup"));
        }