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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }