//private readonly EmailConfig ec;

        //public EmailServiceRepositorio(IOptions<EmailConfig> emailConfig)
        //{
        //    this.ec = emailConfig.Value;
        //}
        //public EmailServiceRepositorio()
        //{
        //}
        public bool SendEmailASync(BEemail email, EmailConfig ec)
        {
            bool estado = true;

            try
            {
                Attachment  Attach;
                MailMessage mailMessage = new MailMessage();
                SmtpClient  SMtCliente  = new SmtpClient(ec.MailHost);
                mailMessage.From = new MailAddress(ec.FromAdress, ec.FromName);
                //foreach (string s in objMail._ListaCorreos)
                //{
                mailMessage.To.Add(email.ToAdress);

                //}
                mailMessage.Subject    = email.Subject;
                mailMessage.IsBodyHtml = true;
                mailMessage.Body       = email.Html;
                SMtCliente.Port        = int.Parse(ec.MailPuerto);
                SMtCliente.Credentials = new System.Net.NetworkCredential(ec.USerID, ec.UserPassword);
                SMtCliente.EnableSsl   = true;

                SMtCliente.Send(mailMessage);
            }
            catch (SmtpFailedRecipientsException ex1)
            {
                estado = false;
                throw new Exception(ex1.Message);
            }
            catch (Exception ex2)
            {
                estado = false;
                throw new Exception(ex2.Message);
            }
            return(estado);
        }
        public IActionResult Afiliaa2(AfiliarClienteViewModel Datos)
        {
            string Conexion      = _connectionString.DefaultConnection;
            var    BEClienteTmp1 = new BEClienteTmp();

            BEClienteTmp1.AceptaPolitica          = Datos.AceptaPolitica;
            BEClienteTmp1.ApellidoMaterno         = Datos.ApellidoMaterno;
            BEClienteTmp1.ApellidoPaterno         = Datos.ApellidoPaterno;
            BEClienteTmp1.CodigoAfiliacion        = Guid.NewGuid();
            BEClienteTmp1.CodigoConfirmacionEmail = "";
            BEClienteTmp1.CodigoConfirmacionMovil = "";
            BEClienteTmp1.ConfirmoEmail           = false;
            BEClienteTmp1.ConfirmoMovil           = false;
            BEClienteTmp1.Direccion             = Datos.xDireccion;
            BEClienteTmp1.Email                 = Datos.Email;
            BEClienteTmp1.FechaEmisionDocumento = Datos.FechaEmisionDocumento;
            BEClienteTmp1.FechaNacimiento       = Datos.FechaNacimiento;
            BEClienteTmp1.FechaRegistro         = new DateTime();
            BEClienteTmp1.Genero                = Datos.Genero;
            BEClienteTmp1.IdCanalAfiliacion     = 0;
            //BEClienteTmp1.IdClienteTmp = 0;
            BEClienteTmp1.IdDepartamento        = Datos.IdDepartamento;
            BEClienteTmp1.IdDistrito            = Datos.IdDistrito;
            BEClienteTmp1.IdEstadoCivil         = Datos.IdEstadoCivil;
            BEClienteTmp1.IdPrefijoDireccion    = 0;
            BEClienteTmp1.IdProvincia           = Datos.IdProvincia;
            BEClienteTmp1.IdReferido            = 0;
            BEClienteTmp1.IdStand               = 0;
            BEClienteTmp1.IdTipoActivacion      = 0;
            BEClienteTmp1.IdTipoCanalAfiliacion = 0;
            BEClienteTmp1.IdTipoDireccion       = 0;
            BEClienteTmp1.IdTipoDocumento       = 1;
            BEClienteTmp1.IdTipoEnvioTarjeta    = 0;
            BEClienteTmp1.IdTipoOperador        = Datos.IdTipoOperador;
            BEClienteTmp1.IMEI                          = "";
            BEClienteTmp1.Nombres                       = Datos.Nombres;
            BEClienteTmp1.NumeroDocumento               = Datos.NumeroDocumento;
            BEClienteTmp1.NumeroIntentosFallidos        = 0;
            BEClienteTmp1.NumeroIntentosFallidosReenvio = 0;
            BEClienteTmp1.NumeroMovil                   = Datos.NumeroMovil;
            BEClienteTmp1.NumeroReenvioPin              = 0;
            BEClienteTmp1.PasswordHash                  = Datos.PasswordHash;
            BEClienteTmp1.RangoDiasEntrega              = Datos.RangoDiasEntrega;
            BEClienteTmp1.RangoHorasEntrega             = Datos.RangoHorasEntrega;
            BEClienteTmp1.RecibeBoletin                 = Datos.RecibeBoletin;
            BEClienteTmp1.RecibeTarjeta                 = Datos.RecibeTarjeta;
            BEClienteTmp1.Referencia                    = Datos.xReferencia;
            BEClienteTmp1.TelefonoFijo                  = "";
            BEClienteTmp1.Ubigeo                        = Datos.IdDepartamento + Datos.IdProvincia + Datos.IdDistrito;
            BEClienteTmp1.Usuario                       = Datos.Usuario;
            BEParametro Mensaje = _iafilicion.AfiliarClienteTemp(BEClienteTmp1, Conexion);

            if (Mensaje.xDescripcion == "AFILIACION CORRECTA")
            {
                var RespuestaAfiliacion = new MPDatos();

                RespuestaAfiliacion = _iafilicion.VericarCliente(Mensaje.iConstante, Conexion);
                if (RespuestaAfiliacion.Error == false)
                {
                    string Html  = RespuestaAfiliacion.Html;
                    string Html1 = string.Empty;
                    string Html2 = string.Empty;
                    if (Html.Contains("@NOMBRE_AFILIADO"))
                    {
                        Html1 = Html.Replace("@NOMBRE_AFILIADO", RespuestaAfiliacion.BEClienteTmp.Nombres);
                        if (Html1.Contains("@CODIGO_EMAIL_CONFIRMACION"))
                        {
                            Html2 = Html1.Replace("@CODIGO_EMAIL_CONFIRMACION", RespuestaAfiliacion.BEClienteTmp.CodigoConfirmacionMovil);
                        }
                    }
                    var servi  = new EmailServiceRepositorio();
                    var correo = new BEemail();
                    correo.ToAdress = RespuestaAfiliacion.BEClienteTmp.Email;
                    correo.Subject  = "Confirmacion De Afiliacion";
                    correo.Html     = Html2;

                    servi.SendEmailASync(correo, ec);
                }



                return(RedirectToAction("Afiliacion3", "Afiliacion", Datos));
            }
            else
            {
                return(RedirectToAction("Error", "Home"));
            }
        }