public IEnumerable<Event> Handle(CreateInventoryItem cmd) { if (string.IsNullOrEmpty(cmd.Name)) throw new ArgumentException("Inventory item name cannot be null or empty"); if (name != null) throw new InvalidOperationException( string.Format("Inventory item with id {0} has been already created", Id)); yield return new InventoryItemCreated(cmd.Name); }
void IInventoryItemServiceInterface.Add(InventoryItem item) { var req = new CreateInventoryItem { AgentID = m_ViewerCircuit.AgentID, SessionID = m_ViewerCircuit.SessionID, CallbackID = 0, FolderID = item.ParentFolderID, TransactionID = UUID.Zero, NextOwnerMask = item.Permissions.NextOwner, AssetType = item.AssetType, InvType = item.InventoryType, WearableType = (WearableType)(item.Flags & InventoryFlags.WearablesTypeMask), Name = item.Name, Description = item.Description }; m_ViewerCircuit.SendMessage(req); }
public async Task Duplicate_CreateInventoryItem_Exception() { InventoryItemDto item = new InventoryItemDto() { Id = Guid.NewGuid(), LastEventTimestamp = DateTime.UtcNow, Name = "Duplicat CreateInventoryItem for AggregateId", IsActive = false, Count = 0, Note = "" }; CreateInventoryItem itemEvent = new CreateInventoryItem(item); // First CreateInventoryItem for the test await InvokeInventoryCommandHandler().Handle(itemEvent); // Keep the same AggregateId, but set a new time to meet Db unique constraint item.LastEventTimestamp = DateTime.UtcNow; itemEvent = new CreateInventoryItem(item); // Attempt to add another CreateInventoryItem for the test await InvokeInventoryCommandHandler().Handle(itemEvent); }
public async Task Handle(CreateInventoryItem message) { var item = new InventoryItem(message.InventoryItemId, message.Name); await _repository.Save(item); }
// 创建事件处理 public void Handle(CreateInventoryItem message) { var item = new InventoryItem(message.InventoryItemId, message.Name); _repository.Save(item, -1); }
public void Handle(CreateInventoryItem command) { var aggregate = new InventoryAggregateRoot(command.Id, command.Name); _eventStore.Save(aggregate.Id, aggregate.GetUncommittedChanges(), -1); }
public void Handle(CreateInventoryItem command) { var aggregate = new InventoryAggregateRoot(command.Id, command.Name); _eventStore.Save(aggregate, -1); }
public void Handle(CreateInventoryItem message) { var item = new InventoryItem(message.InventoryItemId, message.Name); _repository.Save(item, -1); }