コード例 #1
0
ファイル: PingController.cs プロジェクト: Timyrlan/CrvService
        public async Task <ProcessWorldResponse> Get([FromBody] ProcessWorldRequest request)
        {
            try
            {
                var mapped = ToClientSideMapper.Map(request);
                var result = await CaravanServer.ProcessWorldAsync(mapped);

                var response = ToDtoMapper.Map(result);
                return(response);
            }
            catch (ProcessRequestException e)
            {
                var result = new ProcessWorldResponse
                {
                    Status = new ResponseStatus {
                        Code = (int)e.Code, ErrorMessage = e.Message
                    }
                };
                _logger.LogError(e, $"Error ProcessRequestException {GetType().Name} with request='{request.ToLog()}', response='{result.ToLog()}'");
                return(result);
            }
            catch (Exception e)
            {
                var result = new ProcessWorldResponse
                {
                    Status = new ResponseStatus {
                        Code = (int)ResponseStatusEnum.InernalError, ErrorMessage = e.Message
                    }
                };
                _logger.LogError(e, $"Error InternalServerError {GetType().Name} with request='{request.ToLog()}', response='{result.ToLog()}'");
                return(result);
            }
        }
コード例 #2
0
        public static IProcessWorldRequest Map(ProcessWorldRequest c)
        {
            var result = new ProcessWorldRequestClientSideEntity();

            result.WorldGuid                  = c.WorldGuid;
            result.Player                     = Map(c.Player);
            result.ClientCommands             = Map(c.ClientCommands);
            result.LastServerCommandProcessed = c.LastServerCommandProcessed;
            return(result);
        }