public async Task <ActionResult <string> > Get(int id)
        {
            /*
             * try {
             *  //using var p = new RequestResponsePair<GetConfigurationRequest, GetConfigurationResponse>();
             *  //var response2 = await p.ExecuteAsync(
             *  //    new GetConfigurationRequest(),
             *  //    this._MedaitorAccess,
             *  //    null,
             *  //    this.HttpContext.RequestAborted
             *  //    );
             *  var request = new GetConfigurationRequest();
             *  var medaitorAccess = this._MedaitorAccess;
             *  using var client = medaitorAccess.GetMedaitorClient();
             *  using var connected = await client.ConnectAsync(request, this.HttpContext.RequestAborted);
             *  var response = await connected.WaitForAsync(null, this.HttpContext.RequestAborted);
             *  return response.ConvertResponseToActionResult<GetConfigurationResponse, string>((r) => r.Result?.FirstOrDefault());
             * } catch (System.Exception error) {
             *  return this.StatusCode(500, error.Message);
             * }
             */
            var request = new GetConfigurationRequest();

            return(await RequestResponseHelper <GetConfigurationRequest, GetConfigurationResponse> .
                   ExecuteToActionResultAsync <string>(
                       this.GetMedaitorClient(),
                       ActivityId.NewId(),
                       request,
                       (r) => r.Result?.FirstOrDefault(),
                       null,
                       this.HttpContext.RequestAborted
                       ));
        }
        private RequestResponseHelper[] GetDefaultRequestResponseHelpers()
        {
            var requestResponseHelpers = new RequestResponseHelper[] {
                new RequestResponseHelper()
                {
                    RequestMessage  = new HttpRequestMessage(HttpMethod.Get, "https://dotnetcli.blob.core.windows.net/dotnet/Runtime/6.0.102/runtime-productVersion.txt"),
                    ResponseMessage = new HttpResponseMessage(HttpStatusCode.OK)
                    {
                        Content = new StringContent("6.0.102")
                    }
                },
                new RequestResponseHelper()
                {
                    RequestMessage  = new HttpRequestMessage(HttpMethod.Head, "https://dotnetcli.blob.core.windows.net/dotnet/Runtime/6.0.102/dotnet-runtime-6.0.102-win-x86.zip"),
                    ResponseMessage = new HttpResponseMessage(HttpStatusCode.NotFound)
                },
                new RequestResponseHelper()
                {
                    RequestMessage  = new HttpRequestMessage(HttpMethod.Get, "https://dotnetbuilds.blob.core.windows.net/public/Runtime/6.0.102/runtime-productVersion.txt"),
                    ResponseMessage = new HttpResponseMessage(HttpStatusCode.OK)
                    {
                        Content = new StringContent("6.0.102")
                    }
                },
                new RequestResponseHelper()
                {
                    RequestMessage  = new HttpRequestMessage(HttpMethod.Head, "https://dotnetbuilds.blob.core.windows.net/public/Runtime/6.0.102/dotnet-runtime-6.0.102-win-x86.zip"),
                    ResponseMessage = new HttpResponseMessage(HttpStatusCode.NotFound)
                }
            };

            return(requestResponseHelpers);
        }
示例#3
0
 public TR ProcessAPI <T, TR>(T serviceObj, out APIOutMessage msg) where T : class where TR : new()
 {
     try
     {
         _request.AddJsonBody(serviceObj);
         var apiResponse  = _client.Execute(_request);
         var responseCode = (int)apiResponse.StatusCode;
         msg.Code = responseCode;
         if (responseCode >= 200 && responseCode < 300)
         {
             var deserializedResponse = new RequestResponseHelper().Deserialize <TR>(apiResponse, null, out msg.TechMessage);
             if (deserializedResponse == null)
             {
                 msg.Message = "Unable to process response from the server. Please re-check your transaction status";
                 msg.Code    = -1;
                 return(default);
        public async Task <ActionResult <IEnumerable <string> > > Get()
        {
#if false
            try {
                var medaitorClient = this._MedaitorAccess.GetMedaitorClient();
                var arguments      = new GetConfigurationRequest();
                var ctxt           = medaitorClient.CreateContextByRequest(arguments);
                await medaitorClient.ExecuteAsync(ctxt, null, this.HttpContext.RequestAborted);

                return(ctxt.ReturnAsActionResult <IEnumerable <string> >());
            } catch (System.Exception error) {
                return(this.StatusCode(500, error.Message));
            }
            try {
                var request = new GetConfigurationRequest();
                using var client    = this._MedaitorAccess.GetMedaitorClient();
                using var connected = await client.ConnectAsync(request, this.HttpContext.RequestAborted);

                var response = await connected.WaitForAsync(null, this.HttpContext.RequestAborted);

                return(response.ConvertResponseToActionResult <GetConfigurationResponse, IEnumerable <string> >((r) => r.Result));
            } catch (System.Exception error) {
                return(this.StatusCode(500, error.Message));
            }
#endif
            var request = new GetConfigurationRequest();


            return(await RequestResponseHelper <GetConfigurationRequest, GetConfigurationResponse> .
                   ExecuteToActionResultAsync <IEnumerable <string> >(
                       this.GetMedaitorClient(),
                       ActivityId.NewId(),
                       request,
                       (r) => r.Result,
                       null, //ActivityWaitForSpecification.,
                       this.HttpContext.RequestAborted
                       ));
        }
示例#5
0
        public StationRespObj RemoteLogin(RemoteLoginParameter loginParameter, out string msg)
        {
            try
            {
                _request.AddBody(loginParameter);
                var response     = _client.Execute(_request);
                var responseCode = (int)response.StatusCode;
                if (responseCode >= 200 && responseCode < 300)
                {
                    var deserializedResponse = new RequestResponseHelper().Deserialize <StationRespObj>(response, null, out msg);
                    return(deserializedResponse);
                }

                var exception = new RequestResponseHelper().ReadRequestException(response);
                msg = exception == null ? "Unknown Exception Occurred!" : exception.Message;
                return(null);
            }
            catch (Exception ex)
            {
                ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message);
                msg = "Error: " + ex.Message;
                return(null);
            }
        }
示例#6
0
        public BulkBeneficiaryRegResponseObj ProcessBulkData(BulkBeneficiaryRegObj bulkItems, out string msg)
        {
            try
            {
                _request.AddBody(bulkItems);
                var response     = _client.Execute(_request);
                var responseCode = (int)response.StatusCode;
                if (responseCode >= 200 && responseCode < 300)
                {
                    var deserializedResponse = new RequestResponseHelper().Deserialize <BulkBeneficiaryRegResponseObj>(response, null, out msg);
                    return(deserializedResponse);
                }

                var exception = new RequestResponseHelper().ReadRequestException(response);
                msg = exception == null ? "Unknown Exception Occurred!" : exception.Message;
                return(null);
            }
            catch (Exception ex)
            {
                ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message);
                msg = "Error: " + ex.Message;
                return(null);
            }
        }