-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuser.cpp
More file actions
108 lines (95 loc) · 2.98 KB
/
user.cpp
File metadata and controls
108 lines (95 loc) · 2.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include "user.h"
#include "ui_user.h"
#include "mainwindow.h"
user::user(QWidget *parent) :
QDialog(parent),
ui(new Ui::user)
{
ui->setupUi(this);
ui->Welcome->setAlignment(Qt::AlignCenter);
ui->label_addReview->setAlignment(Qt::AlignCenter);
ui->ReviewStatus->setAlignment(Qt::AlignCenter);
ui->comboBox_carlist->addItem("Volkswagen");
ui->comboBox_carlist->addItem("Ferrari");
ui->comboBox_carlist->addItem("BMW");
ui->comboBox_carlist->addItem("Jaguar");
ui->comboBox_carlist->addItem("Hellcat");
ui->comboBox_sortby->addItem("Price");
ui->comboBox_sortby->addItem("Rating");
ui->comboBox_sortby->addItem("Launch year");
MainWindow conn;
if(conn.openConnection()){
ui->status->setText("Connected");
}
else{
ui->status->setText("Failed to connect to DataBase");
}
ui->Welcome->setText("Welcome " + conn.login_id);
conn.closeConnection();
}
user::~user()
{
delete ui;
}
void user::on_pushButton_load_clicked()
{
MainWindow conn;
conn.openConnection();
QSqlQueryModel *model = new QSqlQueryModel();
QSqlQuery qry(conn.mydb);
QString curr = ui->comboBox_sortby->currentText();
if(curr=="Price"){
qry.prepare("SELECT CarName, Price, Rating, Keywords, LaunchYear FROM CarDetails ORDER BY Price");
}
else if(curr=="Rating"){
qry.prepare("SELECT CarName, Price, Rating, Keywords, LaunchYear FROM CarDetails ORDER BY Rating");
}
else if(curr=="Launch year"){
qry.prepare("SELECT CarName, Price, Rating, Keywords, LaunchYear FROM CarDetails ORDER BY Launchyear");
}
else{
ui->ReviewStatus->setText("Please Select a Category to sorty by");
return;
}
if(!qry.exec())
qDebug()<<qry.lastError().text();
else
qDebug()<<"Loaded data in Table View";
model->setQuery(qry);
ui->CarDetailsTableView->setModel(model);
ui->CarDetailsTableView->show();
conn.closeConnection();
}
void user::on_pushButton_AddReview_clicked()
{
MainWindow conn;
conn.openConnection();
QString keyfeat,Name;
quint64 rate;
keyfeat = ui->lineEdit_KeyFeaturees->text();
Name = ui->comboBox_carlist->currentText();
rate = ui->lineEdit_ratingten->text().toInt();
if(rate>10 || rate<0){
ui->ReviewStatus->setText("Enter a valid rating value");
return;
}
qDebug()<<rate;
QSqlQuery qry;
qry.prepare(" UPDATE CarDetails SET Keywords = Keywords || ',' || '"+keyfeat+"' , Ratingsm = Ratingsm + :rate,Ratingcnt = Ratingcnt+1 WHERE CarName = '"+Name+"' ");
qry.bindValue(":rate",rate);
if(!qry.exec() )
{
qDebug() << qry.lastError().text();
}
if(qry.numRowsAffected()>0)
{
ui->ReviewStatus->setText("Review Added!!!");
}
else
{
qDebug() << "Unable to add Review";
}
qry.prepare("UPDATE CarDetails SET Rating = CAST(Ratingsm/Ratingcnt AS FLOAT) WHERE CarName = '"+Name+"'");
qry.exec();
conn.closeConnection();
}