Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }