Skip to content

Commit c28bc06

Browse files
VCST-2585: Migrate Inventory to Generic CRUD and Search (#128)
1 parent 0a75285 commit c28bc06

File tree

5 files changed

+19
-64
lines changed

5 files changed

+19
-64
lines changed

src/VirtoCommerce.CatalogCsvImportModule.Core/Extensions/InventorySearchServiceExtensions.cs

Lines changed: 0 additions & 56 deletions
This file was deleted.

src/VirtoCommerce.CatalogCsvImportModule.Core/VirtoCommerce.CatalogCsvImportModule.Core.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<PackageReference Include="ValueInjecter" Version="3.2.0" />
1717
<PackageReference Include="VirtoCommerce.AssetsModule.Core" Version="3.808.0" />
1818
<PackageReference Include="VirtoCommerce.CatalogModule.Core" Version="3.889.0" />
19-
<PackageReference Include="VirtoCommerce.InventoryModule.Core" Version="3.805.0" />
19+
<PackageReference Include="VirtoCommerce.InventoryModule.Core" Version="3.813.0" />
2020
<PackageReference Include="VirtoCommerce.Platform.Core" Version="3.895.0" />
2121
<PackageReference Include="VirtoCommerce.PricingModule.Core" Version="3.809.0" />
2222
</ItemGroup>

src/VirtoCommerce.CatalogCsvImportModule.Data/Services/CsvCatalogImporter.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public class CsvCatalogImporter(
3434
ISkuGenerator skuGenerator,
3535
IPriceService priceService,
3636
IInventoryService inventoryService,
37+
IInventorySearchService inventorySearchService,
3738
IFulfillmentCenterSearchService fulfillmentCenterSearchService,
3839
Func<ICatalogRepository> catalogRepositoryFactory,
3940
IPriceSearchService priceSearchService,
@@ -429,8 +430,10 @@ private async Task SaveProductInventories(IList<CsvProduct> csvProducts, Fulfill
429430
}
430431
}
431432

432-
var productIds = csvProducts.Select(x => x.Id).ToArray();
433-
var existingInventories = await inventoryService.GetProductsInventoryInfosAsync(productIds);
433+
var searchCriteria = AbstractTypeFactory<InventorySearchCriteria>.TryCreateInstance();
434+
searchCriteria.ProductIds = csvProducts.Select(x => x.Id).ToArray();
435+
436+
var existingInventories = await inventorySearchService.SearchAllNoCloneAsync(searchCriteria);
434437

435438
var inventories = csvProducts
436439
.Where(x => !string.IsNullOrEmpty(x.Inventory?.ProductId))

src/VirtoCommerce.CatalogCsvImportModule.Web/module.manifest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<dependency id="VirtoCommerce.Assets" version="3.808.0" />
1010
<dependency id="VirtoCommerce.Catalog" version="3.889.0" />
1111
<dependency id="VirtoCommerce.Core" version="3.821.0" />
12-
<dependency id="VirtoCommerce.Inventory" version="3.805.0" />
12+
<dependency id="VirtoCommerce.Inventory" version="3.813.0" />
1313
<dependency id="VirtoCommerce.Pricing" version="3.809.0" />
1414
<dependency id="VirtoCommerce.Store" version="3.818.0" />
1515
</dependencies>

tests/VirtoCommerce.CatalogCsvImportModule.Test/ImporterTests.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1690,16 +1690,23 @@ private CsvCatalogImporter GetImporter(IPropertyDictionaryItemService propertyDi
16901690
#region IInventoryService
16911691

16921692
var inventoryService = new Mock<IInventoryService>();
1693-
inventoryService
1694-
.Setup(x => x.GetProductsInventoryInfosAsync(It.IsAny<IEnumerable<string>>(), null))
1695-
.ReturnsAsync((IEnumerable<string> _, string _) => []);
16961693

16971694
inventoryService
1698-
.Setup(x => x.SaveChangesAsync(It.IsAny<IEnumerable<InventoryInfo>>()))
1695+
.Setup(x => x.SaveChangesAsync(It.IsAny<IList<InventoryInfo>>()))
16991696
.Callback((IEnumerable<InventoryInfo> _) => { });
17001697

17011698
#endregion
17021699

1700+
#region IInventorySearchService
1701+
1702+
var inventorySearchService = new Mock<IInventorySearchService>();
1703+
1704+
inventorySearchService
1705+
.Setup(x => x.SearchAsync(It.IsAny<InventorySearchCriteria>(), It.IsAny<bool>()))
1706+
.ReturnsAsync((InventorySearchCriteria _, bool _) => new InventoryInfoSearchResult());
1707+
1708+
#endregion
1709+
17031710
#region IPropertyDictionaryItemService
17041711

17051712
propertyDictionaryItemService ??= new Mock<IPropertyDictionaryItemService>().Object;
@@ -1746,6 +1753,7 @@ private CsvCatalogImporter GetImporter(IPropertyDictionaryItemService propertyDi
17461753
skuGeneratorService.Object,
17471754
pricingService.Object,
17481755
inventoryService.Object,
1756+
inventorySearchService.Object,
17491757
fulfillmentCenterSearchService.Object,
17501758
() => catalogRepository.Object,
17511759
pricingSearchService.Object,

0 commit comments

Comments
 (0)