private void btnTest_Click(object sender, RoutedEventArgs e) { lblTestResult.Foreground = Brushes.Black; lblTestResult.Content = "Testing credentials, please wait..."; btnTest.IsEnabled = false; worker = new BackgroundWorker(); worker.DoWork += delegate(object s, DoWorkEventArgs args) { TestCredentialsData data = args.Argument as TestCredentialsData; IWatchSharingService service = GetImplementation(); args.Result = service.TestCredentials(data.Username, data.Password); }; worker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs args) { if ((bool)args.Result) { lblTestResult.Content = "Login successful!"; lblTestResult.Foreground = Brushes.Green; btnSave.IsEnabled = true; } else { lblTestResult.Content = "Login failed."; lblTestResult.Foreground = Brushes.Red; } btnTest.IsEnabled = true; }; worker.RunWorkerAsync(new TestCredentialsData() { Username = txtUsername.Text, Password = txtPassword.Password }); }
private void testClick(object sender, RoutedEventArgs e) { SharingProvider provider = providers[(string)((sender as Control).Tag)]; provider.ResultsLabel.Foreground = Brushes.Black; provider.ResultsLabel.Content = UI.TestingCredentials; provider.TestButton.IsEnabled = false; provider.UsernameBox.IsEnabled = false; provider.PasswordBox.IsEnabled = false; provider.Worker = new BackgroundWorker(); provider.Worker.DoWork += delegate(object s, DoWorkEventArgs args) { TestCredentialsData data = (TestCredentialsData)args.Argument; args.Result = data.Implementation.TestCredentials(data.Username, data.Password); }; provider.Worker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs args) { if ((bool)args.Result) { provider.Valid = true; provider.ResultsLabel.Content = UI.LoginSuccessful; provider.ResultsLabel.Foreground = Brushes.Green; } else { provider.ResultsLabel.Content = UI.LoginFailed; provider.ResultsLabel.Foreground = Brushes.Red; } provider.TestButton.IsEnabled = true; provider.UsernameBox.IsEnabled = true; provider.PasswordBox.IsEnabled = true; }; provider.Worker.RunWorkerAsync(new TestCredentialsData() { Implementation = provider.Implementation, Username = provider.UsernameBox.Text, Password = provider.PasswordBox.Password }); }