Beispiel #1
0
        public GatewayResponseBase GetGatewayResponse(AppName appName, int timeOutInMilliSeconds, string timeOutInMilliSecondsOptionLabel, string optionName)
        {
            var url = AppUrlHelper.GetUrl(appName);

            var gatewayResponse = new GatewayResponseBase();

            if (!string.IsNullOrEmpty(url))
            {
                var responseDto = GetRestResponse(url, timeOutInMilliSeconds, timeOutInMilliSecondsOptionLabel, optionName);

                if (!string.IsNullOrEmpty(responseDto.ErrorDetails))
                {
                    SetGatewayResponseFromErrorDetails(gatewayResponse, responseDto.ErrorDetails);
                }
                else
                {
                    try
                    {
                        switch (appName)
                        {
                        case AppName.Jeopardy:
                            gatewayResponse = ClientGatewayJeopardy.SetGatewayResponseFromRestResponse(responseDto.ResponseContent);
                            break;

                        case AppName.NumericTrivia:
                            gatewayResponse = ClientGatewayNumericTrivia.SetGatewayResponseFromRestResponse(responseDto.ResponseContent);
                            break;

                        case AppName.TrumpQuotes:
                            gatewayResponse = ClientGatewayTrumpQuotes.SetGatewayResponseFromRestResponse(responseDto.ResponseContent);
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        HandleUnexpectedError(ex, responseDto);
                        SetGatewayResponseFromErrorDetails(gatewayResponse, responseDto.ErrorDetails);
                    }
                }
            }

            return(gatewayResponse);
        }
Beispiel #2
0
 private void SetGatewayResponseFromErrorDetails(GatewayResponseBase gatewayResponse, string errorDetails)
 {
     gatewayResponse.ErrorDetails = errorDetails;
 }