public void setEmailController(Logica.Models.clsCorreo obclsCorreo)
 {
     try
     {
         Logica.BL.clsGeneral obclsGeneral = new Logica.BL.clsGeneral();
         obclsGeneral.setEmail(obclsCorreo);
     }
     catch (Exception ex) { throw ex; }
 }
        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtEmail.Text))
                {
                    throw new Exception("Indica el Email");
                }
                Proyecto.Logica.Models.clsUsuarios olsUsuarios = new Logica.Models.clsUsuarios();
                olsUsuarios.stLogin = txtEmail.Text;
                RecuperarContraseñaController oRecuperarContraseñaController = new RecuperarContraseñaController();
                DataSet dsConsulta = oRecuperarContraseñaController.getConsultaPasswordController(olsUsuarios);

                if (dsConsulta.Tables[0].Rows.Count > 0)
                {
                    string[] stLogin = dsConsulta.Tables[0].Rows[0]["usuaLogin"].ToString().Split('@');

                    string stCuerpoHTML = "<!DOCTYPE html>";
                    stCuerpoHTML += "<html lang='es'>";
                    stCuerpoHTML += "<head>";
                    stCuerpoHTML += "<meta charset='utf - 8'>";
                    stCuerpoHTML += "<title>Recuperacion de correo</title>";
                    stCuerpoHTML += "</head>";
                    stCuerpoHTML += "<body style='background - color: black '>";
                    stCuerpoHTML += "<table style='max - width: 600px; padding: 10px; margin: 0 auto; border - collapse: collapse; '>	";
                    stCuerpoHTML += "<tr>";
                    stCuerpoHTML += "<td style='padding: 0'>";
                    stCuerpoHTML += "<img style='padding: 0; display: block' src='cid:Fondo' width='100%' height='10%'>";
                    stCuerpoHTML += "</td>";
                    stCuerpoHTML += "</tr>";
                    stCuerpoHTML += "<tr>";
                    stCuerpoHTML += "<td style='background - color: #ecf0f1'>";
                    stCuerpoHTML += "<div style='color: #34495e; margin: 4% 10% 2%; text-align: justify;font-family: sans-serif'>";
                    stCuerpoHTML += "<h2 style='color: #e67e22; margin: 0 0 7px'>Hola " + stLogin[0] + "</h2>";
                    stCuerpoHTML += "<p style='margin: 2px; font - size: 15px'>";
                    stCuerpoHTML += "Hemos recibido una solicitud para restablecer el password de su cuenta asociada con ";
                    stCuerpoHTML += "esta dirección de correo electrónico. Si no ha realizado esta solicitud, puede ignorar este ";
                    stCuerpoHTML += "correo electrónico y le garantizamos que su cuenta es completamente segura.";
                    stCuerpoHTML += "<br/>";
                    stCuerpoHTML += "<br/>";
                    stCuerpoHTML += "Su password es: " + dsConsulta.Tables[0].Rows[0]["usuaPassword"].ToString();
                    stCuerpoHTML += "<br/>";
                    stCuerpoHTML += "(Tranquila soy tu robot Karlitxurrino haciendo pruebas desde la cueva. Jajajaja...)";
                    stCuerpoHTML += "</p>";
                    stCuerpoHTML += "<p style='color: #b3b3b3; font-size: 12px; text-align: center;margin: 30px 0 0'>Copyright © CRM 2018</p>";
                    stCuerpoHTML += "</div>";
                    stCuerpoHTML += "</td>";
                    stCuerpoHTML += "</tr>";
                    stCuerpoHTML += "</table>";
                    stCuerpoHTML += "</body>";
                    stCuerpoHTML += "</html>";

                    Logica.Models.clsCorreo obclsCorreo = new Logica.Models.clsCorreo
                    {
                        stServidor       = ConfigurationManager.AppSettings["stServidor"].ToString(),
                        stUsuario        = ConfigurationManager.AppSettings["stUsuario"].ToString(),
                        stPassword       = ConfigurationManager.AppSettings["stPassword"].ToString(),
                        stPuerto         = ConfigurationManager.AppSettings["stPuerto"].ToString(),
                        blAutenticacion  = true,
                        blConexionSegura = true,
                        inPrioridad      = 0, //prioridad normal
                        inTipo           = 1, //html
                        stAsunto         = "Recuperacion de password",
                        stFrom           = ConfigurationManager.AppSettings["stUsuario"].ToString(),
                        stTo             = txtEmail.Text,
                        stImagen         = Server.MapPath("~") + @"\Resources\Images\Fondo.gif",
                        stIdImagen       = "Fondo",
                        stMensaje        = stCuerpoHTML
                    };

                    oRecuperarContraseñaController.setEmailController(obclsCorreo);
                    ClientScript.RegisterStartupScript(this.GetType(), "mensaje", "<script> swal('Mensaje!', 'Se realizo proceso con exito!', 'success') </script>");
                }
                else
                {
                    throw new Exception("No se encontro informacion asociada a esa direccion de correo");
                }
            }
            catch (Exception ex)
            {
                ClientScript.RegisterStartupScript(GetType(), "Mensaje", "<script>swal('Error!', '" + ex.Message + "' , 'error');</script>");
            }
        }
        protected void btnRecuperarContraseña_Click(object sender, EventArgs e)
        {
            try
            {
                string stMensaje = string.Empty;
                if (string.IsNullOrEmpty(txtUsuarioRecuperar.Text))
                {
                    stMensaje += "Ingrese su usuario\\nRecuerde que su correo electroni es su Usuario,";
                }
                if (!string.IsNullOrEmpty(stMensaje))
                {
                    throw new Exception(stMensaje.TrimEnd(','));
                }

                Controllers.RecuperarContraseñaController obRecuperarContraseñaController = new Controllers.RecuperarContraseñaController();
                Logica.Models.clsUsuarios obclsUsuarios = new Logica.Models.clsUsuarios
                {
                    stUsuario = txtUsuarioRecuperar.Text
                };

                DataSet dsConsulta = obRecuperarContraseñaController.getRecuperarContraseñaController(obclsUsuarios);
                if (dsConsulta.Tables[0].Rows.Count > 0)
                {
                    string   stCorreo        = dsConsulta.Tables[0].Rows[0][1].ToString();
                    string   stContraseñaRec = dsConsulta.Tables[0].Rows[0][0].ToString();
                    string[] stNombreUss     = stCorreo.Split('@');

                    string stMensajeCorreo = "<!DOCTYPE htmll>";
                    stMensajeCorreo += "<html lang='es'›";
                    stMensajeCorreo += "<head>";
                    stMensajeCorreo += "<meta charset='utf - 8'>";
                    stMensajeCorreo += "<title> Recuperacion de correo </title >";
                    stMensajeCorreo += "</head>";
                    stMensajeCorreo += "<body style='background - color: black '>";
                    stMensajeCorreo += "<table style='max - width: 600px; padding: l0px; margin: 0 auto; border - collapse: collapse; '>";
                    stMensajeCorreo += "<tr>";
                    stMensajeCorreo += "<td style='padding:0'>";
                    stMensajeCorreo += "<img style='padding: 0; display: block' src='cid:Fondo' width='100 %' height='10 % '>";
                    stMensajeCorreo += "</td>";
                    stMensajeCorreo += "</tr>";
                    stMensajeCorreo += "<tr>";
                    stMensajeCorreo += "<td style='background - color: #ecf0f1'›";
                    stMensajeCorreo += "<div style='color: #34495e; margin: 4% 10% 2%; text-align: justify;font-family: sans-serif'>";
                    stMensajeCorreo += "<h2 style='color: #e67e22; margin: 0 0 7px'>Hola " + stNombreUss[0] + "</h2>";
                    stMensajeCorreo += "<p style='margin: 2px; font - size: 15pxo'>";
                    stMensajeCorreo += "Hemos recibido una solicitud para recuperar la contraseña de su cuenta asociada con";
                    stMensajeCorreo += " esta dirección de correo electrónico. Si no ha realizado esta solicitud, puede ignorar este";
                    stMensajeCorreo += "correo electrónico y le garantizamos que su cuenta es completamente segura.";
                    stMensajeCorreo += "<br/> ";
                    stMensajeCorreo += "<bri> Su contraseña es: " + stContraseñaRec;
                    stMensajeCorreo += "</p>";
                    stMensajeCorreo += "<p style='color: #b3b3b3; font-size: 12px; text-align: center;margin: 30px 0 0'>Copyright © Speak and Sell 2018</p> </div>";
                    stMensajeCorreo += "</td>";
                    stMensajeCorreo += "</tr>";
                    stMensajeCorreo += "</table>";
                    stMensajeCorreo += "</body>";
                    stMensajeCorreo += "</html>";

                    Logica.Models.clsCorreo obclsCorreo = new Logica.Models.clsCorreo
                    {
                        stServidor         = ConfigurationManager.AppSettings["stServidor"].ToString(),
                        stUsuarioCorreo    = ConfigurationManager.AppSettings["stUsuario"].ToString(),
                        stContraseñaCorreo = ConfigurationManager.AppSettings["stContraseña"].ToString(),
                        stPuerto           = ConfigurationManager.AppSettings["stPuerto"].ToString(),
                        blAutenticacion    = true,
                        blConexionSegura   = true,
                        inPrioridad        = 0, //Defino prioridad (2 Alta,1 Media,0 Baja)
                        inTipo             = 1, //html
                        stAsunto           = "Recuperar Contraseña",
                        stDesdeCorreo      = ConfigurationManager.AppSettings["stUsuario"].ToString(),
                        stParaCorreo       = stCorreo,
                        stImagen           = Server.MapPath("~") + @"\Resources\Imagenes\FondoCorreo.jpg",
                        stIdImagen         = "FondoCorreo",
                        stMensaje          = stMensajeCorreo
                    };

                    obRecuperarContraseñaController.SendCorreoController(obclsCorreo);
                    ClientScript.RegisterStartupScript(this.GetType(), "Mesaje", "<Script> swal('BIEN!', 'Tu contraseña se ha enviado a tu correo!', 'info')</Script>");
                }
                else
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "Mesaje", "<Script> swal('ERROR!', 'No se encontro un usuario correspondiente al nombre ingresado', 'info')</Script>");

                    throw new Exception("No se encontro un usuario correspondiente al nombre ingresado");
                }
            }
            catch (Exception ex)
            {
                ClientScript.RegisterStartupScript(this.GetType(), "Mesaje", "<Script> swal('ERROR!', '" + ex.Message + "!', 'error')</Script>");
            }
        }
        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                string stMensaje = string.Empty;
                if (string.IsNullOrEmpty(txtEmail.Text))
                {
                    stMensaje += "Ingrese email";
                }

                if (!string.IsNullOrEmpty(stMensaje))
                {
                    throw new Exception(stMensaje.TrimEnd(','));
                }

                //armo obojeto de tipo obclsUsuarios
                Controllers.RecuperarPasswordControllers obRecuperarPasswordControllers = new Controllers.RecuperarPasswordControllers();
                Logica.Models.clsUsuarios obclsUsuarios = new Logica.Models.clsUsuarios
                {
                    stLogin = txtEmail.Text
                };

                //envio el objeto obclsUsuarios como parametro de consultar
                DataSet dsConsulta = obRecuperarPasswordControllers.getConsultaPaswordController(obclsUsuarios);

                //valido si la consulta devuelve informacion
                if (dsConsulta.Tables[0].Rows.Count > 0)
                {
                    //capturo el nombre del usuario
                    string[] stLogin = dsConsulta.Tables[0].Rows[0]["usuaLogin"].ToString().Split('@');

                    //armo el cuerpo del correo
                    string stCuerpoHTML = "<!DOCTYPE html>";
                    stCuerpoHTML += "<html lang='es'>";
                    stCuerpoHTML += "<head>";
                    stCuerpoHTML += "<meta charset='utf - 8'>";
                    stCuerpoHTML += "<title>Recuperacion de correo</title>";
                    stCuerpoHTML += "</head>";
                    stCuerpoHTML += "<body style='background - color: black '>";
                    stCuerpoHTML += "<table style='max - width: 600px; padding: 10px; margin: 0 auto; border - collapse: collapse; '>	";
                    stCuerpoHTML += "<tr>";
                    stCuerpoHTML += "<td style='padding: 0'>";
                    stCuerpoHTML += "<img style='padding: 0; display: block' src='cid:Fondo' width='100%' height='10%'>";
                    stCuerpoHTML += "</td>";
                    stCuerpoHTML += "</tr>";
                    stCuerpoHTML += "<tr>";
                    stCuerpoHTML += "<td style='background - color: #ecf0f1'>";
                    stCuerpoHTML += "<div style='color: #34495e; margin: 4% 10% 2%; text-align: justify;font-family: sans-serif'>";
                    stCuerpoHTML += "<h2 style='color: #e67e22; margin: 0 0 7px'>Hola " + stLogin[0] + "</h2>";
                    stCuerpoHTML += "<p style='margin: 2px; font - size: 15px'>";
                    stCuerpoHTML += "Hemos recibido una solicitud para restablecer el password de su cuenta asociada con ";
                    stCuerpoHTML += "esta dirección de correo electrónico. Si no ha realizado esta solicitud, puede ignorar este ";
                    stCuerpoHTML += "correo electrónico y le garantizamos que su cuenta es completamente segura.";
                    stCuerpoHTML += "<br/>";
                    stCuerpoHTML += "<br/>";
                    stCuerpoHTML += "Su password es: " + dsConsulta.Tables[0].Rows[0]["usuaPassword"].ToString();
                    stCuerpoHTML += "</p>";
                    stCuerpoHTML += "<p style='color: #b3b3b3; font-size: 12px; text-align: center;margin: 30px 0 0'>Copyright © CRM 2020</p>";
                    stCuerpoHTML += "</div>";
                    stCuerpoHTML += "</td>";
                    stCuerpoHTML += "</tr>";
                    stCuerpoHTML += "</table>";
                    stCuerpoHTML += "</body>";
                    stCuerpoHTML += "</html>";

                    //armo el objeto de tipo obclsCorreo
                    Logica.Models.clsCorreo obclsCorreo = new Logica.Models.clsCorreo
                    {
                        stServidor        = ConfigurationManager.AppSettings["stServidor"].ToString(),
                        stUsuario         = ConfigurationManager.AppSettings["stUsuario"].ToString(),
                        stPassword        = ConfigurationManager.AppSettings["stPassword"].ToString(),
                        stPuerto          = ConfigurationManager.AppSettings["stPuerto"].ToString(),
                        blAutenticacion   = true,
                        bolConexionSegura = true,
                        inPrioridad       = 0, //prioridad normal
                        inTipo            = 1, //html
                        stAsunto          = "Recuperacion de password",
                        stFrom            = ConfigurationManager.AppSettings["stUsuario"].ToString(),
                        stTo       = txtEmail.Text,
                        stImagen   = Server.MapPath("~") + @"\Resources\Images\Fondo.gif",
                        stIdImagen = "Fondo",
                        stMensaje  = stCuerpoHTML
                    };

                    //envio el objeto de tipo obclsCorreo para el envio de correo
                    obRecuperarPasswordControllers.setEmailController(obclsCorreo);
                    txtEmail.Text = string.Empty;
                    ClientScript.RegisterStartupScript(this.GetType(), "mensaje", "<script> swal('Mensaje!', 'Se realizo proceso con exito!', 'success') </script>");
                }
                else
                {
                    throw new Exception("No se encontro informacion asociada a esa direccion de correo");
                }
            }
            catch (Exception ex)
            {
                Logica.BL.clsGeneral obclsGeneral = new Logica.BL.clsGeneral();
                string stError = obclsGeneral.Log(ex.Message.ToString());
                ClientScript.RegisterStartupScript(this.GetType(), "mensaje", "<script>swal('Error!', '" + stError + "', 'error')</script>");
            }
        }