Пример #1
0
        public async Task ShowStoreWare(ShowStoreWareAction showStoreWareAction)
        {
            var result = await DoCommand(async() => {
                var playerId = _account.PlayerId;

                var command = new ShowStoreWareCommand(playerId, showStoreWareAction.Id);
                await _bus.SendCommand(command);
            });
        }
Пример #2
0
        public async Task <Unit> Handle(ShowStoreWareCommand command, CancellationToken cancellationToken)
        {
            var playerId    = command.PlayerId;
            var storeWareId = command.StoreWareId;


            var player = await _playerDomainService.Get(playerId);

            if (player == null)
            {
                await _bus.RaiseEvent(new DomainNotification($"角色不存在!"));

                return(Unit.Value);
            }

            var storeWare = await _storeWareDomainService.Get(storeWareId);

            if (storeWare == null)
            {
                await _bus.RaiseEvent(new DomainNotification($"物品不存在!"));

                return(Unit.Value);
            }


            var ware = await _wareDomainService.Get(storeWare.WareId);

            if (ware == null)
            {
                await _bus.RaiseEvent(new DomainNotification($"物品不存在!"));

                return(Unit.Value);
            }

            var wareModel = _mapper.Map <StoreWareModel>(ware);

            wareModel.StoreWareId   = storeWare.Id;
            wareModel.Number        = storeWare.Number;
            wareModel.Price         = storeWare.Price;
            wareModel.OriginalPrice = storeWare.OriginalPrice;
            wareModel.PriceType     = storeWare.PriceType;
            wareModel.IsBind        = storeWare.IsBind;
            wareModel.PriceDesc     = storeWare.Price.ToMoney();

            await _mudProvider.ShowStoreWare(playerId, wareModel);

            return(Unit.Value);
        }