public ReturnPurchaseViewModel(ReturnPurchase returnPurchase) : base(returnPurchase)
 {
     PurchaseId  = returnPurchase.Purchase.Id;
     ReturnItems = returnPurchase.ReturnItems.Select(pu => new PurchaseUnitViewModel(pu)).ToList();
     Reason      = returnPurchase.Reason;
     Comment     = returnPurchase.Comment;
 }
Ejemplo n.º 2
0
        public ActionResult ReturnPurchase(string purchaseItems)
        {
            var            result     = JsonConvert.DeserializeObject <List <ReturnViewModel> >(purchaseItems);
            ReturnPurchase temp       = new ReturnPurchase();
            StockInventry  stock      = new StockInventry();
            int            errorCount = 0;

            foreach (var pItems in result)
            {
                //Adding Product data in Purchase with DateWise
                Product p = ProductsService.Instance.GetProductInfo(pItems.ProductID);
                temp.ProductId   = p.Id;
                temp.Qty         = pItems.Quantity;
                temp.Date        = DateTime.Now;
                temp.BatchNo     = pItems.BatchNo;
                temp.TotalAmount = pItems.TotalAmount;
                ProductsService.Instance.ReturnPurchase(temp);
                if (ProductsService.Instance.CheckStockForProductReturn(temp))
                {
                    //Retruning Products from Stock
                    stock.ProductId   = pItems.ProductID;
                    stock.Price       = ProductsService.Instance.ProductPrice(pItems.ProductID);
                    stock.Stock       = pItems.Quantity;
                    stock.BatchNo     = pItems.BatchNo;
                    stock.TotalAmount = pItems.TotalAmount;
                    stock.Return      = pItems.Quantity;
                    StockService.Instance.ReturnStock(stock);
                }
                else
                {
                    errorCount++;
                }
            }
            return(Json(errorCount));
        }
 public void ReturnPurchase(ReturnPurchase product)
 {
     using (var context = new CBContext())
     {
         if (context.StockInventries.Any(x => x.ProductId == product.ProductId && x.BatchNo == product.BatchNo && x.Stock > product.Qty))
         {
             context.ReturnPurchases.Add(product);
             context.SaveChanges();
         }
     }
 }
 public bool CheckStockForProductReturn(ReturnPurchase product)
 {
     using (var context = new CBContext())
         if (context.StockInventries.Any(x => x.ProductId == product.ProductId && x.BatchNo == product.BatchNo && x.Stock > product.Qty))
         {
             return(true);
         }
         else
         {
             return(false);
         }
 }