/// <summary> /// saving product object /// </summary> /// <param name="product">product object</param> /// <returns>saved product object</returns> public Domain.Products.Model.Product SaveProduct(Domain.Products.Model.Product product) { _breadShopDatabaseContext.Database.EnsureCreated(); _breadShopDatabaseContext.Products.Add(product); _breadShopDatabaseContext.SaveChanges(); return(product); }
/// <summary> /// get product details by id /// </summary> /// <param name="id">product id</param> /// <returns>product details</returns> /// <returns>product details</returns> public Domain.Products.Model.Product GetProductById(int id) { Domain.Products.Model.Product product = _breadShopDatabaseContext.Products.Find(id); if (product == null) { throw new InvalidOperationException(); } return(product); }
/// <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> /// updating product object /// </summary> /// <param name="productDto">product object that want to update.</param> public void UpdateProduct(ProductDto productDto) { ProductValidator validator = new ProductValidator(); bool isValid = validator.IsPutValid(productDto); ProductMapper modelMapper = new ProductMapper(); Domain.Products.Model.Product product = modelMapper.ProductEntityFrom(productDto); if (!isValid || product == null) { throw new InvalidOperationException(); } this._productRepository.UpdateProduct(product); }
/// <summary> /// get product details by id. /// </summary> /// <param name="id">product id</param> /// <returns></returns> public ProductDto GetProductById(int id) { Domain.Products.Model.Product product = _productRepository.GetProductById(id); if (product == null) { throw new InvalidOperationException(); } ProductMapper modelMapper = new ProductMapper(); ProductDto projectDto = modelMapper.DtoFrom(product); return(projectDto); }
/// <summary> /// saving the product object /// </summary> /// <param name="productDto">product object that want to save</param> /// <returns></returns> public Domain.Products.Model.Product SaveProduct(ProductDto productDto) { ProductValidator validator = new ProductValidator(); bool isValid = validator.IsPostValid(productDto); ProductMapper modelMapper = new ProductMapper(); Domain.Products.Model.Product product = modelMapper.ProductEntityFrom(productDto); if (!isValid || product == null) { throw new NullReferenceException(); } Domain.Products.Model.Product result = _productRepository.SaveProduct(product); return(product); }
/// <summary> /// updating product object. /// </summary> /// <param name="product">product object that want to update.</param> public void UpdateProduct(Domain.Products.Model.Product product) { Domain.Products.Model.Product selectedProduct = _breadShopDatabaseContext.Products.Find(product.ProductId); if (selectedProduct != null) { selectedProduct.ProductName = product.ProductName; selectedProduct.Descriptions = product.Descriptions; selectedProduct.Ingrediants = product.Ingrediants; selectedProduct.Quantity = product.Quantity; selectedProduct.UpdatedOn = DateTime.Now; _breadShopDatabaseContext.SaveChanges(); } else { throw new InvalidOperationException(); } }