public async Task HandleHandlesItemsCheckedInToInventory() { var repositoryMock = new Mock <IReadModelRepository <InventoryItemDetailsDto, Guid> >(); var hubMock = new Mock <InventoryHub>(); var itemsCheckedInToInventoryEvent = new ItemsCheckedInToInventory(_itemId, 5) { Version = _version, TimeStamp = _timeStamp }; hubMock.Setup(x => x.SendUpdateInventoryItemDetailMessage( _itemId, itemsCheckedInToInventoryEvent)) .Returns(Task.CompletedTask) .Verifiable(); repositoryMock.Setup(x => x.AddOrUpdate(It.Is <InventoryItemDetailsDto> (m => m.Name == _itemName && m.Version == 0 && m.Id == _itemId && m.CurrentCount == 10 && m.Timestamp == _timeStamp))) .Returns(Task.CompletedTask) .Verifiable(); repositoryMock.Setup(x => x.GetById(_itemId)) .ReturnsAsync(_searchResponseMock.Object); var target = GetTarget(repositoryMock, hubMock); await target.Handle(itemsCheckedInToInventoryEvent, new CancellationToken(false)); repositoryMock.Verify(); hubMock.Verify(); }
public void Handle(ItemsCheckedInToInventory message) { InventoryItemDetailsDto d = GetDetailsItem(message.Id); d.CurrentCount += message.Count; d.Version = message.Version; }
public void Handle(ItemsCheckedInToInventory message) { InventoryItemDetailsDto dto; if (ReadModelFacade.UseSqlDatabase) { using (var datastore = new SqlDatabase()) { if (datastore.Details.TryGetValue(message.Id, out dto)) { dto.CurrentCount += message.Count; dto.Version = message.Version; datastore.InventoryItemDetailsDtoStore.Update(dto); } } } else { if (InMemoryDatabase.Details.TryGetValue(message.Id, out dto)) { dto.CurrentCount += message.Count; dto.Version = message.Version; } } }
public void Handle(ItemsCheckedInToInventory message) { var dto = GetDetailsItem(message.Id); dto.CurrentCount += message.Count; dto.Version = message.Version; }
public void Handle(ItemsCheckedInToInventory @event) { var details = GetDetailsItem(@event.Id); details.CurrentCount += @event.Count; details.Version = @event.Version; }
public Task Handle(ItemsCheckedInToInventory message, CancellationToken token) { var dto = GetDetailsItem(message.Id); dto.CurrentCount += message.Count; dto.Version = message.Version; return(Task.CompletedTask); }
public Task HandleAsync(ItemsCheckedInToInventory message) { var dto = GetDetailsItem(message.Id); dto.CurrentCount += message.Count; dto.Version = message.Version; return(Task.FromResult(0)); }
private static InventoryItemStockView Map(ItemsCheckedInToInventory e, InventoryItemStockView v) { return(new InventoryItemStockView { IsActive = v.IsActive, Sku = v.Sku, Count = v.Count + e.Count, OverStockLimit = v.OverStockLimit }); }
public async Task HandleAsync(ItemsCheckedInToInventory message) { Console.WriteLine("ItemsCheckedInToInventory: " + message.Id); var item = await this.repository.GetByIdAsync(message.Id); item.Version = message.OriginalVersion; item.LastUpdatedAt = message.Timestamp; item.LastUpdatedById = message.OperatorId; item.CurrentCount += message.Count; await this.repository.UpdateAsync(item); await this.repository.UnitOfWork.CommitAsync(); }
/// <summary> /// Handles the specified message. /// </summary> /// <param name="message">The message.</param> /// <param name="token">The token.</param> /// <returns>A <see cref="Task" />.</returns> public async Task Handle(ItemsCheckedInToInventory message, CancellationToken token) { var itemQuery = await _database.GetById(message.Id); if (itemQuery.Documents.Any()) { var d = itemQuery.Documents.Single(); d.CurrentCount += message.Count; d.Timestamp = message.TimeStamp.DateTime; d.Version = message.Version; await _database.AddOrUpdate(d); // notify hub await _hub.SendUpdateInventoryListMessage(); } }
partial void OnHandle(ItemsCheckedInToInventory @event) { // Define Query ISingleResultQuery <InventoryItemQueryStrategy, InventoryItemEntity> query = QueryFactory.CreateNewSingleResultQuery <InventoryItemQueryStrategy, InventoryItemEntity>(); query.QueryStrategy.WithRsn(@event.Rsn); // Retrieve Data, but remember if no items exist, the value is null query = InventoryItemRepository.Retrieve(query, false); InventoryItemEntity inventoryItem = query.Result; // As a previous event will have created this instance we should throw an exception if it is not found. if (inventoryItem == null) { throw new NullReferenceException(string.Format("No entity was found by the id '{0}'", @event.Rsn)); } inventoryItem.CurrentCount += @event.Count; // Again, this MUST be an update as commented above. InventoryItemRepository.Update(inventoryItem); }
public void Handle(ItemsCheckedInToInventory message) { this.InventoryItemChanged(message); }
private void Apply(ItemsCheckedInToInventory e) { _count += e.Count; }
private static void Handle(InventoryItemStockView view, ItemsCheckedInToInventory notification, AdoNetTransactionUowProvider <TConnectionStringName> uowProvider) { uowProvider.Value.Connection.Update(Map(notification, view), uowProvider.Value); }
public void Handle(ItemsCheckedInToInventory message) { var a = _repository.FindOne <InventoryItemDetailsDto>(message.AggregateId); _repository.Update(message.AggregateId, Update <InventoryItemDetailsDto> .Inc(d => d.CurrentCount, message.Count).Set(d => d.Version, message.Version)); }
private void Apply(ItemsCheckedInToInventory e) { _itemsCheckedIn += e.ItemsCheckedIn; }
public void given_existing_item_when_receive_items_checked_in_then_expected_count_correct(ItemsCheckedInToInventory msg, int preCount, string name) { var repository = new Dictionary <Guid, InventoryItemDetailsDto>() { { msg.Id, new InventoryItemDetailsDto(msg.Id, name, preCount, 0) } }; var view = new InventoryItemDetailView(repository); view.Handle(msg); var item = view.Repository[msg.Id]; Assert.Equal(msg.Id, item.Id); var expectedCount = preCount + msg.Count; Assert.Equal(expectedCount, item.CurrentCount); }
public void Apply(ItemsCheckedInToInventory @event) { Count += @event.Count; }
public void Handle(ItemsCheckedInToInventory obj) { List.First(f => f.Id == obj.Id).CurrentCount++; }