/// <summary> /// saving stock object /// </summary> /// <param name="stock">stock object</param> /// <param name="products">product object</param> /// <returns>saved stock</returns> public Domain.Stock.Model.Stock SaveStock(Domain.Stock.Model.Stock stock, IList <Domain.Products.Model.Product> products) { foreach (Domain.Products.Model.Product product in products) { Domain.Products.Model.Product selectedProduct = _breadShopDatabaseContext.Products.Find(product.ProductId); selectedProduct.Quantity = selectedProduct.Quantity + product.Quantity; selectedProduct.UpdatedOn = DateTime.Now; } _breadShopDatabaseContext.Stocks.Add(stock); _breadShopDatabaseContext.SaveChanges(); return(stock); }
/// <summary> /// saving the stock object. /// </summary> /// <param name="stockDto">stock object that want to save.</param> /// <returns>saved stock object</returns> public Domain.Stock.Model.Stock SaveStock(StockDto stockDto) { StockValidator validator = new StockValidator(); bool isValid = validator.IsPostValid(stockDto); StockMapper modelMapper = new StockMapper(); Domain.Stock.Model.Stock stockEntity = modelMapper.EntityFrom(stockDto); if (!isValid || stockEntity == null) { throw new NullReferenceException(); } IList <Domain.Products.Model.Product> productEntities = modelMapper.ProductDtoFrom(stockDto); stockEntity.CreatedOn = DateTime.Now; Domain.Stock.Model.Stock result = this._stockRepository.SaveStock(stockEntity, productEntities); return(stockEntity); }