-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject.cpp
More file actions
127 lines (99 loc) · 2.27 KB
/
Copy pathproject.cpp
File metadata and controls
127 lines (99 loc) · 2.27 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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include "project.h"
#include "student.h"
#include <QString>
Project::Project(const int& pID,const QString &title) : projectName(QString::fromStdString(title.toStdString())),ID(pID),teamMax(0),teamMin(0)
{
}
Project::Project(const QString &title) : projectName(QString::fromStdString(title.toStdString())),ID(-1),teamMax(0),teamMin(0)
{
}
Project::Project(const Project &obj){
projectName = QString::fromStdString(obj.projectName.toStdString());
teamMax = obj.teamMax;
teamMin = obj.teamMin;
description = QString::fromStdString(obj.description.toStdString());
registeredStudents = obj.registeredStudents;
ID = obj.getID();
results = obj.resultsAreAvailable();
}
int Project::registerStudent(Student& student)
{
if (!registeredStudents.contains(&student))
{
registeredStudents << &student;
return 1;
}
return 0;
}
int Project::registerStudents(QList<Student*>* students)
{
for (int i = 0; i < students->count(); i++)
{
if (!registerStudent(*(students->at(i))))
{
return 0;
}
return 1;
}
}
int Project::unregisterStudent(Student& student){
return registeredStudents.removeOne(&student);
}
int Project::setTeamMax(const int& max)
{
teamMax = max;
return 1;
}
int Project::setTeamMin(const int& min)
{
if (min > 0)
{
teamMin = min;
return 1;
}
else
return 0;
}
int Project::setDescription(const QString& description)
{
this->description = QString(description);
return 1;
}
int Project::setTitle(const QString& title){
this->projectName = QString(title);
return 1;
}
int Project::getMinTeamSize() const{
return teamMin;
}
int Project::getMaxTeamSize() const {
return teamMax;
}
QString Project::getDescription() const {
return description;
}
QString Project::getTitle() const{
return projectName;
}
int Project::getID() const
{
return ID;
}
int Project::setID(const int& newID){
ID = newID;
return 1;
}
const QList<Student*>& Project::getRegisteredStudents () const{
return registeredStudents;
}
bool Project::operator==(const Project& other){
return other.getID() == getID();
}
int Project::resultsAreAvailable() const
{
return results;
}
int Project::setResultsAvailable(int available)
{
results = available;
}