public JsonResult IsEmailValid(String email) { try { if (db.NE_Usuario.Any(x => x.CorreoElectronico.ToUpper() == email.ToUpper())) { //get user NE_Usuario user = db.NE_Usuario.Where(x => x.CorreoElectronico.ToUpper() == email.ToUpper()).First(); //add confirmed request NE_RecoveryPassword recovery = new NE_RecoveryPassword() { UsuarioId = user.UsuarioId, RecordDate = DateTime.Now, ExpiredDate = DateTime.Now.AddDays(1), IsConfirmed = false, }; db.NE_RecoveryPassword.Add(recovery); db.SaveChanges(); //fill template String template = db.NE_EmailTemplate.Where(x => x.Name == "RecoveryPass").First().EmailTemplate; template = String.Format(template, user.Nombre + " " + user.ApellidoPaterno + " " + user.ApellidoMaterno, Settings.URL_TOConfirmEmail + recovery.RecoveryPasswordId.ToString(), "*****@*****.**"); //create Instance Mail mail = new Mail() { AccountServer = Settings.ACCOUNT_SERVER, Subject = Recursos.RestablecerPass, From = Settings.FROM, Host = Settings.HOST_SERVER, PasswordServer = Settings.PASSWORD_SERVER, Body = template, To = new List <string>() { user.CorreoElectronico }, Port = Settings.PORT_SERVER }; mail.Send(); return(Json(new { Success = true, Message = Recursos.ConfEmail }, JsonRequestBehavior.DenyGet)); } else { return(Json(new { Success = false, Message = Recursos.ErrorEmail }, JsonRequestBehavior.DenyGet)); } } catch (Exception ex) { return(Json(new { Success = false, Message = Recursos.MessError }, JsonRequestBehavior.DenyGet)); } }
public ActionResult Confirm(Int32 ID) { NE_RecoveryPassword model = db.NE_RecoveryPassword.Find(ID); ViewBag.IsConfirmValid = model.ExpiredDate > DateTime.Now; ViewBag.IsConfirmed = model.IsConfirmed; String Message = String.Empty; ViewBag.ID = ID; //TODO: redirect to change pass return(View()); }
public JsonResult ChangePass(String newPass, Int32 ID) { try { NE_RecoveryPassword model = db.NE_RecoveryPassword.Find(ID); NE_Usuario user = db.NE_Usuario.Where(x => x.UsuarioId == model.UsuarioId).First(); NE_Autenticacion auth = db.NE_Autenticacion.Where(x => x.UsuarioId == user.UsuarioId).First(); model.IsConfirmed = true; auth.Contrasena = Security.Security.Encrypt(newPass); db.SaveChanges(); return(Json(new { Success = true }, JsonRequestBehavior.DenyGet)); } catch { return(Json(new { Success = false }, JsonRequestBehavior.DenyGet)); } }