示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
 public async Task Handle(CreateInventoryItem message)
 {
     var item = new InventoryItem(message.InventoryItemId, message.Name);
     await _repository.Save(item);
 }
示例#5
0
        // 创建事件处理
        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);
        }
示例#7
0
        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);
 }