public IHttpActionResult generar(ProyectoRegistro proyecto) { try { ProyectoRegistro proyectoE = new ProyectoRegistro(); Cascaron cascaron = new Cascaron(); ProyectoToken token = new ProyectoToken(); proyectoE = new LProyecto().validar(proyecto); if (proyectoE != null) { if (new LProyecto().getTokenByUser(proyectoE.IdUsuario) == null) { new LProyecto().generarToken(proyectoE.Correo); cascaron.Token1 = token; cascaron.Mensaje = "Recibira un correo con el enlace para continuar con el proceso"; } else if (token.Vigencia < DateTime.Now) { return(BadRequest("Token Vencido")); } } else { return(BadRequest("El usuario no existe, por favor verifique")); } return(Ok(cascaron.Mensaje)); }catch (Exception ex) { return(BadRequest("error de conexion")); } }
//Generar token recuperar(S) public void insertarToken(ProyectoToken token) { using (var db = new MapeoProyecto()) { db.token.Add(token); db.SaveChanges(); } }
public async Task <IHttpActionResult> recuperar([FromBody] JObject contrasena) { try { ProyectoRegistro proyecto = new ProyectoRegistro(); ProyectoToken token = new ProyectoToken(); string tokenRecibido = contrasena["tokenRecibido"].ToString(); proyecto.Contrasena = contrasena["Contrasena"].ToString(); token = new LProyecto().validarToken(tokenRecibido); proyecto.IdUsuario = token.Id_usuario; await new LProyecto().recuperar(proyecto); return(Ok("'Su contraseña fue actualizada")); }catch (Exception ex) { return(BadRequest("su token no es valido")); } }
public void generarToken(string correo) { ProyectoRegistro proyecto = new DaoProyecto().getloginByUsuario(correo); ProyectoToken token = new ProyectoToken(); token.Creado = DateTime.Now; token.Id_usuario = proyecto.IdUsuario; token.Vigencia = DateTime.Now.AddHours(2); token.Token = encriptar(JsonConvert.SerializeObject(token)); new DaoProyecto().insertarToken(token); String mensaje = "Su token de recuperacion es:" + token.Token + "\nRecuerde que tiene 2 horas de vigencia para realizar al acción"; enviarCorreo(proyecto.Correo, token.Token, mensaje); Cascaron cascaron = new Cascaron(); cascaron.Mensaje = "Su nueva contraseña ha sido enviada a su correo"; }