public QuestionsResponse GetQuestions(QuestionsSettings settings) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } settings.Channel = ConfigurationManager.AppSettings["EvidenteChannel"]; settings.ParamProduct = ConfigurationManager.AppSettings["EvidenteParamProduct"]; settings.Product = ConfigurationManager.AppSettings["EvidenteProduct"]; var consultation = _webSettingsConsultationSettingsBuilder.WithPayload(JsonConvert.SerializeObject(settings)) .WithExecutionId(settings.ExecutionId) .WithTypeOfConsultation((int)TypeOfConsultation.Request) .WithWebServiceName(ServiceNameType.Questions.GetStringValue()) .Build(); AddWebServiceConsultation(consultation); var response = _evidenteRepository.GetQuestions(settings); var consultationResponse = _webSettingsConsultationSettingsBuilder.WithPayload(JsonConvert.SerializeObject(response)) .WithExecutionId(settings.ExecutionId) .WithTypeOfConsultation((int)TypeOfConsultation.Response) .WithWebServiceName(ServiceNameType.Questions.GetStringValue()) .Build(); AddWebServiceConsultation(consultationResponse); return(response); }
public QuestionsResponse GetQuestions(QuestionsSettings settings) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } var mock = bool.Parse(ConfigurationManager.AppSettings.Get("Mock")); if (!mock) { try { var questionsRequest = new QuestionsRequest { Identification = settings.Identification, IdentificationType = settings.IdentificationType, ValidationNumber = settings.ValidationNumber }; var serialized = _xmlProcessor.Serialize(questionsRequest); var response = preguntas(settings.ParamProduct, settings.Product, settings.Channel, serialized); var deserialized = _xmlProcessor.Deserialize <QuestionsResponse>(response); return(deserialized); } catch (Exception exception) { var clientLog = new TelemetryClient(); clientLog.TrackException(exception); var consultationException = _webSettingsConsultationSettingsBuilder.WithPayload( JsonConvert.SerializeObject(new { Exception = exception })) .WithExecutionId(settings.ExecutionId) .WithTypeOfConsultation((int)TypeOfConsultation.CommunicationError) .WithWebServiceName("Error consultando " + ServiceNameType.Questions.GetStringValue()) .Build(); AddWebServiceConsultation(consultationException); return(new QuestionsResponse { Result = "00" }); } } return(QuestionsResponseMock()); }