private void lbxNames_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            /****************************************************NOTE****************************************************
            *  NOTE if statements appear long-winded as I could not make it work using only lbxNames.SelectedItem.GetType()
            *  THIS IS A FIRST DRAFT FOR LISTBOX SELECTIONS
            ************************************************************************************************************/

            //if employee is full time, salary box is filled and ft radio button is checked
            /*if (lbxNames.SelectedItem.GetType().ToString() == "Final_Assesment.FullTimeEmployee")*/
            if (lbxNames.SelectedItem != null && lbxNames.SelectedItem is FullTimeEmployee)
            {
                //find what employee is selected
                FullTimeEmployee selectedEmployee = lbxNames.SelectedItem as FullTimeEmployee;

                // make sure it isnt null
                if (selectedEmployee != null)
                {
                    //populate text boxes & radio button
                    fNameTextBox.Text       = selectedEmployee.FirstName;
                    surNameTextBox.Text     = selectedEmployee.SurName;
                    ftRadioButton.IsChecked = true;
                    salaryTextBox.Text      = selectedEmployee.Salary.ToString();
                    hoursWorkedTextBox.Text = "N/A";
                    hourlyRateTextBox.Text  = "N/A";
                    decimal monthlypay = selectedEmployee.Salary * 4;
                    MonthlypayLabel.Content = monthlypay;
                }
            }



            //if employee is part time, hours worked and hourly pay boxes are filled and pt radio button is checked
            else if (lbxNames.SelectedItem != null && lbxNames.SelectedItem is PartTimeEmployee)
            {
                //find what employee is selected
                PartTimeEmployee selectedEmployee = lbxNames.SelectedItem as PartTimeEmployee;

                //make sure it isn't null
                if (selectedEmployee != null)
                {
                    //populate text boxes & radio button
                    fNameTextBox.Text       = selectedEmployee.FirstName;
                    surNameTextBox.Text     = selectedEmployee.SurName;
                    ptRadioButton.IsChecked = true;
                    salaryTextBox.Text      = "N/A";
                    hoursWorkedTextBox.Text = selectedEmployee.HoursWorked.ToString();
                    hourlyRateTextBox.Text  = selectedEmployee.HourlyRate.ToString();
                    decimal monthlypay = Convert.ToDecimal(selectedEmployee.HoursWorked) * selectedEmployee.HourlyRate * 4;
                    MonthlypayLabel.Content = monthlypay;
                }
            }

            else if (lbxNames.SelectedItem is null)
            {
                fNameTextBox.Text = ("ERROR - Selected Item has value of NULL");
            }
        }
 //updates selected list employee with details input in text fields
 private void UpdateBtn_Click(object sender, RoutedEventArgs e)
 {
     if (lbxNames.SelectedItem is FullTimeEmployee)
     {
         FullTimeEmployee selectedEmployee = lbxNames.SelectedItem as FullTimeEmployee;
         selectedEmployee.FirstName = fNameTextBox.Text;
         selectedEmployee.SurName   = surNameTextBox.Text;
         selectedEmployee.Salary    = Convert.ToDecimal(salaryTextBox.Text);
     }
     else if (lbxNames.SelectedItem is PartTimeEmployee)
     {
         PartTimeEmployee selectedEmployee = lbxNames.SelectedItem as PartTimeEmployee;
         selectedEmployee.FirstName   = fNameTextBox.Text;
         selectedEmployee.SurName     = surNameTextBox.Text;
         selectedEmployee.HoursWorked = double.Parse(hoursWorkedTextBox.Text);
         selectedEmployee.HourlyRate  = Convert.ToDecimal(hourlyRateTextBox.Text);
     }
     if (lbxNames.SelectedItem is null)
     {
     }
 }
        private void AddBtn_Click(object sender, RoutedEventArgs e)
        {
            // User can add up to 5 Full time employees
            if (ftRadioButton.IsChecked == true)
            {
                int ftCaseSwitch = 1;


                switch (ftCaseSwitch)
                {
                case 1:
                    FullTimeEmployee CustomFTEmployee1 = new FullTimeEmployee(fNameTextBox.Text, surNameTextBox.Text, Convert.ToDecimal(salaryTextBox.Text));
                    EmployeeCollection.Add(CustomFTEmployee1);
                    FTEmployeeCollection.Add(CustomFTEmployee1);
                    ftCaseSwitch++;
                    break;

                case 2:
                    FullTimeEmployee CustomFTEmployee2 = new FullTimeEmployee(fNameTextBox.Text, surNameTextBox.Text, Convert.ToDecimal(salaryTextBox.Text));
                    EmployeeCollection.Add(CustomFTEmployee2);
                    FTEmployeeCollection.Add(CustomFTEmployee2);
                    ftCaseSwitch++;
                    break;

                case 3:
                    FullTimeEmployee CustomFTEmployee3 = new FullTimeEmployee(fNameTextBox.Text, surNameTextBox.Text, Convert.ToDecimal(salaryTextBox.Text));
                    EmployeeCollection.Add(CustomFTEmployee3);
                    FTEmployeeCollection.Add(CustomFTEmployee3);
                    ftCaseSwitch++;
                    break;

                case 4:
                    FullTimeEmployee CustomFTEmployee4 = new FullTimeEmployee(fNameTextBox.Text, surNameTextBox.Text, Convert.ToDecimal(salaryTextBox.Text));
                    EmployeeCollection.Add(CustomFTEmployee4);
                    FTEmployeeCollection.Add(CustomFTEmployee4);
                    ftCaseSwitch++;
                    break;

                case 5:
                    FullTimeEmployee CustomFTEmployee5 = new FullTimeEmployee(fNameTextBox.Text, surNameTextBox.Text, Convert.ToDecimal(salaryTextBox.Text));
                    EmployeeCollection.Add(CustomFTEmployee5);
                    FTEmployeeCollection.Add(CustomFTEmployee5);
                    ftCaseSwitch++;
                    break;

                default:
                    fNameTextBox.Text = ("STORAGE FULL - NO MORE FULL TIME EMPLOYEES");
                    break;
                }
            }
            //User can add up to 5 Part Time employees
            else if (ptRadioButton.IsChecked == true)
            {
                int ptCaseSwitch = 1;
                switch (ptCaseSwitch)
                {
                case 1:
                    PartTimeEmployee CustomPTEmployee1 = new PartTimeEmployee(fNameTextBox.Text, surNameTextBox.Text, Convert.ToDecimal(hourlyRateTextBox.Text), double.Parse(hoursWorkedTextBox.Text));
                    EmployeeCollection.Add(CustomPTEmployee1);
                    PTEmployeeCollection.Add(CustomPTEmployee1);
                    ptCaseSwitch++;
                    break;

                case 2:
                    PartTimeEmployee CustomPTEmployee2 = new PartTimeEmployee(fNameTextBox.Text, surNameTextBox.Text, Convert.ToDecimal(hourlyRateTextBox.Text), double.Parse(hoursWorkedTextBox.Text));
                    EmployeeCollection.Add(CustomPTEmployee2);
                    PTEmployeeCollection.Add(CustomPTEmployee2);
                    ptCaseSwitch++;
                    break;

                case 3:
                    PartTimeEmployee CustomPTEmployee3 = new PartTimeEmployee(fNameTextBox.Text, surNameTextBox.Text, Convert.ToDecimal(hourlyRateTextBox.Text), double.Parse(hoursWorkedTextBox.Text));
                    EmployeeCollection.Add(CustomPTEmployee3);
                    PTEmployeeCollection.Add(CustomPTEmployee3);
                    ptCaseSwitch++;
                    break;

                case 4:
                    PartTimeEmployee CustomPTEmployee4 = new PartTimeEmployee(fNameTextBox.Text, surNameTextBox.Text, Convert.ToDecimal(hourlyRateTextBox.Text), double.Parse(hoursWorkedTextBox.Text));
                    EmployeeCollection.Add(CustomPTEmployee4);
                    PTEmployeeCollection.Add(CustomPTEmployee4);
                    ptCaseSwitch++;
                    break;

                case 5:
                    PartTimeEmployee CustomPTEmployee5 = new PartTimeEmployee(fNameTextBox.Text, surNameTextBox.Text, Convert.ToDecimal(hourlyRateTextBox.Text), double.Parse(hoursWorkedTextBox.Text));
                    EmployeeCollection.Add(CustomPTEmployee5);
                    PTEmployeeCollection.Add(CustomPTEmployee5);
                    ptCaseSwitch++;
                    break;

                default:
                    fNameTextBox.Text = ("STORAGE FULL - NO MORE PART TIME EMPLOYEES");
                    break;
                }
            }
        }