-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathService_Create_Description.cpp
135 lines (112 loc) · 4.42 KB
/
Service_Create_Description.cpp
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#include "Service_Create_Description.h"
#include "ui_Service_Create_Description.h"
#include "System_Services_and_Info.h"
#include "QMessageBox"
#include "QSqlQueryModel"
#include "QSqlQuery"
#include "QSqlError"
#include "QSettings"
Service_Create_Description::Service_Create_Description(QWidget *parent) :
QDialog(parent),
ui(new Ui::Service_Create_Description)
{
ui->setupUi(this);
LoadSettings();
ui->line_Short_Description->setFocus();
}
Service_Create_Description::~Service_Create_Description()
{
SaveSettings();
delete ui;
}
bool Service_Create_Description::Verify_Empty_Fields_On_Form()
{
if (ui->txt_Full_Description->toPlainText() == "" || ui->line_Short_Description->text() == "" )
{
QMessageBox::warning(this, tr("Error!"), tr("All fields need to be filled!"));
ui->line_Short_Description->setFocus();
return false;
}
//Only returns true if all the fields are filled.
return true;
}
QString Service_Create_Description::getClientid() const
{
return clientid;
}
void Service_Create_Description::setClientid(const QString &value)
{
clientid = value;
}
QString Service_Create_Description::getCarID() const
{
return CarID;
}
void Service_Create_Description::setCarID(const QString &value)
{
CarID = value;
}
QString Service_Create_Description::getServiceID() const
{
return ServiceID;
}
void Service_Create_Description::setServiceID(const QString &value)
{
ServiceID = value;
}
void Service_Create_Description::on_txt_Full_Description_textChanged() //Check limit for 1000k chars//
{
const int max_size = 1000;
if(ui->txt_Full_Description->toPlainText().length() > max_size){
ui->txt_Full_Description->setPlainText(System_Services_and_Info::Check_Text_Size(max_size, ui->txt_Full_Description->toPlainText()));
//Warn the user:
QMessageBox::warning(this, tr("Warning!"), tr("Keep the text shorter then %1 chars.").arg(max_size));
//Put cursor back to the end of the text//
QTextCursor cursor = ui->txt_Full_Description->textCursor();
cursor.setPosition(ui->txt_Full_Description->document()->characterCount() - 1);
ui->txt_Full_Description->setTextCursor(cursor);
}
}
void Service_Create_Description::on_buttonBox_accepted()
{
if(Verify_Empty_Fields_On_Form()){
QSqlQuery query;
query.prepare("INSERT INTO Service (Service_Client_id, Service_Client_Carid, Service_Short_Description, Service_Description, Service_Hour_Cost, Service_Hours_Duration)"
"VALUES (:Service_Client_id, :Service_Client_Carid, :Service_Short_Description, :Service_Description, :Service_Hour_Cost, :Service_Hours_Duration )");
query.bindValue(":Service_Client_id", clientid);
query.bindValue(":Service_Client_Carid", CarID);
//System_Services_and_Info System_Services_and_Info;
query.bindValue(":Service_Hour_Cost", System_Services_and_Info::Get_Current_Hour_Cost());
query.bindValue(":Service_Short_Description", ui->line_Short_Description->text());
query.bindValue(":Service_Description", ui->txt_Full_Description->toPlainText());
if (query.exec() == false){
QMessageBox::critical(this, tr("Error!"), query.lastError().text() + " class Service_Create_Description::on_btn_Salvar_clicked() ");
}else{
ui->line_Short_Description->setFocus();
QMessageBox::information(this, tr("Success!"), tr("Service registered on this Client's Car.\n\n"
"Now we will return to the previous screen on which this new Service "
"is available for use, there you can add used Parts, update it and do"
"all changes that you need while doing the 'Hard Work' "));
close();
}
}
}
void Service_Create_Description::on_buttonBox_rejected()
{
close();
}
void Service_Create_Description::LoadSettings()
{
QSettings setting("bedi1982","Oficina");
setting.beginGroup("Service_Create_Description");
QRect myrect = setting.value("position").toRect();
setGeometry(myrect);
setting.endGroup();
}
void Service_Create_Description::SaveSettings()
{
QSettings setting("bedi1982","Oficina");
setting.beginGroup("Service_Create_Description");
setting.setValue("position",this->geometry());
setting.endGroup();
}