Example #1
0
        public bool AddWarehouseItem([FromBody] WareHouseDepositRequest depositRequest)
        {
            var item = depositRequest.ItemInstance as IItemInstanceDto;

            item !.Id = Guid.NewGuid();
            _itemInstanceDao.InsertOrUpdate(ref item);
            var warehouse = new WarehouseDto
            {
                CharacterId = depositRequest.WarehouseType == WarehouseType.FamilyWareHouse ? null
                    : (long?)depositRequest.OwnerId,
                Id       = Guid.NewGuid(),
                FamilyId = depositRequest.WarehouseType == WarehouseType.FamilyWareHouse
                    ? (long?)depositRequest.OwnerId : null,
                Type = depositRequest.WarehouseType,
            };

            _warehouseDao.InsertOrUpdate(ref warehouse);
            var warehouseItem = new WarehouseItemDto
            {
                Slot           = depositRequest.Slot,
                Id             = Guid.NewGuid(),
                ItemInstanceId = item.Id,
                WarehouseId    = warehouse.Id
            };

            _warehouseItemDao.InsertOrUpdate(ref warehouseItem);
            return(true);
        }
Example #2
0
        public async Task <bool> AddWarehouseItemAsync([FromBody] WareHouseDepositRequest depositRequest)
        {
            var item = depositRequest.ItemInstance as IItemInstanceDto;

            item !.Id = Guid.NewGuid();
            item      = await _itemInstanceDao.TryInsertOrUpdateAsync(item).ConfigureAwait(true);

            var warehouse = new WarehouseDto
            {
                CharacterId = depositRequest.WarehouseType == WarehouseType.FamilyWareHouse ? null
                    : (long?)depositRequest.OwnerId,
                Id       = Guid.NewGuid(),
                FamilyId = depositRequest.WarehouseType == WarehouseType.FamilyWareHouse
                    ? (long?)depositRequest.OwnerId : null,
                Type = depositRequest.WarehouseType,
            };

            warehouse = await _warehouseDao.TryInsertOrUpdateAsync(warehouse).ConfigureAwait(true);

            var warehouseItem = new WarehouseItemDto
            {
                Slot           = depositRequest.Slot,
                Id             = Guid.NewGuid(),
                ItemInstanceId = item !.Id,
                WarehouseId    = warehouse.Id
            };
            await _warehouseItemDao.TryInsertOrUpdateAsync(warehouseItem).ConfigureAwait(true);

            return(true);
        }
    }
Example #3
0
 public Task <bool> AddWarehouseItemAsync([FromBody] WareHouseDepositRequest depositRequest) => _warehouseService.DepositItemAsync(depositRequest.OwnerId, depositRequest.WarehouseType, depositRequest.ItemInstance, depositRequest.Slot);