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; } } }