Thoscellen c66626ff3a init
2020-05-16 17:38:46 +02:00

141 lines
4.4 KiB
VB.net

Public Class Meet
Private _id As Integer
Public ReadOnly Property id() As Integer
Get
Return _id
End Get
End Property
Private _weekdays As New Dictionary(Of String, Boolean)
Public ReadOnly Property weekdays() As Dictionary(Of String, Boolean)
Get
Return _weekdays
End Get
End Property
Public Sub New(id As Integer)
_id = id
_weekdays.Add("monday", False)
_weekdays.Add("tuesday", False)
_weekdays.Add("wednesday", False)
_weekdays.Add("thursday", False)
_weekdays.Add("friday", False)
_weekdays.Add("saturday", False)
_weekdays.Add("sunday", False)
End Sub
Public Sub New(weekDayName As String, Optional weekDayName2 As String = Nothing, Optional weekDayName3 As String = Nothing, Optional weekDayName4 As String = Nothing, Optional weekDayName5 As String = Nothing, Optional weekDayName6 As String = Nothing, Optional weekDayName7 As String = Nothing)
If Not weekDayName Is Nothing And _weekdays.ContainsKey(weekDayName.ToLower) Then
_weekdays(weekDayName) = True
End If
If Not weekDayName2 Is Nothing And _weekdays.ContainsKey(weekDayName2.ToLower) Then
_weekdays(weekDayName2) = True
End If
If Not weekDayName3 Is Nothing And _weekdays.ContainsKey(weekDayName3.ToLower) Then
_weekdays(weekDayName3) = True
End If
If Not weekDayName4 Is Nothing And _weekdays.ContainsKey(weekDayName4.ToLower) Then
_weekdays(weekDayName4) = True
End If
If Not weekDayName5 Is Nothing And _weekdays.ContainsKey(weekDayName5.ToLower) Then
_weekdays(weekDayName5) = True
End If
If Not weekDayName6 Is Nothing And _weekdays.ContainsKey(weekDayName6.ToLower) Then
_weekdays(weekDayName6) = True
End If
If Not weekDayName7 Is Nothing And _weekdays.ContainsKey(weekDayName7.ToLower) Then
_weekdays(weekDayName7) = True
End If
End Sub
Public Property monday() As Boolean
Get
Return _weekdays("monday")
End Get
Set(ByVal value As Boolean)
_weekdays("monday") = value
End Set
End Property
Public Property tuesday() As Boolean
Get
Return _weekdays("tuesday")
End Get
Set(ByVal value As Boolean)
_weekdays("tuesday") = value
End Set
End Property
Public Property wednesday() As Boolean
Get
Return _weekdays("wednesday")
End Get
Set(ByVal value As Boolean)
_weekdays("wednesday") = value
End Set
End Property
Public Property thursday() As Boolean
Get
Return _weekdays("thursday")
End Get
Set(ByVal value As Boolean)
_weekdays("thursday") = value
End Set
End Property
Public Property friday() As Boolean
Get
Return _weekdays("friday")
End Get
Set(ByVal value As Boolean)
_weekdays("friday") = value
End Set
End Property
Public Property saturday() As Boolean
Get
Return _weekdays("saturday")
End Get
Set(ByVal value As Boolean)
_weekdays("saturday") = value
End Set
End Property
Public Property sunday() As Boolean
Get
Return _weekdays("sunday")
End Get
Set(ByVal value As Boolean)
_weekdays("sunday") = value
End Set
End Property
Public Overrides Function toString() As String
Return Me.monday + Me.tuesday + Me.wednesday + Me.thursday + Me.friday + Me.saturday + Me.sunday
End Function
Public Function overlap(anotherMeet As Meet) As Boolean
If anotherMeet Is Nothing Then Return False
Dim isOverlapped As Boolean = (Me.monday = True And anotherMeet.monday = True) Or
(Me.tuesday = True And anotherMeet.tuesday = True) Or
(Me.wednesday = True And anotherMeet.wednesday = True) Or
(Me.thursday = True And anotherMeet.thursday = True) Or
(Me.friday = True And anotherMeet.friday = True) Or
(Me.saturday = True And anotherMeet.saturday = True) Or
(Me.sunday = True And anotherMeet.sunday = True)
Return isOverlapped
End Function
End Class