BadgeData::BadgeData()
{
- // se il file non esiste crealo per tutto l'anno
- // se esiste, ma non c'e' nulla per questo anno, crea tutto l'anno
+
}
bool BadgeData::setTimetable(TimeTable tt)
out >> dum;
if (dum.day == tt.day) {
data.seek(pos);
- //tt = dum;
+
out << tt;
data.close();
return true;
return false;
}
-int BadgeData::totalHours(QDate begin, QDate end)
+QTime BadgeData::totalTime(QDate begin, QDate end)
{
- return 0;
+ QFile data;
+ TimeTable dum;
+ QTime total(0, 0, 0, 0);
+
+ int totalInSeconds = 0;
+
+ data.setFileName(QDir::homePath() + QDir::separator() + "badge.data");
+ data.open(QIODevice::ReadOnly);
+ QDataStream out(&data);
+ while (!data.atEnd()) {
+ out >> dum;
+ if (dum.day >= begin && dum.day <= end) {
+ totalInSeconds += dum.entrance.secsTo(dum.exit);
+ if (dum.firstPause != dum.endFirstPause) {
+ totalInSeconds -= dum.firstPause.secsTo(dum.endFirstPause);
+ }
+
+ if (dum.secondPause != dum.endSecondPause) {
+ totalInSeconds -= dum.secondPause.secsTo(dum.endSecondPause);
+ }
+
+
+
+ }
+
+ }
+ data.close();
+ total.setHMS((int)(totalInSeconds / 3600), (int) ((totalInSeconds % 3600) / 60), 0);
+ return total;
}