Exemplo n.º 1
0
        public TransferResponse CreateTransfer(TransferRequest request)
        {
            var losingWebsite  = _websiteRepository.GetByStoreId(request.FromStoreId);
            var gainingWebsite = _websiteRepository.GetByStoreId(request.ToStoreId);

            var availableToSell = _websiteInventoryRepository.GetAvailableToSellInventory(new InventorySearchFilter {
                SiteIds = new[] { losingWebsite.SiteId }
            });

            var updatedProducts =
                availableToSell
                .Concat(
                    availableToSell
                    .Select(
                        ats => new InventoryQuantity(ats.StoreId, ats.LocationId, ats.Product, -ats.QuantityOnHand, -ats.QuantityAvailableToSell)
                        )
                    ).ToList();

            _websiteInventoryRepository.UpdateAvailableInventory(updatedProducts);

            return(new TransferResponse {
                QuantitiesTransferred = null
            });
        }