public static externalDTO.ProductSold MapFromBLL(internalDTO.DomainLikeDTO.ProductSold productSold) { var res = productSold == null ? null : new externalDTO.ProductSold() { Id = productSold.Id, ProductId = productSold.ProductId, ProductSoldTime = productSold.ProductSoldTime, Quantity = productSold.Quantity, SaleId = productSold.SaleId }; return(res); }
public async Task <bool> AddProductToSale(int productId, ProductSold productSold) { var product = await Uow.Products.FindProductInfoAsync(productId); // subtract quantity (check if enough in stock) if (product.Quantity - productSold.Quantity < 0) { return(false); } product.Quantity -= productSold.Quantity; Uow.Products.Update(product); await Uow.ProductsSold.AddAsync(ProductSoldMapper.MapFromBLL(productSold)); await Uow.SaveChangesAsync(); return(true); }
public async Task <bool> EditProductInSale(int id, int productId, ProductSold productSold) { var product = await Uow.Products.FindProductInfoAsync(productId); var initialQuantity = await Uow.ProductsSold.GetQuantity(id); var quantityBeforeChange = product.Quantity + initialQuantity; if (quantityBeforeChange - productSold.Quantity < 0) { return(false); } product.Quantity = quantityBeforeChange - productSold.Quantity; Uow.Products.Update(product); Uow.ProductsSold.Update(ProductSoldMapper.MapFromBLL(productSold)); await Uow.SaveChangesAsync(); return(true); }