private void ResetProductCost(ProductReceiveLineItem item) { var product = _unitOfWork.ProductcRepository.FindBy(s => s.ProductcId == item.ProductId).First(); product.UnitCost = _unitOfWork.ProductReceiveLineItemRepository.FindBy(x => x.ProductId == item.ProductId).LastOrDefault().UnitCost; _unitOfWork.ProductcRepository.Edit(product); }
void AddLineItemStock(ProductReceiveLineItem item, int branchId) { var stock = _unitOfWork.StockRepository.FindBy(x => x.BranchId == branchId && x.ProductcId == item.ProductId).SingleOrDefault(); if (stock == null) { stock = new Stock() { BranchId = branchId, ProductcId = item.ProductId, Quantity = item.Quantity, }; _unitOfWork.StockRepository.Add(stock); } else { stock.Quantity = stock.Quantity + item.Quantity; _unitOfWork.StockRepository.Edit(stock); } var product = _unitOfWork.ProductcRepository.FindBy(s => s.ProductcId == item.ProductId).First(); product.UnitCost = item.UnitCost; _unitOfWork.ProductcRepository.Edit(product); }
public bool AddProductReceiveLineItem(ProductReceive productReceive, ProductReceiveLineItem item) { _unitOfWork.ProductReceiveRepository.Edit(productReceive); AddLineItemStock(item, productReceive.BranchId); _unitOfWork.Save(); return(true); }
void SubtractLineItemStock(ProductReceiveLineItem item, int branchId) { var stock = _unitOfWork.StockRepository.FindBy(x => x.BranchId == branchId && x.ProductcId == item.ProductId).SingleOrDefault(); stock.Quantity = stock.Quantity - item.Quantity; _unitOfWork.StockRepository.Edit(stock); }
public bool DeleteProductReceiveLineItem(ProductReceive productReceive, ProductReceiveLineItem lineItem) { //_unitOfWork.ProductReceiveRepository.Edit(productReceive); _unitOfWork.ProductReceiveLineItemRepository.Delete(lineItem); SubtractLineItemStock(lineItem, productReceive.BranchId); _unitOfWork.Save(); return(true); }
public ActionResult AddLineItem([Bind(Include = "ProductReceiveId,Quantity,ProductId,UnitCost")] ProductReceiveLineItemViewModel productReceiveLineItemViewModel) { var productReceive = _productReceiveService.Get(t => t.ProductReceiveId == productReceiveLineItemViewModel.ProductReceiveId, null, "ProductReceiveLineItems").FirstOrDefault(); int exists = productReceive.ProductReceiveLineItems.Where(t => t.ProductId == productReceiveLineItemViewModel.ProductId).ToList().Count; if (exists > 0) { return(RedirectToAction("Create", "ProductReceives", new { id = productReceive.ProductReceiveId })); } var productReceiveLineItem = new ProductReceiveLineItem() { ProductId = productReceiveLineItemViewModel.ProductId, Quantity = productReceiveLineItemViewModel.Quantity, ProductReceiveId = productReceiveLineItemViewModel.ProductReceiveId, UnitCost = productReceiveLineItemViewModel.UnitCost, //_productService.FindById(productReceiveLineItemViewModel.ProductId).UnitCost }; productReceive.ProductReceiveLineItems.Add(productReceiveLineItem); _productReceiveService.AddProductReceiveLineItem(productReceive, productReceiveLineItem); return(RedirectToAction("Create", "ProductReceives", new { id = productReceive.ProductReceiveId })); }