예제 #1
0
        public async Task <ActionResult> RecuperarContra(RecuperarContrasenia model)
        {
            if (ModelState.IsValid)
            {
                //var user = await UserManager.FindByNameAsync(model.Email);
                //if (user == null || !(await UserManager.IsEmailConfirmedAsync(user.Id)))
                //{
                //    // Don't reveal that the user does not exist or is not confirmed
                //    return View("ForgotPasswordConfirmation");
                //}

                //var code = await UserManager.GeneratePasswordResetTokenAsync(user.Id);
                //var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                //await UserManager.SendEmailAsync(user.Id, "Reset Password", "Please reset your password by clicking here: <a href=\"" + callbackUrl + "\">link</a>");
                //ViewBag.Link = callbackUrl;
                //return View("ForgotPasswordConfirmation");
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
예제 #2
0
 protected void OlvidoContrasenia_Click(object sender, EventArgs e)
 {
     RecuperarContrasenia.Inicio();
 }
예제 #3
0
 public ResponseRecuperarContrasenia()
 {
     this.recuperarContrasenia = new RecuperarContrasenia();
 }
예제 #4
0
        /// <summary>
        /// getGenerarRecuperacionContrasenia
        /// </summary>
        public ResponseRecuperarContrasenia getGenerarRecuperacionContrasenia(String correo)
        {
            ResponseRecuperarContrasenia response = new ResponseRecuperarContrasenia();
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["cnxANTP"].ToString());

            try
            {
                SqlCommand cmd = new SqlCommand("GENERAR_RECUPERACION_CUENTA", con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@email", correo);

                con.Open();

                SqlDataReader dr = cmd.ExecuteReader();
                dr.Read();

                //corregir xd
                response.codResultado = dr.IsDBNull(dr.GetOrdinal("CodResultado")) ? default(Int32) : dr.GetInt32(dr.GetOrdinal("CodResultado"));
                MailMessage msgCorreo = new MailMessage();
                msgCorreo.To.Add(correo);
                msgCorreo.Subject         = "Recuperación de cuenta";
                msgCorreo.SubjectEncoding = System.Text.Encoding.UTF8;
                //msgCorreo.Bcc.Add(""); //enviara a otros tambien
                RecuperarContrasenia recuperarContrasenia = new RecuperarContrasenia();
                int    codUsuario          = dr.IsDBNull(dr.GetOrdinal("IdUsuario")) ? default(Int32) : dr.GetInt32(dr.GetOrdinal("IdUsuario"));
                String codigoParaRecuperar = dr.IsDBNull(dr.GetOrdinal("CodAutogenerado")) ? "" : dr.GetString(dr.GetOrdinal("CodAutogenerado"));

                recuperarContrasenia.codUsuario         = codUsuario;
                recuperarContrasenia.codigoAutogenerado = codigoParaRecuperar;
                response.recuperarContrasenia           = recuperarContrasenia;

                if (response.codResultado == 1)
                {
                    string htmlString = @"<html> <body><p>Hola estimado usuario,</p><p>Recientemente solicitó un cambio de contrasenia, si no fue usted ignore este mensaje.</p><p>código : " + codigoParaRecuperar + "<p>Tenga buen dia</p><br>-Equipo MilOficios</br></p> </body> </html>";
                    msgCorreo.Body       = htmlString;
                    msgCorreo.IsBodyHtml = true;
                    //msgCorreo.BodyEncoding = System.Text.Encoding.UTF8;
                    msgCorreo.From = new MailAddress("*****@*****.**");

                    SmtpClient cliente = new SmtpClient();
                    cliente.Credentials = new NetworkCredential("*****@*****.**", "soyunacontrasenia");

                    cliente.Port      = 25;
                    cliente.EnableSsl = true;
                    cliente.Host      = "smtp.gmail.com";

                    cliente.Send(msgCorreo);
                    response.desResultado = "El mensaje fue enviado con exito";
                }
                else if (response.codResultado == 2)
                {
                    response.desResultado = "Sobrepasó el limite de envio por dia, vuelva a intentarlo mañana";
                }
                else
                {
                    response.desResultado = "No existe el correo en nuestro sistema";
                }
            }
            catch (Exception ex)
            {
                response.codResultado = 0;
                response.desResultado = ex.ToString();
            }

            finally
            {
                //con.Close();
            }

            return(response);
        }