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); }); }
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); }