public Reply emailRecover(EmailRecoverRequest oRequest) { Reply oReply = new Reply(); oReply.status = Constants.ERROR; try { //validaciones comunes if (!ModelState.IsValid) { oReply.message = GetErrorsModel(); return(oReply); } using (ZonasAkronDevEntities db = new ZonasAkronDevEntities()) { users oUser = (from d in db.users where d.email.Equals(oRequest.email) && d.idStatus == 1 select d).FirstOrDefault(); if (oUser == null) { oReply.message = "El correo electrónico no está registrado en el sistema"; } else { string token = Utilities.Encrypt.GetSHA256(oRequest.email + "" + DateTime.Now); //actualizamos token if (sendEmail(oRequest.email, token) != false) { oUser.resetPassword = token; oUser.updated_at = DateTime.Now; db.Entry(oUser).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); oReply.status = Constants.SUCCESS; oReply.message = "Tu correo se ha enviado"; } else { oReply.message = "Ocurrio un error al enviar el email de autorización."; } } } } catch (Exception ex) { oReply.message = Constants.Exception.ERROR + ex.Message; } return(oReply); }
public Reply resetPassword(ResetPasswordRequest oRequest) { Reply oReply = new Reply(); oReply.status = Constants.ERROR; try { //validaciones comunes if (!ModelState.IsValid) { oReply.message = GetErrorsModel(); return(oReply); } using (ZonasAkronDevEntities db = new ZonasAkronDevEntities()) { users oUser = (from d in db.users where d.resetPassword.Equals(oRequest.token) && d.idStatus == 1 select d).FirstOrDefault(); if (oUser == null) { oReply.message = "Su solicitud ya no es válida inténtelo nuevamente."; } else { string newPass = Utilities.Encrypt.GetSHA256(oRequest.password); oUser.password = newPass; oUser.resetPassword = ""; oUser.updated_at = DateTime.Now; db.Entry(oUser).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); oReply.status = Constants.SUCCESS; oReply.message = "Tu contraseña se modificó correctamente"; } } } catch (Exception ex) { oReply.message = Constants.Exception.ERROR + ex.Message; } return(oReply); }
public Reply signOff() { Reply oReply = new Reply(); oReply.status = Constants.ERROR; try { var token = ""; if (Request.Headers.Authorization != null) { token = Request.Headers.Authorization.ToString(); } using (ZonasAkronDevEntities db = new ZonasAkronDevEntities()) { users oUser = (from x in db.users where x.token == token && x.idStatus == 1 select x).FirstOrDefault(); if (oUser == null) { oReply.message = "El usuario no existe"; } else { oUser.token = ""; oUser.updated_at = DateTime.Now; db.Entry(oUser).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); oReply.status = Constants.SUCCESS; oReply.message = "Tu sesión ha sido cerrada"; } } } catch (Exception ex) { oReply.message = Constants.Exception.ERROR + ex.Message; } return(oReply); }