Guest User

Untitled

a guest
Jul 1st, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.66 KB | None | 0 0
  1. ---------------- .h -------------------
  2. #ifndef CONTROLLER_LOGIN_H
  3. #define CONTROLLER_LOGIN_H
  4.  
  5. #include "QString"
  6. #include "QSqlQuery"
  7. #include <QtSql/QSqlDatabase>
  8. #include <QtSql/QSqlQueryModel>
  9.  
  10. class Controller_login
  11. {
  12.  
  13. private:
  14.  
  15.     QString usuario_S;
  16.     QString senha_S;
  17.     QString mensagem_S;
  18.  
  19.     int id_usuario_I;
  20.  
  21.     QSqlDatabase m_databasePost;
  22.  
  23. public:
  24.     Controller_login();
  25.     ~Controller_login();
  26.  
  27.     // set
  28.     void SetUsuario(QString _usuario_S);
  29.     void SetSenha(QString _senha_S);
  30.  
  31.     // Get
  32.     QString GetUsuario();
  33.     QString GetSenha();
  34.     QString GetMensagem();
  35.     int GetIdUsuario();
  36.  
  37.     //metodos
  38.     int VerificaLogin();
  39.     int PegaIdUsuario();
  40.     bool ConectBanco();
  41. };
  42.  
  43. #endif // CONTROLLER_LOGIN_H
  44.  
  45. ---------------- .cpp --------------------
  46.  
  47. #include "controller_login.h"
  48. #include "controller_login.h"
  49. #include "Usuarios/class_usuarios.h"
  50. #include "QDebug"
  51. #include "QSqlError"
  52. #include "QSqlRecord"
  53. #include "Singleton/singleton.h"
  54. #include "Historico/class_historico.h"
  55. #include "include/dsmfile.h"
  56.  
  57. Controller_login::Controller_login()
  58. {
  59.  
  60. }
  61.  
  62. Controller_login::~Controller_login()
  63. {
  64.  
  65. }
  66.  
  67. /*! \author Gustavo Bauer Machado
  68.   \date 25/08/2011
  69.   \brief Metodos Set
  70.   */
  71. void Controller_login::SetUsuario(QString _usuario_S)
  72. {
  73.     usuario_S = _usuario_S;
  74. }
  75.  
  76. void Controller_login::SetSenha(QString _senha_S)
  77. {
  78.     senha_S = _senha_S;
  79. }
  80.  
  81. /*! \author Gustavo Bauer Machado
  82.   \date 25/08/2011
  83.   \brief Metodos Get
  84.   */
  85. QString Controller_login::GetUsuario()
  86. {
  87.     return usuario_S;
  88. }
  89.  
  90. QString Controller_login::GetSenha()
  91. {
  92.     return senha_S;
  93. }
  94.  
  95. QString Controller_login::GetMensagem()
  96. {
  97.     return mensagem_S;
  98. }
  99.  
  100. int Controller_login::GetIdUsuario()
  101. {
  102.     return id_usuario_I;
  103. }
  104.  
  105. /*! \author Gustavo Bauer Machado
  106.   \date 25/08/2011
  107.   \brief Metodos Que verifica o login e senha
  108.   */
  109. int Controller_login::VerificaLogin()
  110. {
  111.     ConectBanco();
  112.     int respost;
  113.     QSqlQuery *sql_login = new QSqlQuery(m_databasePost);
  114.     QString sql = "SELECT id_usuario, perfil_id_perfil, senha FROM usuario Where login = '"+ usuario_S+"'";
  115.     //qDebug() << "SLQ LOGIN: " << sql;
  116.     sql_login->prepare(sql);
  117.     if(!sql_login->exec())
  118.     {
  119.         mensagem_S = "Problema ao executar SQL \n\n"+sql_login->lastError().text()+"/n/n"+sql;
  120.         qDebug() << "Problema ao executar SQL " << sql_login->lastError().text();
  121.         respost = 1;
  122.     }
  123.     else
  124.     {
  125.         if(!sql_login->size())
  126.         {
  127.             qDebug() << "LOGIN ERRADO ";
  128.             respost = 3;
  129.         }
  130.         else
  131.         {
  132.             //QSqlRecord rec = sql_login.record();
  133.             QString password = "";
  134.             //int nameCol = rec.indexOf("senha");
  135.             while (sql_login->next())
  136.                 password = sql_login->value(2).toString();
  137.  
  138.             if (senha_S == password)
  139.             {
  140.                 id_usuario_I = PegaIdUsuario();
  141.                 qDebug() << "Senha OK ID " << id_usuario_I ;
  142.  
  143.                 Singleton *p1 = Singleton::Instance();
  144.                 p1->SetIdUsuario(id_usuario_I);
  145.  
  146.                 Historico *pHist = new Historico();
  147.                 pHist->setId_tipo_hist(1);
  148.                 pHist->setData(QDate::currentDate());
  149.                 pHist->setHora(QTime::currentTime());
  150.                 pHist->setId_pessoa(p1->GetIdPessoa());
  151.                 pHist->setHistorico("Logado no Sistema");
  152.                 if(!pHist->Create())
  153.                 {
  154.                     qDebug() << "Erro ao cadastrar historico "<< pHist->lastError();
  155.                 }
  156.                 else
  157.                 {
  158.                     qDebug() << "historico adicionado";
  159.                 }
  160.                 respost = 4;
  161.             }
  162.             else
  163.             {
  164.                 mensagem_S = "Senha Errada " +senha_S +" = "+ password;
  165.                 qDebug() << "Senha Errada ";
  166.                 respost = 2;
  167.             }
  168.         }
  169.     }
  170.     return respost;
  171. }
  172.  
  173. /*! \author Gustavo Bauer Machado
  174.   \date 02/09/2011
  175.   \brief Metodos Que pega o id do usuario logado
  176.   */
  177. int Controller_login::PegaIdUsuario()
  178. {
  179.     int id;
  180.     QSqlQuery *sql_id_user = new QSqlQuery(m_databasePost);
  181.     QString sql = "SELECT id_usuario, perfil_id_perfil, senha FROM usuario Where login = '"+ usuario_S+"'";
  182.     //qDebug() << "SLQ LOGIN: " << sql;
  183.     sql_id_user->prepare(sql);
  184.     if(!sql_id_user->exec())
  185.     {
  186.         qDebug() << "Problema ao executar SQL " << sql_id_user->lastError();
  187.     }
  188.     else
  189.     {
  190.             QSqlRecord rec = sql_id_user->record();
  191.             int nameCol = rec.indexOf("id_usuario");
  192.             while (sql_id_user->next())
  193.                 id = sql_id_user->value(nameCol).toInt();
  194.  
  195.     }
  196.     return id;
  197. }
  198.  
  199. bool Controller_login::ConectBanco()
  200. {
  201.     m_databasePost = QSqlDatabase::addDatabase("QPSQL","Postgres");
  202.     //m_database.setHostName("192.168.0.10");
  203.     m_databasePost.setHostName(dsmFile::GetParamValue( "config.enc", QString("config/Host")) );
  204.     //m_database.setDatabaseName("adv");
  205.     m_databasePost.setDatabaseName(dsmFile::GetParamValue( "config.enc", QString("config/DataBase")));
  206.     //m_database.setUserName("adv");
  207.     m_databasePost.setUserName(dsmFile::GetParamValue( "config.enc", QString("config/User")));
  208.     //m_database.setPassword("advpassword");
  209.     m_databasePost.setPassword(dsmFile::GetParamValue( "config.enc", QString("config/Password")));
  210.  
  211.     if (!m_databasePost.open())
  212.     {
  213.        qDebug() << QString::fromUtf8("Erro na conexão com Postgres: ") << m_databasePost.lastError().text();
  214.        return false;
  215.     }
  216.     else
  217.     {
  218.       qDebug() << "Conectado ao Postgres";
  219.         return true;
  220.     }
  221. }
Add Comment
Please, Sign In to add comment