public static ClientRequestResponseBase ThrowError(string error, ClientRequestResponseBase entity) { ClientRequestResponseBase response = new ClientRequestResponseBase(); if (entity is PaymentNotificationRequest) { PaymentNotificationResponse apn = new PaymentNotificationResponse(); apn.DistributorCostCenterId = entity.DistributorCostCenterId; apn.StatusCode = "Error"; apn.StatusDetail = error; response = apn; } else if (entity is PaymentInstrumentRequest) { PaymentInstrumentResponse pi = new PaymentInstrumentResponse(); pi.StatusCode = "Error"; pi.StatusDetail = error; response = pi; } else if (entity is PaymentRequest) { PaymentResponse apr = new PaymentResponse(); apr.StatusCode = "Error"; apr.StatusDetail = error; response = apr; } else if(entity is DocSMSResponse) { DocSMSResponse sms = new DocSMSResponse(); sms.SdpResponseCode = "Error"; sms.SdpResponseStatus = error; response = sms; } return response; }
public bool SaveResponse(DocSMSResponse response) { tblSms tsms = _ctx.tblSms.FirstOrDefault(n => n.Id == response.Id); if(tsms != null) { tsms.SdpDestinationResponses = JsonConvert.SerializeObject(response.SdpDestinationResponses); tsms.SdpRequestId = response.SdpRequestId; tsms.SdpStatusCode = response.SdpResponseCode; tsms.SdpStatusString = response.SdpResponseStatus; tsms.SdpVersion = response.SdpVersion; tsms.SmsStatus = SmsStatuses.Sent.ToString(); return true; } return false; }
public HttpResponseMessage SendSMS(DocSMS clientSms) { DocSMSResponse pgresponse = new DocSMSResponse(); pgresponse.SmsStatus = SmsStatuses.Pending; try { ServiceProvider sp = _resolveMessageService.GetServiceProvider(clientSms.DistributorCostCenterId); if (sp == null) { pgresponse.SdpResponseStatus = "This service provider is not registered."; } else { ServerRequestBase sdpSms; _resolveMessageService.ProcessClientRequest(clientSms, sp, out sdpSms); SDPSMSResponse sdpResponse = HSenidSend(sdpSms as SDPSMSRequest, clientSms); _docSMSRepository.Save(clientSms); pgresponse.SmsStatus = SmsStatuses.Sent; pgresponse.ClientRequestResponseType = ClientRequestResponseType.SMS; pgresponse.DateCreated = DateTime.Now; pgresponse.DistributorCostCenterId = clientSms.DistributorCostCenterId; pgresponse.TransactionRefId = sdpResponse.requestId; pgresponse.Id = clientSms.Id; pgresponse.SdpVersion = sdpResponse.version; pgresponse.SdpResponseStatus = sdpResponse.statusDetail; pgresponse.SdpResponseCode = sdpResponse.statusCode; pgresponse.SdpDestinationResponses = sdpResponse.destinationResponses; pgresponse.SdpRequestId = sdpResponse.requestId; pgresponse.SmsStatus = SmsStatuses.Sent; _docSMSRepository.SaveResponse(pgresponse); } } catch (Exception e) { Console.WriteLine(e); } return Request.CreateResponse(HttpStatusCode.OK, pgresponse); }
public async Task<DocSMSResponse> SendDocSms(DocSMS docSms) { DocSMSResponse _response = new DocSMSResponse {SmsStatus = SmsStatuses.Pending}; HttpClient httpClient = setupHttpClient(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); string url = "api/gateway/sms/send"; try { var response = await httpClient.PostAsJsonAsync(url, docSms); _response = await response.Content.ReadAsAsync<DocSMSResponse>(); } catch (Exception ex) { string error = "Failed to forward sms for sending.\n" + (ex.InnerException == null ? "" : ex.InnerException.Message); _response.SdpResponseCode = "Error"; _response.SdpResponseStatus = error; } return _response; }