Imports System.IO
Public Class FormMain
' ----- Attributes -----
Private BSlist As FormList
' ----- Initialising window -----
Private Sub FormMain_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'Try
'Catch ex As Exception
'End Try
reloadChildList()
End Sub
' ----- Methodes ------
Private Sub reloadChildList()
Dim allChildren As List(Of Child) = New List(Of Child)
allChildren = dbdata.getChildren()
'Fill ListViewMain
ListViewMain.Items.Clear()
For Each aChild As Child In allChildren
Dim childName As String
childName = aChild.firstname & " " & aChild.lastname
Dim planning As String = ""
If Not aChild.meet Is Nothing Then
For Each dico As KeyValuePair(Of String, Boolean) In aChild.meet.weekdays
If dico.Value Then
planning += dico.Key & " "
End If
planning = StrConv(planning, VbStrConv.ProperCase)
Next
End If
Dim itemChild As ListViewItem = ListViewMain.Items.Add(childName)
itemChild.SubItems.Add(planning)
itemChild.Tag = aChild.id
Next
End Sub
' ----- Handlers and Listerners -----
Private Sub ShowBSList()
If BSlist Is Nothing Then
BSlist = New FormList(PersonType.BabySitter, ListFormMode.Viewer)
BSlist.Show()
BSlist.Height = Me.Height
BSlist.Top = Me.Top
BSlist.Left = Me.Right
ElseIf BSlist.Visible = False Then
BSlist.Dispose()
BSlist = Nothing
ShowBSList()
End If
End Sub
Private Sub BSListButton_Click(sender As System.Object, e As System.EventArgs) Handles BSListButton.Click
ShowBSList()
End Sub
Private Sub TSBSList_Click(sender As System.Object, e As System.EventArgs) Handles TSBSList.Click
ShowBSList()
End Sub
' add a new child
Private Sub NewChild()
' Instanciation of a new FormChildID
Dim formAddChild As FormChildID = New FormChildID(IDFormMode.CREATOR)
' Show of the form and retrivement of the way the form close.
Dim conclusion As DialogResult = formAddChild.ShowDialog()
' If the user decide to abort the creation of a child, then we do nothing.
' But if the user validate it, we manage it
If conclusion = Windows.Forms.DialogResult.OK Then
reloadChildList()
End If
' Dispose call the garbage collector in order to free the RAM.
'The form don't have any existance anymore.
formAddChild.Dispose()
End Sub
Private Sub ToolStripButton1_Click(sender As System.Object, e As System.EventArgs) Handles NewSubButton.Click
NewChild()
End Sub
' Edit a listed child
Private Sub EditChild(Optional theFormMode As IDFormMode = IDFormMode.VIEWER)
If ListViewMain.SelectedItems.Count > 0 Then
Dim theChild As Child = dbdata.getChildByID(ListViewMain.SelectedItems(0).Tag)
Dim aFormChildID As FormChildID = New FormChildID(theFormMode, theChild)
Dim conclusion As DialogResult = aFormChildID.ShowDialog()
If conclusion = Windows.Forms.DialogResult.OK Then
reloadChildList()
End If
aFormChildID.Dispose()
End If
End Sub
Private Sub TSEditChild_Click(sender As System.Object, e As System.EventArgs) Handles TSEditChild.Click
EditChild(IDFormMode.EDITOR)
End Sub
Private Sub EditChildButton_Click(sender As System.Object, e As System.EventArgs) Handles EditChildButton.Click
EditChild(IDFormMode.EDITOR)
End Sub
Private Sub ListViewMain_DoubleClick(sender As System.Object, e As System.EventArgs) Handles ListViewMain.DoubleClick
EditChild(IDFormMode.VIEWER)
End Sub
Private Sub TSShowChild_Click(sender As System.Object, e As System.EventArgs) Handles TSShowChild.Click
EditChild(IDFormMode.VIEWER)
End Sub
Private Sub CMSEditChild_Click(sender As System.Object, e As System.EventArgs) Handles CMSEditChild.Click
EditChild(IDFormMode.EDITOR)
End Sub
Private Sub CMSShowChild_Click(sender As System.Object, e As System.EventArgs) Handles CMSShowChild.Click
EditChild(IDFormMode.VIEWER)
End Sub
Public Sub DeleteChild()
Dim msgResult As DialogResult = MsgBox("You are about to remove " & ListViewMain.SelectedItems(0).Text & " from the software. Would you continue ?", MsgBoxStyle.YesNo, "Confirm deletion")
If msgResult = vbYes Then
dbdata.deleteChildByID(ListViewMain.SelectedItems(0).Tag)
reloadChildList()
End If
End Sub
Private Sub CMSDeleteChild_Click(sender As System.Object, e As System.EventArgs) Handles CMSDeleteChild.Click
DeleteChild()
End Sub
Private Sub TSDeleteChild_Click(sender As System.Object, e As System.EventArgs) Handles TSDeleteChild.Click
DeleteChild()
End Sub
Private Sub FormMain_Move(sender As Object, e As System.EventArgs) Handles Me.Move
If Not BSlist Is Nothing Then
If BSlist.TSPin.Checked Then
BSlist.Top = Me.Top
BSlist.Left = Me.Right
End If
End If
End Sub
' On selection change
Private Sub ListViewMain_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListViewMain.SelectedIndexChanged
If ListViewMain.SelectedItems.Count <= 0 Then
CMSDeleteChild.Enabled = False
TSDeleteChild.Enabled = False
EditChildButton.Enabled = False
CMSEditChild.Enabled = False
TSEditChild.Enabled = False
CMSShowChild.Enabled = False
TSShowChild.Enabled = False
CMSShowChild.Text = "Show this child..."
CMSEditChild.Text = "Edit this child..."
CMSDeleteChild.Text = "Delete this child "
Else
CMSDeleteChild.Enabled = True
TSDeleteChild.Enabled = True
EditChildButton.Enabled = True
CMSEditChild.Enabled = True
TSEditChild.Enabled = True
CMSShowChild.Enabled = True
TSShowChild.Enabled = True
CMSShowChild.Text = "Show " + ListViewMain.SelectedItems(0).Text + "..."
CMSEditChild.Text = "Edit " + ListViewMain.SelectedItems(0).Text + "..."
CMSDeleteChild.Text = "Delete " + ListViewMain.SelectedItems(0).Text
End If
End Sub
' ----- Closing programme -----
Private Sub QuitToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles QuitToolStripMenuItem.Click
Me.Close()
End Sub
'''
''' Switch to Detail view the list of Children
'''
'''
Private Sub ViewDetail()
ListViewMain.View = View.Details
End Sub
Private Sub DetailToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles DetailToolStripMenuItem.Click
ViewDetail()
End Sub
Private Sub DetailToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles DetailToolStripMenuItem1.Click
ViewDetail()
End Sub
'''
''' Switch to List view the list of Children
'''
'''
Private Sub ViewList()
ListViewMain.View = View.List
End Sub
Private Sub ListToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ListToolStripMenuItem.Click
ViewList()
End Sub
Private Sub ListToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles ListToolStripMenuItem1.Click
ViewList()
End Sub
'''
''' Switch to Small view the list of Children
'''
'''
Private Sub ViewSmall()
ListViewMain.View = View.SmallIcon
End Sub
Private Sub SmallIconsToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles SmallIconsToolStripMenuItem.Click
ViewSmall()
End Sub
Private Sub SmallIconsToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles SmallIconsToolStripMenuItem1.Click
ViewSmall()
End Sub
End Class