private void FindUser_btn_Click(object sender, RoutedEventArgs e) { //Making a string with an error message, that would be returned from function findCsvLine if line doesnt exists string error = "Error 1! Record Not Found. Please try again."; //flow control with switch and goto. Was with ifs and else's but currently is more readable and less repeated code. switch (select_cmBox.SelectedIndex) { case 0: //phone number selected if (phone_inp_txtBox != null && !string.IsNullOrWhiteSpace(phone_inp_txtBox.Text)) { string[] name_phone = CsvIO.findCsvLine(phone_inp_txtBox.Text, 2, "users.csv"); if (name_phone[0] == error) { goto case 4; } user3.User_name = name_phone[1]; user3.User_phone = name_phone[2]; goto case 5; } else { goto case 3; } case 1: //name selected if (name_inp_txtBox != null && !string.IsNullOrWhiteSpace(name_inp_txtBox.Text)) { string[] name_phone = CsvIO.findCsvLine(name_inp_txtBox.Text, 1, "users.csv"); if (name_phone[0] == error) { goto case 4; } user3.User_name = name_phone[1]; user3.User_phone = name_phone[2]; goto case 5; } else { goto case 3; } case 3: //input empty MessageBox.Show("Please input search term!", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); break; case 4: //user not found MessageBox.Show("User not found in the database! Please try again!", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); user3.User_name = String.Empty; user3.User_phone = String.Empty; break; case 5: //final check MessageBoxResult result = MessageBox.Show("Is that the correct user? \n" + user3.User_name + " " + user3.User_phone, "User Found", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.No) { MessageBox.Show("Try Again.", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); user3.User_name = String.Empty; user3.User_phone = String.Empty; phone_inp_txtBox.Text = String.Empty; name_inp_txtBox.Text = String.Empty; } if (result == MessageBoxResult.Yes) { findUser_btn.IsEnabled = false; select_cmBox.IsEnabled = false; DatePicker.IsEnabled = true; hour_text_box.IsEnabled = true; minute_text_box.IsEnabled = true; generate_btn.IsEnabled = true; } break; } }
//button for user 2, same code, different variables, considered functions, but could find how to make them with objects private void FindUser_btn_2_Click(object sender, RoutedEventArgs e) { string error = "Error 1! Record Not Found. Please try again."; //find csv function returns the same error switch (select_cmBox_2.SelectedIndex) { case 0: ///phone number if (phone_inp_txtBox_2 != null && !string.IsNullOrWhiteSpace(phone_inp_txtBox_2.Text)) { string[] name_phone = CsvIO.findCsvLine(phone_inp_txtBox_2.Text, 2, "users.csv"); if (name_phone[0] == error) //if error is returned { goto case 4; } user2.User_name = name_phone[1]; user2.User_phone = name_phone[2]; goto case 5; } else { goto case 3; } case 1: //name if (name_inp_txtBox_2 != null && !string.IsNullOrWhiteSpace(name_inp_txtBox_2.Text)) { string[] name_phone = CsvIO.findCsvLine(name_inp_txtBox_2.Text, 1, "users.csv"); if (name_phone[0] == error) { goto case 4; } user2.User_name = name_phone[1]; user2.User_phone = name_phone[2]; goto case 5; } else { goto case 3; } case 3: //input empty MessageBox.Show("Please input search term!", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); break; case 4: //user not found MessageBox.Show("User not found in the database! Please try again!", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); user2.User_name = String.Empty; user2.User_phone = String.Empty; break; case 5: //final check MessageBoxResult result = MessageBox.Show("Is that the correct user? \n" + user2.User_name + " " + user2.User_phone, "User Found", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.No) { MessageBox.Show("Try Again.", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); user2.User_name = String.Empty; user2.User_phone = String.Empty; phone_inp_txtBox_2.Text = String.Empty; name_inp_txtBox_2.Text = String.Empty; } if (result == MessageBoxResult.Yes) { findUser_btn_2.IsEnabled = false; save_btn.IsEnabled = true; select_cmBox.IsEnabled = false; DatePicker.IsEnabled = true; Date_input_lbl.IsEnabled = true; Time_pick_lbl.IsEnabled = true; } break; } }
private void Save_btn_Click(object sender, RoutedEventArgs e) { int caseSwitch = 1; switch (caseSwitch) { case 1: //check for null and existing if (string.IsNullOrWhiteSpace(loc_srch_TextBox.Text)) { MessageBox.Show("Error! Location not selected. Try again!", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); break; } if (DatePicker.SelectedDate == null) { MessageBox.Show("Error! Date not selected. Try again!", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); break; } if (hour_text_box.Text == "Hour" || minute_text_box.Text == "Minute" || string.IsNullOrWhiteSpace(minute_text_box.Text) || string.IsNullOrWhiteSpace(hour_text_box.Text)) { MessageBox.Show("Error! Time not selected. Try Again!", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); break; } else { goto case 5; //check time first } case 2: //location input string[] found_line = CsvIO.findCsvLine(loc_srch_TextBox.Text, 1, "locations.csv"); if (found_line[0] == "Error 1! Record Not Found. Please try again.") { MessageBoxResult result_loc = MessageBox.Show(loc_srch_TextBox.Text + " location not found in the database! Do you want to add as new location?", "Instructions", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result_loc == MessageBoxResult.Yes) { CsvIO.importCSV("locations.csv", "id,locationName", loc_srch_TextBox.Text); MessageBox.Show("Location: " + loc_srch_TextBox.Text + "\n Added successful!", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); string[] newloc = CsvIO.findCsvLine(loc_srch_TextBox.Text, 1, "locations.csv"); visit1.Event_id = newloc[0]; visit1.Visit_location_name = newloc[1]; goto case 4; } else { MessageBox.Show("Input existing location.", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); loc_srch_TextBox.Text = String.Empty; break; } } else { visit1.Event_id = found_line[0]; visit1.Visit_location_name = found_line[1]; goto case 4; } case 3: //date check string date = DatePicker.SelectedDate.Value.ToString("MM/dd/yyyy"); MessageBoxResult result = MessageBox.Show("Is that the correct date? \n" + date, "Date Validation", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { visit1.Event_date = date; //Visit.addToCsvVisit(visit1.User_name, visit1.User_phone, visit1.Visit_location, visit1.Visit_date); goto case 2; } else { MessageBox.Show("Please try again!", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); } break; case 4: //correct location check MessageBoxResult result2 = MessageBox.Show("Is that the correct location? \n" + visit1.Visit_location_name, "Location Found", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result2 == MessageBoxResult.Yes) { string header = "VisitId,UserName,UserPhone,LocationID,LocationName,Date,Time"; string toCsv = visit1.User_name + "," + visit1.User_phone + "," + visit1.Event_id + "," + visit1.Visit_location_name + "," + visit1.Event_date + "," + visit1.Event_time; CsvIO.importCSV("visit.csv", header, toCsv); MessageBox.Show("Visit added successful!", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); break; } else { MessageBox.Show("Try Again.", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); loc_srch_TextBox.Text = String.Empty; break; } case 5: //Time validation bool success1 = Int32.TryParse(hour_text_box.Text, out int hours); bool success2 = Int32.TryParse(minute_text_box.Text, out int minutes); if (success1 && success2 && hours >= 0 && hours <= 23 && minutes >= 0 && minutes <= 59) { visit1.Event_time = hours + ":" + minutes; if (minutes < 10) { visit1.Event_time = String.Empty; string minutes_0 = string.Format("0{0}", minutes); visit1.Event_time = hours + ":" + minutes_0; } MessageBoxResult result_time = MessageBox.Show("Is that the correct Time? \n" + visit1.Event_time, "Time Validation", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result_time == MessageBoxResult.Yes) { goto case 3; } else { visit1.Event_time = String.Empty; MessageBox.Show("Please input time again!", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); break; } } else { MessageBox.Show("Invalid Time Input! Please Try Again! ", "Instructions", MessageBoxButton.OK, MessageBoxImage.Information); break; } } }