From f3619b20e1c5baa342eb7466c67c44d3192bb3eb Mon Sep 17 00:00:00 2001 From: Furkan Sahin Date: Tue, 13 Apr 2021 00:52:32 -0500 Subject: Initial TypeScript refactoring --- src/models/PeerTeacher.ts | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/models/PeerTeacher.ts (limited to 'src/models/PeerTeacher.ts') diff --git a/src/models/PeerTeacher.ts b/src/models/PeerTeacher.ts new file mode 100644 index 0000000..f387431 --- /dev/null +++ b/src/models/PeerTeacher.ts @@ -0,0 +1,41 @@ +import EventInfo from './EventInfo'; + +export default class PeerTeacher { + firstname: string; + + lastname: string; + + uin: number; + + events: EventInfo[]; + + assignedLabs: Set; + + constructor(firstname = '', lastname = '', uin = 0) { + this.firstname = firstname; + this.lastname = lastname; + this.uin = uin; + this.events = []; + this.assignedLabs = new Set(); + } + + conflictsWith(event: EventInfo) { + let conflicts = false; + this.events.every((item) => { + if (item.conflictsWith(event)) { + conflicts = true; + return false; + } + return true; + }); + return conflicts; + } + + get name() { + return `${this.firstname} ${this.lastname}`; + } + + get id() { + return this.uin; + } +} -- cgit v1.2.3