Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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,
            });
        }