public AddTestVerificationWin(Test test) { m_targetTest = test.Clone(); m_targetTester = BLTools.GetTesterById(m_targetTest.TesterId).Clone(); m_targetTrainee = BLTools.GetTraineeById(m_targetTest.TraineeId).Clone(); InitializeComponent(); }
private void InitializeTestFields() { Trainee trainee = BLTools.GetTraineeById(m_targetTest.TraineeId); dmvTb.Text = m_targetTest.DMV; InitializeTestCarTypeRadioButtons(); traineeFirstNameTb.Text = trainee.FirstName; traineeLasatNameTb.Text = trainee.LastName; traineeIdTb.Text = trainee.Id; traineeCarTypeTb.Text = trainee.CarType.ToString(); traineeDrivingSchoolTb.Text = m_targetTest.DrivingSchoolFullName; testDateTb.Text = m_targetTest.TestDateStringFormat; testTimeTb.Text = m_targetTest.TestTimeStringFormat; testLocationTb.Text = m_targetTest.TestLocation.ToString(); }
//Click Events private async void TestersInRangeButton_Click(object sender, RoutedEventArgs e) { distanceSpinner.Visibility = Visibility.Visible; findClosetTesterButton.IsEnabled = false; ClearFieldsButton.IsEnabled = false; distanceSpinner.Spin = true; m_targetTrainee = GetTrainee(); AddressStruct testAddress = GetTestAddress(); FilterData(); double distanceFromTrainee = 100.000001; await Task.Run(async() => { TestersList = BLTools.GetAllTestersInRange(TestersList, testAddress); TestersInRange = BLTools.GetClonedList(TestersList); distanceFromTrainee = BLTools.CalculateDistanceGoogle(m_targetTrainee.Address, testAddress); }).ContinueWith((s) => { Dispatcher.Invoke(() => { if (TestersList.Count == 0) { MessageBox.Show(string.Format("Couldn't find a tester in range\nTry a different test location"), "Error!", MessageBoxButton.OK, MessageBoxImage.Error); SelectTesterCmi.IsEnabled = false; TriggerSpinner(); } else { MessageBox.Show(string.Format("Success!\nPlease select a tester"), "Success!", MessageBoxButton.OK, MessageBoxImage.Information); SelectTesterCmi.IsEnabled = true; distanceTb.Text = distanceFromTrainee.ToString(); } UpdateCollection(); }); }); }
private void TesterDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) { Tester tester = testerDataGrid.SelectedItem as Tester; Trainee trainee = GetTrainee(); AddressStruct testAddress = GetTestAddress(); if (tester == null || testAddress == null || testAddress == new AddressStruct() || trainee == null) { return; } selectTesterButton.IsEnabled = true; double distance = BLTools.GetDistanceFromDataSource(trainee.Address, tester.Address); //If no distance was already measured between 2 addresses if (distance < 0) { Task.Run(() => { distance = BLTools.CalculateDistanceGoogle(trainee.Address, tester.Address); }).ContinueWith((t) => { Dispatcher.Invoke(() => { testerDistanceTb.Text = distance.ToString("0.00") + " Km"; }); }); } //If distance was already measured between 2 addresses else { testerDistanceTb.Text = distance.ToString("0.00") + " Km"; } }
private async void FindClosetTesterButton_Click(object sender, RoutedEventArgs e) { distanceSpinner.Visibility = Visibility.Visible; distanceSpinner.Spin = true; m_targetTrainee = GetTrainee(); Tester tester = new Tester(); await Task.Run(async() => { tester = BLTools.GetClosestTester(m_targetTrainee.Address); if (tester == null) { return; } double distance = BLTools.GetDistanceFromDataSource(m_targetTrainee.Address, tester.Address); //If distance was NOT found in the DataSource if (distance == -1) { m_distance = BLTools.CalculateDistanceGoogle(m_targetTrainee.Address, tester.Address); } //If distance WAS found in the DataSource else { m_distance = distance; } }).ContinueWith((str) => { Dispatcher.Invoke(() => { //If no internet connection was found if (m_distance == -2) { MessageBox.Show("No internet connection found"); return; } if (tester == null) { distanceTb.Text = "f"; distanceTb.Text = ""; MessageBox.Show(string.Format("Couldn't find a tester"), "Error!", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (m_distance != 100.00001 && m_distance != -1) { distanceTb.Text = ""; distanceTb.Text = m_distance.ToString("0.00") + " Km"; testCityCb.ComboBox.SelectedItem = m_targetTrainee.Address.City; testStreetCb.ComboBox.SelectedItem = m_targetTrainee.Address.Street; m_Ibl.AddDistance(new DistanceStruct(m_targetTrainee.Address, tester.Address, m_distance)); TestersInRange = new List <Tester>(); TestersInRange.Add(tester); if (TestersInRange.Count == 0) { MessageBox.Show(string.Format("Couldn't find a tester"), "Error!", MessageBoxButton.OK, MessageBoxImage.Error); } else { MessageBox.Show(string.Format("Success!\nPlease choose the tester to continue"), "Success!", MessageBoxButton.OK, MessageBoxImage.Information); } } FilterData(); }); }); }