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; }
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); } }