public ActionResult ResetContra(ResetContraModel model) { var message = ""; if (ModelState.IsValid) { using (SAVEntities db = new SAVEntities()) { var user = db.USUARIO.Where(a => a.ReseteoContraCode == model.ResetCode).FirstOrDefault(); if (user != null) { user.CONTASENA = Crypto.Hash(model.NuevaContra); user.ReseteoContraCode = ""; db.Configuration.ValidateOnSaveEnabled = false; db.SaveChanges(); message = "Nueva contraseña actulizada con exito"; } } } else { message = "algo invalido"; } ViewBag.Message = message; return(View(model)); }
public ActionResult olvidePassword(string Email) { //verifir el email //generar Reset password //mandar email String message = ""; bool satatus = false; using (SAVEntities db = new SAVEntities()) { var account = db.USUARIO.Where(a => a.Email == Email).FirstOrDefault(); if (account != null) { //manda el email para el reset de contaseña String resetCode = Guid.NewGuid().ToString(); SendVerificationLinkEmail(account.Email, resetCode, "ResetContra"); account.ReseteoContraCode = resetCode; //this line i have added here to avoid confirm password noit match issue, as we had added a confrmir password property //in our class User model db.Configuration.ValidateOnSaveEnabled = false; db.SaveChanges(); message = "Link para resetear su contraseña a sido enviado a su email"; } else { message = "Email no encontrado"; } } ViewBag.Message = message; return(View()); }
public bool IsEmailExist(string Email) { using (SAVEntities db = new SAVEntities()) { var v = db.USUARIO.Where(a => a.Email == Email).FirstOrDefault(); return(v != null); } }
public ActionResult ResetContra(string id) { using (SAVEntities db = new SAVEntities()) { var user = db.USUARIO.Where(a => a.ReseteoContraCode == id).FirstOrDefault(); if (user != null) { ResetContraModel model = new ResetContraModel(); model.ResetCode = id; return(View(model)); } else { return(HttpNotFound()); } } }
public ActionResult Login(UserLogin login, string ReturnUrl = "") { string message = ""; using (SAVEntities db = new SAVEntities()) { var v = db.USUARIO.Where(a => a.Email == login.EmailID).FirstOrDefault(); if (v != null) { if (string.Compare(Crypto.Hash(login.Password), v.CONTASENA) == 0) { int timeout = login.RememberMe ? 525600 : 20; // 525600 min = 1 year var ticket = new FormsAuthenticationTicket(login.EmailID, login.RememberMe, timeout); string encrypted = FormsAuthentication.Encrypt(ticket); var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted); cookie.Expires = DateTime.Now.AddMinutes(timeout); cookie.HttpOnly = true; Response.Cookies.Add(cookie); if (Url.IsLocalUrl(ReturnUrl)) { return(Redirect(ReturnUrl)); } else { return(RedirectToAction("Index", "Home")); } } else { message = "Crendenciales invalidas"; } } else { message = "Crendenciales invalidas"; } } ViewBag.Message = message; return(View()); }
public ActionResult VerifyAccount(string id) { bool Status = false; using (SAVEntities db = new SAVEntities()) { db.Configuration.ValidateOnSaveEnabled = false; // This line I have added here to avoid // Confirm password does not match issue on save changes var v = db.USUARIO.Where(a => a.ActivationCode == new Guid(id)).FirstOrDefault(); if (v != null) { v.ESTADO = true; db.SaveChanges(); Status = true; } else { ViewBag.Message = "Invalid Request"; } } ViewBag.Status = Status; return(View()); }