Index: ActiviteitenOpvolging/ActiviteitenOpvolging/ActiviteitenOpvolgingForm.vb =================================================================== diff -u -r1717 -r1718 --- ActiviteitenOpvolging/ActiviteitenOpvolging/ActiviteitenOpvolgingForm.vb (.../ActiviteitenOpvolgingForm.vb) (revision 1717) +++ ActiviteitenOpvolging/ActiviteitenOpvolging/ActiviteitenOpvolgingForm.vb (.../ActiviteitenOpvolgingForm.vb) (revision 1718) @@ -11,7 +11,7 @@ Try 'Variable initialisation, putting this in a constructor breaks 'DatagridViewControlsFlowLayoutPanel.Controls.Add' -> null reference exception. _datagridViewUserControls = New List(Of IDataGridUserControl) - _employeeUserControls = new List(Of IEmployeeUserControl) + _employeeUserControls = New List(Of IEmployeeUserControl) _domainController = DomainController.GetInstance() 'Set the color of the form. @@ -42,22 +42,22 @@ ''' Private Sub LoadDataGridUserControls() Try - 'Loop for every data grid view, number of grids gotten from config. - For gridNumber = 0 To ConfigsLoader.NumberOfGrids - 1 - 'Initialise the user control and set parent form and grid number. - Dim userControl As New DataGridViewUserControl(Me, gridNumber) - 'Set other parameters. - With userControl - .Size = New System.Drawing.Size(ConfigsLoader.GridWidths(gridNumber), ConfigsLoader.GridHeights(gridNumber)) - End With + 'Loop for every data grid view, number of grids gotten from config. + For gridNumber = 0 To ConfigsLoader.NumberOfGrids - 1 + 'Initialise the user control and set parent form and grid number. + Dim userControl As New DataGridViewUserControl(Me, gridNumber) + 'Set other parameters. + With userControl + .Size = New System.Drawing.Size(ConfigsLoader.GridWidths(gridNumber), ConfigsLoader.GridHeights(gridNumber)) + End With - 'Add to list of user controls. - _datagridViewUserControls.Add(userControl) - 'Add to layout panel. - DatagridViewControlsFlowLayoutPanel.Controls.Add(userControl) - Next - 'Refresh all user grids. - RefreshUserGridsData() + 'Add to list of user controls. + _datagridViewUserControls.Add(userControl) + 'Add to layout panel. + DatagridViewControlsFlowLayoutPanel.Controls.Add(userControl) + Next + 'Refresh all user grids. + RefreshUserGridsData() Catch ex As Exception Throw New Exception($"Could not load data grid user controls.{vbNewLine}{ex.Message}") End Try @@ -109,31 +109,38 @@ ''' Private Sub LoadEmployeeUserControls() Try - 'Loop for every employee, number of grids gotten from config. - For employeeIndex = 0 To ConfigsLoader.NumberOfEmployees - 1 - 'Initialise the user control and set parent form and grid number. - Dim userControl As New EmployeeUserControl(Me, employeeIndex) - 'Set other parameters. - With userControl - .Size = New System.Drawing.Size(250, 300) 'todo make configurable - End With + 'Loop for every employee, number of grids gotten from config. + For employeeIndex = 0 To ConfigsLoader.NumberOfEmployees - 1 + 'Initialise the user control and set parent form and grid number. + Dim userControl As New EmployeeUserControl(Me, employeeIndex) + 'Set other parameters. + With userControl + .Size = New System.Drawing.Size(250, 300) 'todo make configurable + End With - 'Add to list of user controls. - _employeeUserControls.Add(userControl) - 'Add to layout panel. - EmployeesControlsFlowLayoutPanel.Controls.Add(userControl) - Next + 'Add to list of user controls. + _employeeUserControls.Add(userControl) + 'Add to layout panel. + EmployeesControlsFlowLayoutPanel.Controls.Add(userControl) + Next Catch ex As Exception - throw New Exception($"Could not load the employee user controls.{vbNewLine}{ex.Message}") + Throw New Exception($"Could not load the employee user controls.{vbNewLine}{ex.Message}") End Try End Sub - Public Function GetAllEmployees() As ICollection(Of IEmployee) Implements IEmployeePickerParentUserControl.GetAllEmployees + ''' + Public Function GetAllEmployees() As ICollection(Of IEmployee) Implements IEmployeesMainForm.GetAllEmployees Return _domainController.GetAvailableEmployees() End Function - Public Sub SelectEmployee(employee As IEmployee) Implements IEmployeePickerParentUserControl.SelectEmployee - _domainController.SelectEmployee(employee) + ''' + Public Sub SelectEmployee(employeeIndex As Integer, employee As IEmployee) Implements IEmployeesMainForm.SelectEmployee + _domainController.SelectEmployee(employeeIndex, employee) End Sub + + ''' + Public Function GetSelectedEmployee(employeeIndex As Integer) As IEmployee Implements IEmployeesMainForm.GetSelectedEmployee + Return _domainController.GetSelectedEmployee(employeeIndex) + End Function #End Region End Class Index: ActiviteitenOpvolging/ActiviteitenOpvolging/domain/controllers/DomainController.vb =================================================================== diff -u -r1714 -r1718 --- ActiviteitenOpvolging/ActiviteitenOpvolging/domain/controllers/DomainController.vb (.../DomainController.vb) (revision 1714) +++ ActiviteitenOpvolging/ActiviteitenOpvolging/domain/controllers/DomainController.vb (.../DomainController.vb) (revision 1718) @@ -36,20 +36,24 @@ End Function ''' + Public Function GetSelectedEmployee(employeeNumber As Integer) As IEmployee Implements IDomainController.GetSelectedEmployee + Return _employeeManager.GetSelectedEmployee(employeeNumber) + End Function + + ''' Public Function GetSelectedEmployees() As ICollection(Of IEmployee) Implements IDomainController.GetSelectedEmployees Return _employeeManager.SelectedEmployees End Function ''' - Public Sub SelectEmployee(employee As IEmployee) Implements IDomainController.SelectEmployee - _employeeManager.SelectEmployee(employee) + Public Sub SelectEmployee(employeeNumber As Integer, employee As IEmployee) Implements IDomainController.SelectEmployee + _employeeManager.SelectEmployee(employeeNumber, employee) End Sub ''' - public sub DeselectEmployee(employee As IEmployee) Implements IDomainController.DeselectEmployee - _employeeManager.RemoveEmployeeSelection(employee) - End sub - + Public Sub DeselectEmployee(employeeNumber As Integer) Implements IDomainController.DeselectEmployee + _employeeManager.RemoveEmployeeSelection(employeeNumber) + End Sub #End Region #Region "Work items" Index: ActiviteitenOpvolging/ActiviteitenOpvolging/screens/employee/EmployeeUserControl.vb =================================================================== diff -u -r1717 -r1718 --- ActiviteitenOpvolging/ActiviteitenOpvolging/screens/employee/EmployeeUserControl.vb (.../EmployeeUserControl.vb) (revision 1717) +++ ActiviteitenOpvolging/ActiviteitenOpvolging/screens/employee/EmployeeUserControl.vb (.../EmployeeUserControl.vb) (revision 1718) @@ -5,7 +5,6 @@ Private ReadOnly _parentForm As IEmployeesMainForm Private ReadOnly Property EmployeeIndex As Integer - Private _employee As IEmployee Private Sub New() ' This call is required by the designer. @@ -40,7 +39,7 @@ BorderStyle = BorderStyle.FixedSingle 'Show the Employee picker user control. - dim employeePickerUserControl = new EmployeePickerUserControl(Me) + Dim employeePickerUserControl = New EmployeePickerUserControl(Me) With employeePickerUserControl 'Make it exactly as big as the panel it will go into. .Size = UserControlPanel.Size @@ -89,9 +88,7 @@ Public Sub SelectEmployee(employee As IEmployee) Implements IEmployeePickerParentUserControl.SelectEmployee Try 'Call parent to select employee. - _parentForm.SelectEmployee(employee) - 'If successful, store the selected employee. - _employee = employee + _parentForm.SelectEmployee(EmployeeIndex, employee) Catch ex As Exception MessageBox.Show($"Could not select employee.{vbNewLine}{ex.Message}", "An error occured...", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try @@ -101,7 +98,7 @@ #Region "Employee details" ''' Public Function FetchEmployee() As IEmployee Implements IEmployeeDetailParentUserControl.FetchEmployee - Return _employee + Return _parentForm.GetSelectedEmployee(EmployeeIndex) End Function ''' @@ -110,7 +107,7 @@ End Sub ''' - Public Sub PauzeActivity() Implements IEmployeeDetailParentUserControl.PauzeActivity + Public Sub FinishActivity() Implements IEmployeeDetailParentUserControl.FinishActivity Throw New NotImplementedException End Sub Index: ActiviteitenOpvolging/ActiviteitenOpvolging/screens/employee/details/EmployeeDetailUserControl.Designer.vb =================================================================== diff -u -r1717 -r1718 --- ActiviteitenOpvolging/ActiviteitenOpvolging/screens/employee/details/EmployeeDetailUserControl.Designer.vb (.../EmployeeDetailUserControl.Designer.vb) (revision 1717) +++ ActiviteitenOpvolging/ActiviteitenOpvolging/screens/employee/details/EmployeeDetailUserControl.Designer.vb (.../EmployeeDetailUserControl.Designer.vb) (revision 1718) @@ -27,8 +27,8 @@ Me.Label2 = New System.Windows.Forms.Label() Me.ImagePictureBox = New System.Windows.Forms.PictureBox() Me.StartButton = New System.Windows.Forms.Button() - Me.PauzeButton = New System.Windows.Forms.Button() Me.StopButton = New System.Windows.Forms.Button() + Me.FinishButton = New System.Windows.Forms.Button() Me.NameLabel = New System.Windows.Forms.Label() Me.StatusLabel = New System.Windows.Forms.Label() Me.Label1 = New System.Windows.Forms.Label() @@ -50,8 +50,8 @@ Me.TableLayoutPanel1.Controls.Add(Me.Label2, 0, 5) Me.TableLayoutPanel1.Controls.Add(Me.ImagePictureBox, 2, 0) Me.TableLayoutPanel1.Controls.Add(Me.StartButton, 1, 7) - Me.TableLayoutPanel1.Controls.Add(Me.PauzeButton, 1, 9) - Me.TableLayoutPanel1.Controls.Add(Me.StopButton, 1, 11) + Me.TableLayoutPanel1.Controls.Add(Me.StopButton, 1, 9) + Me.TableLayoutPanel1.Controls.Add(Me.FinishButton, 1, 11) Me.TableLayoutPanel1.Controls.Add(Me.NameLabel, 0, 0) Me.TableLayoutPanel1.Controls.Add(Me.StatusLabel, 0, 3) Me.TableLayoutPanel1.Controls.Add(Me.Label1, 0, 4) @@ -123,29 +123,29 @@ Me.StartButton.Text = "START" Me.StartButton.UseVisualStyleBackColor = true ' - 'PauzeButton - ' - Me.PauzeButton.Dock = System.Windows.Forms.DockStyle.Fill - Me.PauzeButton.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) - Me.PauzeButton.Location = New System.Drawing.Point(167, 444) - Me.PauzeButton.Name = "PauzeButton" - Me.PauzeButton.Size = New System.Drawing.Size(158, 57) - Me.PauzeButton.TabIndex = 5 - Me.PauzeButton.TabStop = false - Me.PauzeButton.Text = "| |" - Me.PauzeButton.UseVisualStyleBackColor = true - ' 'StopButton ' Me.StopButton.Dock = System.Windows.Forms.DockStyle.Fill Me.StopButton.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) - Me.StopButton.Location = New System.Drawing.Point(167, 525) + Me.StopButton.Location = New System.Drawing.Point(167, 444) Me.StopButton.Name = "StopButton" Me.StopButton.Size = New System.Drawing.Size(158, 57) - Me.StopButton.TabIndex = 4 + Me.StopButton.TabIndex = 5 + Me.StopButton.TabStop = false Me.StopButton.Text = "X" Me.StopButton.UseVisualStyleBackColor = true ' + 'FinishButton + ' + Me.FinishButton.Dock = System.Windows.Forms.DockStyle.Fill + Me.FinishButton.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte)) + Me.FinishButton.Location = New System.Drawing.Point(167, 525) + Me.FinishButton.Name = "FinishButton" + Me.FinishButton.Size = New System.Drawing.Size(158, 57) + Me.FinishButton.TabIndex = 4 + Me.FinishButton.Text = "AFGEWERKT" + Me.FinishButton.UseVisualStyleBackColor = true + ' 'NameLabel ' Me.NameLabel.AutoSize = true @@ -213,8 +213,8 @@ Friend WithEvents TableLayoutPanel1 As TableLayoutPanel Friend WithEvents ImagePictureBox As PictureBox Friend WithEvents StartButton As Button + Friend WithEvents FinishButton As Button Friend WithEvents StopButton As Button - Friend WithEvents PauzeButton As Button Friend WithEvents NameLabel As Label Friend WithEvents StatusLabel As Label Friend WithEvents Label1 As Label Index: ActiviteitenOpvolging/ActiviteitenOpvolging/domain/controllers/IDomainController.vb =================================================================== diff -u -r1714 -r1718 --- ActiviteitenOpvolging/ActiviteitenOpvolging/domain/controllers/IDomainController.vb (.../IDomainController.vb) (revision 1714) +++ ActiviteitenOpvolging/ActiviteitenOpvolging/domain/controllers/IDomainController.vb (.../IDomainController.vb) (revision 1718) @@ -8,22 +8,31 @@ Function GetAvailableEmployees() As ICollection(Of IEmployee) ''' + ''' Get a selected employee corresponding to an employee number. This is merely the pre-defined index for each possible employee. + ''' If no employee was selected, 'Nothing' will be returned. + ''' + ''' The number (index) of the employee, 0 based + ''' The employee + Function GetSelectedEmployee(employeeNumber As Integer) As IEmployee + + ''' ''' Gets a collection of all the selected employees. ''' ''' Function GetSelectedEmployees() As ICollection(Of IEmployee) ''' - ''' Select an employee as one of the usable employees. + ''' Select and store the chosen employee. ''' + ''' The number (index) for the employee ''' - sub SelectEmployee(employee As IEmployee) + Sub SelectEmployee(employeeNumber As Integer, employee As IEmployee) ''' ''' Deselect an employee. ''' - ''' - sub DeselectEmployee(employee As IEmployee) + ''' The number (index) of an employee, 0 based + sub DeselectEmployee(employeeNumber As Integer) #End Region #Region "Work items" Index: ActiviteitenOpvolging/ActiviteitenOpvolging/domain/classes/implementations/Employee.vb =================================================================== diff -u -r1714 -r1718 --- ActiviteitenOpvolging/ActiviteitenOpvolging/domain/classes/implementations/Employee.vb (.../Employee.vb) (revision 1714) +++ ActiviteitenOpvolging/ActiviteitenOpvolging/domain/classes/implementations/Employee.vb (.../Employee.vb) (revision 1718) @@ -3,7 +3,7 @@ Public Class Employee Implements IEmployee - Public Property EmployeeNumber As Integer Implements IEmployee.EmployeeNumber + Public Property PersonelNumber As Integer Implements IEmployee.PersonelNumber Public Property FirstName As String Implements IEmployee.FirstName Public Property LastName As String Implements IEmployee.LastName Public Property Initials As String Implements IEmployee.Initials Index: ActiviteitenOpvolging/ActiviteitenOpvolging/screens/employee/details/IEmployeeDetailParentUserControl.vb =================================================================== diff -u -r1717 -r1718 --- ActiviteitenOpvolging/ActiviteitenOpvolging/screens/employee/details/IEmployeeDetailParentUserControl.vb (.../IEmployeeDetailParentUserControl.vb) (revision 1717) +++ ActiviteitenOpvolging/ActiviteitenOpvolging/screens/employee/details/IEmployeeDetailParentUserControl.vb (.../IEmployeeDetailParentUserControl.vb) (revision 1718) @@ -6,6 +6,6 @@ Function FetchEmployee() As IEmployee Sub StartActivity() - Sub PauzeActivity() + Sub FinishActivity() Sub StopActivity() End Interface Index: ActiviteitenOpvolging/ActiviteitenOpvolging/domain/managers/implementations/EmployeeManager.vb =================================================================== diff -u -r1714 -r1718 --- ActiviteitenOpvolging/ActiviteitenOpvolging/domain/managers/implementations/EmployeeManager.vb (.../EmployeeManager.vb) (revision 1714) +++ ActiviteitenOpvolging/ActiviteitenOpvolging/domain/managers/implementations/EmployeeManager.vb (.../EmployeeManager.vb) (revision 1718) @@ -1,4 +1,6 @@ -Public Class EmployeeManager +Imports ActiviteitenOpvolging.configs + +Public Class EmployeeManager Implements IEmployeeManager Private ReadOnly _employees As ICollection(Of IEmployee) @@ -15,44 +17,70 @@ 'Select the employees from the collection of all employees, which are not selected yet. 'The employees are compared on their initials in lowercase. Return New HashSet(Of IEmployee)(_employees.Where(Function(employee) _ - Not _selectedEmployees.Any(Function(selectedEmployee) _ + Not _selectedEmployeesDictionary.Any(Function(selectedEmployee) _ employee.Equals(selectedEmployee)))) End Get End Property - Private ReadOnly _selectedEmployees As New List(Of IEmployee) + Private ReadOnly _selectedEmployeesDictionary As new Dictionary(Of Integer, IEmployee) ''' Public ReadOnly Property SelectedEmployees As ICollection(Of IEmployee) Implements IEmployeeManager.SelectedEmployees Get - Return New HashSet(Of IEmployee)(_selectedEmployees) + Return New HashSet(Of IEmployee)(_selectedEmployeesDictionary.Values) End Get End Property Sub New() 'Initial fetching of employees, then stored. _employees = EmployeesDatabaseMapper.FetchEmployees() + 'Filling the selected employees dictionary with the employee number (an index) and 'Nothing' as value. Indicating no selected employee. + For i = 0 To ConfigsLoader.NumberOfEmployees - 1 + _selectedEmployeesDictionary.Add(i, Nothing) + Next End Sub ''' - Public Sub SelectEmployee(employee As IEmployee) Implements IEmployeeManager.SelectEmployee - 'Check whether or not that employee is already picked. - If _selectedEmployees.Any(Function(selectedEmployee) selectedEmployee.Equals(employee)) Then + Public Function GetSelectedEmployee(employeeNumber As Integer) As IEmployee Implements IEmployeeManager.GetSelectedEmployee + If _selectedEmployeesDictionary.ContainsKey(employeeNumber) Then + Throw New InternalException($"Employee number for getting the selected value is invalid, key value: {employeeNumber}.") + End If + 'Get the value. + Return _selectedEmployeesDictionary.Item(employeeNumber) + End Function + + ''' + Public Sub SelectEmployee(employeeNumber As Integer, employee As IEmployee) Implements IEmployeeManager.SelectEmployee + 'Employee number must be valid: exist in the dictionary. + If not _selectedEmployeesDictionary.ContainsKey(employeeNumber) Then + Throw New InternalException($"Employee number for selecting an employee is invalid, key value: {employeeNumber}.") + End If + 'Employee can't be nothing. + If employee Is Nothing Then + Throw New InternalException($"The soon-to-be selected Employee can't be nothing.") + End If + 'Check whether or not that employee is already picked. The selected employees can be 'Nothing'. + If _selectedEmployeesDictionary.Values.Any(Function(selectedEmployee) Not IsNothing(selectedEmployee) AndAlso selectedEmployee.Equals(employee)) Then 'Employee was picked already. Throw New Exception("Employee was already chosen.") End If - 'Add employee to list of selected employees. - _selectedEmployees.Add(employee) + 'No employee can already be selected for that number. + If _selectedEmployeesDictionary.Item(employeeNumber) IsNot Nothing Then + Throw New Exception($"An employee was already chosen for number (index): {employeeNumber}.") + End If + + 'Add employee to dictionary of selected employees -> set the value according to an employee number. + _selectedEmployeesDictionary.Item(employeeNumber) = employee End Sub ''' - Public Sub RemoveEmployeeSelection(employee As IEmployee) Implements IEmployeeManager.RemoveEmployeeSelection + Public Sub RemoveEmployeeSelection(employeeNumber As Integer) Implements IEmployeeManager.RemoveEmployeeSelection 'Find the employee to remove. - Dim employeeToRemove = _selectedEmployees.Find(Function(selectedEmployee) selectedEmployee.Equals(employee)) + Dim employeeToRemove = _selectedEmployeesDictionary.Item(employeeNumber) If employeeToRemove Is Nothing Then 'The employee was not selected, thus can't be deselected. Throw New Exception("Cannot remove the selection of a non-selected employee.") End If - 'Remove the employee. - _selectedEmployees.Remove(employeeToRemove) + 'Remove the employee -> set the value back to 'Nothing'. + _selectedEmployeesDictionary.Item(employeeNumber) = Nothing End Sub End Class Index: ActiviteitenOpvolging/ActiviteitenOpvolging/domain/managers/IEmployeeManager.vb =================================================================== diff -u -r1714 -r1718 --- ActiviteitenOpvolging/ActiviteitenOpvolging/domain/managers/IEmployeeManager.vb (.../IEmployeeManager.vb) (revision 1714) +++ ActiviteitenOpvolging/ActiviteitenOpvolging/domain/managers/IEmployeeManager.vb (.../IEmployeeManager.vb) (revision 1718) @@ -18,14 +18,23 @@ ReadOnly Property SelectedEmployees As ICollection(Of IEmployee) ''' + ''' Get a selected employee corresponding to an employee number. This is merely the pre-defined index for each possible employee. + ''' If no employee was selected, 'Nothing' will be returned. + ''' + ''' The number (index) of the employee, 0 based + ''' The employee + Function GetSelectedEmployee(employeeNumber As Integer) As IEmployee + + ''' ''' Select and store the chosen employee. ''' + ''' The number (index) for the employee ''' - Sub SelectEmployee(employee As IEmployee) + Sub SelectEmployee(employeeNumber As Integer, employee As IEmployee) ''' ''' Deselect an employee. ''' - ''' - sub RemoveEmployeeSelection(employee As IEmployee) + ''' The number (index) of an employee, 0 based + Sub RemoveEmployeeSelection(employeeNumber As Integer) End Interface Index: ActiviteitenOpvolging/ActiviteitenOpvolging/mappers/EmployeesDatabaseMapper.vb =================================================================== diff -u -r1709 -r1718 --- ActiviteitenOpvolging/ActiviteitenOpvolging/mappers/EmployeesDatabaseMapper.vb (.../EmployeesDatabaseMapper.vb) (revision 1709) +++ ActiviteitenOpvolging/ActiviteitenOpvolging/mappers/EmployeesDatabaseMapper.vb (.../EmployeesDatabaseMapper.vb) (revision 1718) @@ -108,7 +108,7 @@ 'Initialise new Employee. Dim employee As New Employee With employee - .EmployeeNumber = ExtractItemFromDataReader(Of Integer)(dr, "PersNr", True) + .PersonelNumber = ExtractItemFromDataReader(Of Integer)(dr, "PersNr", True) .FirstName = ExtractItemFromDataReader(Of String)(dr, "Voornaam", False, String.Empty) .LastName = ExtractItemFromDataReader(Of String)(dr, "Achternaam", False, String.Empty) .Initials = ExtractItemFromDataReader(Of String)(dr, "Achternaam", True) Index: ActiviteitenOpvolging/ActiviteitenOpvolging/domain/classes/IEmployee.vb =================================================================== diff -u -r1714 -r1718 --- ActiviteitenOpvolging/ActiviteitenOpvolging/domain/classes/IEmployee.vb (.../IEmployee.vb) (revision 1714) +++ ActiviteitenOpvolging/ActiviteitenOpvolging/domain/classes/IEmployee.vb (.../IEmployee.vb) (revision 1718) @@ -1,5 +1,5 @@ Public Interface IEmployee - Property EmployeeNumber As Integer + Property PersonelNumber As Integer 'Property Picture As Image Property FirstName As String Property LastName As String Index: ActiviteitenOpvolging/ActiviteitenOpvolging/screens/IEmployeesMainForm.vb =================================================================== diff -u -r1717 -r1718 --- ActiviteitenOpvolging/ActiviteitenOpvolging/screens/IEmployeesMainForm.vb (.../IEmployeesMainForm.vb) (revision 1717) +++ ActiviteitenOpvolging/ActiviteitenOpvolging/screens/IEmployeesMainForm.vb (.../IEmployeesMainForm.vb) (revision 1718) @@ -1,4 +1,21 @@ Public Interface IEmployeesMainForm - inherits IEmployeePickerParentUserControl + ''' + ''' Gets all the employees. + ''' + ''' + Function GetAllEmployees() As ICollection(Of IEmployee) + ''' + ''' Selects an employee. + ''' + ''' + ''' + Sub SelectEmployee(employeeIndex As Integer, employee As IEmployee) + + ''' + ''' Gets the selected employee for this index. This function still works if no employee was selected yet. + ''' + ''' + ''' The selected employee if there is one. 'Nothing' if there wasn't one. + Function GetSelectedEmployee(employeeIndex As Integer) As IEmployee End Interface Index: ActiviteitenOpvolging/ActiviteitenOpvolging/screens/employee/details/EmployeeDetailUserControl.vb =================================================================== diff -u -r1717 -r1718 --- ActiviteitenOpvolging/ActiviteitenOpvolging/screens/employee/details/EmployeeDetailUserControl.vb (.../EmployeeDetailUserControl.vb) (revision 1717) +++ ActiviteitenOpvolging/ActiviteitenOpvolging/screens/employee/details/EmployeeDetailUserControl.vb (.../EmployeeDetailUserControl.vb) (revision 1718) @@ -38,8 +38,8 @@ 'Set border colors of the buttons. StartButton.BackColor = ConfigsLoader.ColorsActivities(ActivityStateEnum.Started) - PauzeButton.BackColor = ConfigsLoader.ColorsActivities(ActivityStateEnum.Pauzed) - StopButton.BackColor = ConfigsLoader.ColorsActivities(ActivityStateEnum.Finished) + StopButton.BackColor = ConfigsLoader.ColorsActivities(ActivityStateEnum.Pauzed) + FinishButton.BackColor = ConfigsLoader.ColorsActivities(ActivityStateEnum.Finished) Catch ex As Exception MessageBox.Show($"Could not load {Me.Name}.{vbNewLine}{ex.Message}", "An error occured...", MessageBoxButtons.OK, MessageBoxIcon.Error) @@ -54,17 +54,17 @@ End Try End Sub - Private Sub PauzeButton_Click(sender As Object, e As EventArgs) Handles PauzeButton.Click + Private Sub StopButton_Click(sender As Object, e As EventArgs) Handles StopButton.Click Try - _parentUserControl.PauzeActivity() + _parentUserControl.StopActivity() Catch ex As Exception MessageBox.Show($"Could not pauze activity.{vbNewLine}{ex.Message}", "An error occured...", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub - Private Sub StopButton_Click(sender As Object, e As EventArgs) Handles StopButton.Click + Private Sub FinishButton_Click(sender As Object, e As EventArgs) Handles FinishButton.Click Try - _parentUserControl.StopActivity() + _parentUserControl.FinishActivity() Catch ex As Exception MessageBox.Show($"Could not stop activity.{vbNewLine}{ex.Message}", "An error occured...", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try