コード例 #1
0
        public IHttpActionResult RecuperaPass(Models.ViewModels.RecuperaPassMV model)
        //public IHttpActionResult RecuperaPass(int id)
        {
            var correo = "";

            using (Models.DbContextAuth db = new DbContextAuth());
            {
                var oRecuperaPass = new Models.Usuario();
                correo = model.Email;
            }
            int    existe    = 0;
            int    idusuario = 0;
            int    mensaje   = 0;
            string pass      = "";

            using (var bd = new DbContextAuth())
            {
                //existe = bd.Usuarios.Where(p => p.IdUsuario == id).Count();
                existe = bd.Usuario.Where(p => p.Mail == correo).Count();
                if (existe == 0)
                {
                    pass = "";
                }
                else
                {
                    //idusuario = bd.Usuarios.Where(p => p.IdUsuario == id).First().IdUsuario;
                    idusuario = bd.Usuario.Where(p => p.Mail == correo).First().IdUsuario;
                    //Verificamos que existe el usuario
                    int nveces = bd.Usuario.Where(p => p.IdUsuario == idusuario).Count();
                    if (nveces == 0)
                    {
                        pass    = "";
                        mensaje = 0;
                    }
                    else
                    {
                        // obtener su ID
                        Usuario ouser = bd.Usuario.Where(p => p.IdUsuario == idusuario).First();
                        pass    = ouser.Clave;
                        mensaje = 1;
                    }
                    if (mensaje == 1)
                    {
                        string token = GetMD5(Guid.NewGuid().ToString());

                        using (Models.DbContextAuth db = new Models.DbContextAuth())
                        {
                            var oUser = db.Usuario.Where(d => d.Mail == model.Email).FirstOrDefault();
                            if (oUser != null)
                            {
                                oUser.token_recovery  = token;
                                db.Entry(oUser).State = System.Data.Entity.EntityState.Modified;
                                db.SaveChanges();

                                //enviar mail
                                Correo(correo, token);
                            }
                        }
                    }
                    else
                    {
                        mensaje = 0;
                    };
                }
                return(Ok(mensaje));
            }
        }
コード例 #2
0
 public ActionResult Recuperar()
 {
     Models.ViewModels.RecuperaPassMV model = new Models.ViewModels.RecuperaPassMV();
     return(View(model));
 }