Esempio n. 1
0
 public async Task Persist(IRegionStockAggregate regionStockAggregate)
 {
     if (string.IsNullOrEmpty(regionStockAggregate.Version))
     {
         await CreateRegionStock(RegionStockDocument.CreateFrom(regionStockAggregate));
     }
     else
     {
         await UpdateRegionStock(RegionStockDocument.CreateFrom(regionStockAggregate));
     }
 }
Esempio n. 2
0
 private void PublishRegionStockChanged(IRegionStockAggregate stockQuantityAggregate)
 {
     foreach (var regionStock in stockQuantityAggregate.RegionStocks)
     {
         if (regionStock.Status.IsChanged)
         {
             var regionStockStatusChanged = new RegionStockStatusChangedV1(regionStock.Region, stockQuantityAggregate.VariantId, (Contracts.StockStatus)regionStock.Status.Value, regionStock.Version);
             var brokeredMessage          = new BrokeredMessage(regionStockStatusChanged);
             brokeredMessage.TimeToLive = TimeSpan.FromMinutes(30);
             _stockQuantityTopicClient.Send(brokeredMessage);
         }
     }
 }
Esempio n. 3
0
 public static RegionStockDocument CreateFrom(IRegionStockAggregate stockQuantityAggregate)
 {
     return(new RegionStockDocument(stockQuantityAggregate.VariantId, stockQuantityAggregate.WarehouseAvailableStocks, stockQuantityAggregate.RegionStocks, stockQuantityAggregate.Version));
 }