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