public ValidationResponse Validate(ValidateUserSettings 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.Validate.GetStringValue()) .Build(); AddWebServiceConsultation(consultation); var response = _evidenteRepository.Validate(settings); var consultationResponse = _webSettingsConsultationSettingsBuilder.WithPayload(JsonConvert.SerializeObject(response)) .WithExecutionId(settings.ExecutionId) .WithTypeOfConsultation((int)TypeOfConsultation.Response) .WithWebServiceName(ServiceNameType.Validate.GetStringValue()) .Build(); AddWebServiceConsultation(consultationResponse); return(response); }
public ValidationResponse Validate(ValidateUserSettings settings) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } var mock = bool.Parse(ConfigurationManager.AppSettings.Get("Mock")); if (!mock) { try { var identification = new Identification { Number = settings.Identification, Type = settings.IdentificationType }; var dataValidation = new ValidationRequest { Identification = identification, LastName = settings.LastName, Names = settings.Names, SecondLastName = settings.SecondLastName, ExpeditionDate = new ExpeditionDate { Timestamp = settings.ExpeditionDate.ToTimestamp() } }; var serialized = _xmlProcessor.Serialize(dataValidation); var response = validar(settings.ParamProduct, settings.Product, settings.Channel, serialized); var deserialized = _xmlProcessor.Deserialize <ValidationResponse>(response); return(deserialized); } catch (Exception exception) { var clientLog = new TelemetryClient(); clientLog.TrackException(exception); clientLog.TrackException(exception); var consultationException = _webSettingsConsultationSettingsBuilder.WithPayload( JsonConvert.SerializeObject(new { Exception = exception })) .WithExecutionId(settings.ExecutionId) .WithTypeOfConsultation((int)TypeOfConsultation.CommunicationError) .WithWebServiceName("Error consultando " + ServiceNameType.Validate.GetStringValue()) .Build(); AddWebServiceConsultation(consultationException); return(new ValidationResponse { ProcessResult = false }); } } return(new ValidationResponse { Result = 5, ProcessResult = true, }); }