aboutsummaryrefslogtreecommitdiff
path: root/src/models
diff options
context:
space:
mode:
Diffstat (limited to 'src/models')
-rw-r--r--src/models/EventInfo.ts5
-rw-r--r--src/models/PeerTeacher.ts8
2 files changed, 13 insertions, 0 deletions
diff --git a/src/models/EventInfo.ts b/src/models/EventInfo.ts
index 6fce60b..b0ac25b 100644
--- a/src/models/EventInfo.ts
+++ b/src/models/EventInfo.ts
@@ -43,6 +43,11 @@ export default class EventInfo {
return `${hour}:${minute} ${meridiem}`;
}
+ conflictsWith(event: EventInfo) {
+ const daysConflict = event.days.match(new RegExp(`[${this.days}]`));
+ return daysConflict && this.start <= event.end && event.start <= this.end;
+ }
+
get info() {
if(this.days === "") {
return `WEB`;
diff --git a/src/models/PeerTeacher.ts b/src/models/PeerTeacher.ts
index f1a8739..5d955fd 100644
--- a/src/models/PeerTeacher.ts
+++ b/src/models/PeerTeacher.ts
@@ -37,4 +37,12 @@ export default class PeerTeacher {
pt.labs = new Set(labs);
return pt;
}
+
+ conflictsWith(event: EventInfo) {
+ return this.events.some(item => item.conflictsWith(event));
+ }
+
+ get name() {
+ return `${this.firstname} ${this.lastname}`;
+ }
} \ No newline at end of file