Exemplo n.º 1
0
        public async Task <GetPlayerByIdResponse> GetPlayerById(string id)
        {
            var playerId = _dataAgent.GetStringValue("playerId");

            if (!String.IsNullOrEmpty(playerId))
            {
                if (id == playerId)
                {
                    var playerById = _dataAgent.GetStringValue("playerById");

                    var result = JsonConvert.DeserializeObject <GetPlayerByIdResponse>(playerById);

                    return(result);
                }
                else
                {
                    var request = new GetPlayerByIdRequest(id);

                    var result = await _playerActor.Ask <GetPlayerByIdResponse>(request);

                    var playerById = JsonConvert.SerializeObject(result);

                    _dataAgent.SetStringValue("playerId", id);
                    _dataAgent.SetStringValue("playerById", playerById);

                    return(result);
                }
            }
            else
            {
                var request = new GetPlayerByIdRequest(id);

                var result = await _playerActor.Ask <GetPlayerByIdResponse>(request);

                var playerById = JsonConvert.SerializeObject(result);

                _dataAgent.SetStringValue("playerId", id);
                _dataAgent.SetStringValue("playerById", playerById);

                return(result);
            }
        }
Exemplo n.º 2
0
        private void Handle(GetPlayerByIdRequest request)
        {
            try
            {
                var config = new AutoMapper.MapperConfiguration(cfg =>
                {
                    cfg.CreateMap <Player, GetPlayerItem>();
                });

                var mapper = config.CreateMapper();

                var player = mapper.Map <GetPlayerItem>(_playerRepo.Get(request.Id));

                var response = new GetPlayerByIdResponse(player);
                Sender.Tell(response);

                _logger.Info("Get Player by Id: {0}", request.Id);
            }
            catch (Exception ex)
            {
                _logger.Error("Could't get Player by id: {0} : {1}", request.Id, ex.Message);
                throw;
            }
        }
Exemplo n.º 3
0
 public Task <IActionResult> GetPlayerById([FromRoute] GetPlayerByIdRequest request)
 {
     return(this.HandleRequest <GetPlayerByIdRequest, GetPlayerByIdResponse>(request));
 }