Ejemplo n.º 1
0
        /// <summary>
        /// Возвращает типизированное стандартное сообщение ответа.
        /// </summary>
        /// <typeparam name="T">Тип результата.</typeparam>
        /// <param name="request">Запрос на получение сообщения.</param>
        /// <param name="throwIfErrorMessage">
        /// Генерировать ли исключение при ошибке в сообщении.
        /// </param>
        /// <returns></returns>
        public ApiMessageResult <T> GetMessage <T>(
            ApiRequestMessage <T> request, bool throwIfErrorMessage = true)
        {
            WaitBeforeRequestIfNeeded();
            var response = _client.Execute <ApiMessageResult <T> >(request.Request);

            ThrowIfErrorResponse(response);

            if (response.Data == null)
            {
                throw new InvalidRequestException(
                          "Error retrieving response. Invalid message.",
                          response.Content);
            }

            if (throwIfErrorMessage)
            {
                ThrowIfErrorMessage(response.Data);
            }

            return(response.Data);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Возвращает булево значение результата.
 /// из стандартного сообщения ответа.
 /// </summary>
 /// <param name="request">Запрос на получение сообщения.</param>
 /// <returns></returns>
 public bool GetBoolResult(ApiRequestMessage <int> request)
 {
     return(GetMessageResult(request) > 0);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Возвращает типизованное значение результата
        /// из стандартного сообщения ответа.
        /// </summary>
        /// <typeparam name="T">Тип результата.</typeparam>
        /// <param name="request">Запрос на получение сообщения.</param>
        /// <returns></returns>
        public T GetMessageResult <T>(ApiRequestMessage <T> request)
        {
            var message = GetMessage(request);

            return(message.Result);
        }