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 }); }