コード例 #1
0
        private void ButtonCheckConnection_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (!IsValid())
            {
                return;
            }
            var crmConnection = new CrmConnection
            {
                Name     = textboxName.Text,
                Password = comboBoxType.Text == "ClientSecret" ? textboxPassword.Password : EncryptDecrypt.EncryptString(textboxPassword.Password),
                Type     = comboBoxType.Text,
                Url      = textboxUrl.Text,
                UserName = textboxUser.Text
            };

            stackPanelForm.IsEnabled = false;
            progressBar.Visibility   = System.Windows.Visibility.Visible;
            _ = Task.Factory.StartNew(() =>
            {
                var crmServiceClient = XrmHelper.IsConnected(crmConnection);
                ThreadHelper.JoinableTaskFactory.Run(async delegate
                {
                    await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
                    stackPanelForm.IsEnabled = true;
                    progressBar.Visibility   = System.Windows.Visibility.Hidden;
                });
                if (crmServiceClient != null)
                {
                    var devKitConnections = VsixHelper.GetDevKitConnections();
                    devKitConnections.DefaultCrmConnection = crmConnection.Name;
                    devKitConnections.CrmConnections.Add(crmConnection);
                    VsixHelper.SaveDevKitConnections(devKitConnections);
                    LoadConnections();
                    ClearData();
                }
                else
                {
                    ThreadHelper.JoinableTaskFactory.Run(async delegate
                    {
                        await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
                        await VS.MessageBox.ShowErrorAsync(@"Something wrong with your connection. Please try it again");
                    });
                }
            }, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default);
        }
コード例 #2
0
 private void ButtonOK_Click(object sender, System.Windows.RoutedEventArgs e)
 {
     if (IsOOBConnection)
     {
         DialogResult = true;
         Close();
     }
     else
     {
         stackPanelForm.IsEnabled = false;
         progressBar.Visibility   = System.Windows.Visibility.Visible;
         var selectedCrmConnection = comboBoxSavedConnection.SelectedItem as CrmConnection;
         _ = Task.Factory.StartNew(() => {
             CrmServiceClient = XrmHelper.IsConnected(selectedCrmConnection);
             ThreadHelper.JoinableTaskFactory.Run(async delegate
             {
                 await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
                 DialogResult = true;
                 Close();
             });
         }, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default);
     }
 }