This repository has been archived by the owner on Aug 13, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSaison.cpp
71 lines (66 loc) · 1.68 KB
/
Saison.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
#include "Saison.h"
#include "Etudiant.h"
#include "Semestre.h"
Saison::Saison(std::string n, std::string d)
{
TemplateManager<Saison>& tSaison=TemplateManager<Saison>::getInstance();
if(!tSaison.alreadyExist(n))
{
nom=QString::fromStdString(n);
description=QString::fromStdString(d);
tSaison.New(*this);
}
else
{
throw SaisonException("Erreur : la saison "+n+" existe deja !");
}
}
Saison::Saison(QString n, QString d)
{
Saison(n.toStdString(),d.toStdString());
}
Saison::Saison(const char* n, const char *d)
{
Saison(std::string(n),std::string(d));
}
Saison StringToSaison(const QString& str){//renvoie une référence vers la catégorie si elle existe, exception sinon.
TemplateManager<Saison>& tSaison=TemplateManager<Saison>::getInstance();
if(tSaison.alreadyExist(str))
{
return tSaison.getElement(str);
}
else
{
throw SaisonException("Erreur la categorie "+str.toStdString()+" n'existe pas.");
}
}
bool operator ==(Saison s1,Saison s2)
{
return (s1.getNom()==s2.getNom());
}
bool operator >(Saison s1,Saison s2)
{
if((s1.getNom()=="Automne")&&(s2.getNom()=="Printemps"))
{
return true;
}
else
{
return false;
}
}
void Saison::destroy()
{
TemplateManager<Semestre>& tSemestre=TemplateManager<Semestre>::getInstance();
if(tSemestre.size()>0)
{
for(std::vector<Semestre>::iterator it = tSemestre.getIterator();it!=tSemestre.end();it++)//on supprime tous les semstres concernés
{
if(it->getSaison()==*this)
{
it->destroy();
tSemestre.erase(*it);
}
}
}
}