-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreateprojectviewcontroller.cpp
More file actions
93 lines (72 loc) · 2.1 KB
/
Copy pathcreateprojectviewcontroller.cpp
File metadata and controls
93 lines (72 loc) · 2.1 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
#include "createprojectviewcontroller.h"
#include "createprojectview.h"
#include "Database.h"
#include "project.h"
#include "manageprojectsview.h"
#include "logindialog.h"
#include <QObject>
#include <QDebug>
CreateProjectViewController *CreateProjectViewController::instance=0;
CreateProjectViewController::CreateProjectViewController(): QObject(),
database(Database::getInstance())
{
}
int CreateProjectViewController::saveProject(){
Project* project = new Project (createProjectsView->getProjectTitle());
project->setDescription(createProjectsView->getProjectDescription());
project->setTeamMin(createProjectsView->getProjectTeamMin());
project->setTeamMax(createProjectsView->getProjectTeamMax());
if(createProjectsView->aTitle.isEmpty())
{
return 2;//project name
}
if(project->getMaxTeamSize() < project->getMinTeamSize() ||
createProjectsView->aMax.isEmpty() || createProjectsView->aMin.isEmpty() ||
createProjectsView->aMax.toInt() == 0 || createProjectsView->aMin.toInt() < 2)
{
return 3; //invalid team size
}
else{
if(database->createProject(*project))
{
return 1;
}
else return 0;
}
}
int CreateProjectViewController::goToManageProjectView()
{
createProjectsView->close();
ManageProjectsView manageProjectView;
manageProjectView.exec();
return 0;
}
int CreateProjectViewController::goToLoginDialog(){
createProjectsView->close();
LoginDialog login;
login.exec();
}
int CreateProjectViewController::error(int type)
{
if(type == 0)//all correct
{
return err = 0;
}
if(type == 1)//team size error
{
return err = 1;
}
if(type == 2)//project name
{
return err = 2;
}
}
int CreateProjectViewController::setView(CreateProjectView *view){
createProjectsView=view;
}
CreateProjectViewController* CreateProjectViewController::getInstance(){
if(!CreateProjectViewController::instance){
CreateProjectViewController::instance = new CreateProjectViewController();
}
return CreateProjectViewController::instance;
}