protected void TestSqlSettingsClick(object sender, EventArgs e) { if (String.IsNullOrEmpty(textboxSqlDatabase.Text) || String.IsNullOrEmpty(textboxSqlServerPath.Text) || String.IsNullOrEmpty(textboxSqlUsername.Text) || String.IsNullOrEmpty(textboxSqlPassword.Text)) { labelMessage.Text = "You must complete all the SQL configuration fields to test your SQL connectivity"; return; } AbstractSqlConfiguration sqlConfig = new MsSqlConfiguration(); sqlConfig.Database = textboxSqlDatabase.Text; sqlConfig.Hostname = textboxSqlServerPath.Text; sqlConfig.Username = textboxSqlUsername.Text; sqlConfig.Password = textboxSqlPassword.Text; ConnectionTester dao = new ConnectionTester(sqlConfig.buildConnectionString()); dto.BoolTO result = dao.canWrite(); if (result.trueOrFalse) { labelMessage.Text = "You were able to write to your database with these SQL settings. Good job!"; } else if (result.fault != null) { labelMessage.Text = "<p>MDWS failed to write to your database with those SQL settings. Maybe the " + "following error will give you a clue why:</p>" + result.fault.message; } else { labelMessage.Text = "MDWS couldn't successfully connect to your database with those parameters " + "but no error was reported. You got yourself a real pickle there."; } }
public static ConnectionTester GetInstance(GameObject go) { if (instance == null) { instance = go.AddComponent <ConnectionTester>(); } return(instance); }
private void Test_Conn() { if (!ConnectionTester.TestConnection()) { var a = NavigationService.GetNavigationService(this); a.Navigate((Uri)(new Uri("Pages/waitConnection.xaml", UriKind.Relative))); } }
private void Start() { // Initialize the communication channel with the host ApplicationBridge.Initialize(); Panel rootPanel = new Grid(); RootVisual = rootPanel; // Test the connection speed and launch the webviewer once it's completed ConnectionTester.TestConnection(new Action(StartWebViewer)); }
void Start() { _connectionTester = ConnectionTester .GetInstance(gameObject) .ipToTest("www.google.com"); ButtonTestInternet.onClick.AddListener(() => { ShowFeedback("Starting test"); _connectionTester.TestInternet(hasInternet => { ShowFeedback($"Has internet connection: {hasInternet}"); }); }); }
public async Task <Uri> AddResource(string name, bool useRandomUri) { var homeSetUri = await GetCalendarHomeSetUriOrNull(ConnectionTester.RequiresAutoDiscovery(_serverUrl)) ?? _serverUrl; var resourceName = useRandomUri ? Guid.NewGuid() + "/" : name + "/"; var newResourceUri = new Uri(homeSetUri, resourceName); await _webDavClient.ExecuteWebDavRequestAndReturnResponseHeaders( newResourceUri, "MKCOL", null, null, null, "application/xml", @"<?xml version='1.0'?> <D:mkcol xmlns:D=""DAV:"" xmlns:C=""urn:ietf:params:xml:ns:caldav""> <D:set> <D:prop> <D:resourcetype> <D:collection/> <C:calendar/> </D:resourcetype> </D:prop> </D:set> </D:mkcol>" ); await _webDavClient.ExecuteWebDavRequestAndReturnResponseHeaders( newResourceUri, "PROPPATCH", 0, null, null, "application/xml", string.Format( @"<?xml version='1.0'?> <D:propertyupdate xmlns:D=""DAV:""> <D:set> <D:prop> <D:displayname>{0}</D:displayname> </D:prop> </D:set> </D:propertyupdate> ", name) ); return(newResourceUri); }
private bool ValidateConnectionString(string connectionStringName) { var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString; var connectionIsValid = string.IsNullOrEmpty(connectionString) || ConnectionTester.IsServerConnected(connectionString); if (!connectionIsValid) { Console.WriteLine(); Console.WriteLine(" Execution aborted!"); Console.WriteLine($" The {connectionStringName} connection string is not valid."); Console.WriteLine(); } return(connectionIsValid); }
void Awake() { if (_instance != null && _instance != this) { Destroy(this.gameObject); return; } else { // just move it to the root this.transform.parent = null; _instance = this; } DontDestroyOnLoad(this.gameObject); }
void beginSetupError() { settings = SetupManager.GetSettings(); string result = ConnectionTester.GetUpgradeOption(); if (result.StartsWith("~")) { RabSetupMode.Items[1].Text = " " + result.Substring(1); RabSetupMode.Items[1].Enabled = true; } else { RabSetupMode.Items[1].Text = " " + result; RabSetupMode.Items[1].Enabled = false; } RabSetupMode.SelectedIndex = 0; SetVisible(Step.Fifth); }
public void ProcessInfo() { var myText = inpCaseNumber.text; if (string.IsNullOrEmpty(myText)) { Debug.LogWarning("Input alanı boş geçilemez."); ShowFeedback("Input alanı boş geçilemez."); } else { var newCase = UiManager.Instance.CreateCase(myText, "ONENT"); ISearchService searchService = new SearchService(new Repository <SearchLog>(UiManager.Instance.DataContext)); _connectionTester = ConnectionTester .GetInstance(gameObject) .ipToTest("www.google.com"); ShowFeedback("Starting test"); // Internet connection checked basically //if (Application.internetReachability == NetworkReachability.NotReachable) //{ // newCase.Text = "Internet Connection is not available"; //} _connectionTester.TestInternet(hasInternet => { if (hasInternet) { searchService.InsertSearchLog(newCase); locationPanel.gameObject.SetActive(true); } ShowFeedback($"Has internet connection: {hasInternet}"); }); } void ShowFeedback(string text) { FeedbackText.text = text; } }
private async Task RunAllPendingJobs() { // Monitor cannot be used here, since Monitor allows recursive enter for a thread if (Interlocked.CompareExchange(ref _isRunning, 1, 0) == 0) { try { if (_profile.CheckIfOnline && !await ConnectionTester.IsOnline(_profile.ProxyOptionsOrNull)) { s_logger.WarnFormat("Skipping synchronization profile '{0}' (Id: '{1}') because network is not available", _profile.ProfileName, _profileId); return; } while (_fullSyncPending || _pendingOutlookItems.Count > 0) { if (_fullSyncPending) { _fullSyncPending = false; Thread.MemoryBarrier(); // should not be required because there is just one thread entering multiple times await RunAndRescheduleNoThrow(); } if (_pendingOutlookItems.Count > 0) { var itemsToSync = _pendingOutlookItems.Values.ToArray(); _pendingOutlookItems.Clear(); if (s_logger.IsDebugEnabled) { s_logger.Debug($"Partial sync: Going to sync '{itemsToSync.Length}' pending items ( {string.Join(", ", itemsToSync.Select(id => id.EntryId))} )."); } Thread.MemoryBarrier(); // should not be required because there is just one thread entering multiple times await RunPartialNoThrow(itemsToSync); } } } finally { Interlocked.Exchange(ref _isRunning, 0); } } }
//Server=KRK; Initial Catalog=NorthWind;User Id=sa; Password=123123; #region [ Test method ] private void Test(object sender, EventArgs e) { if (cmbxConnectionType.SelectedIndex == -1) { MessageBox.Show("Please, Choose a connectionType."); return; } if (true == string.IsNullOrWhiteSpace(txtConnStr.Text)) { MessageBox.Show( "Connection string can not be empty.", "Warning!.."); return; } ConnectionTypes connType = (ConnectionTypes)cmbxConnectionType.Items[cmbxConnectionType.SelectedIndex]; ConnectionTester.TestConnection(connType, txtConnStr.Text); MessageBox.Show(string.Format("{0}", Error), "Result"); }
private void Page_Loaded(object sender, RoutedEventArgs e) { WaitConn = new Thread(new ThreadStart(delegate() { while (true) { if (ConnectionTester.TestConnection()) { Application.Current.Dispatcher.Invoke((Action) delegate() { var a = NavigationService.GetNavigationService(this); a.Navigate((Uri)(new Uri("Pages/main.xaml", UriKind.Relative))); }); WaitConn.Abort(); } Thread.Sleep(1000); } })); WaitConn.IsBackground = true; WaitConn.Name = "Ожидание соединения"; WaitConn.Start(); }
public void ConnectionPointsAmount() { ManualResetEvent sentinel = new ManualResetEvent(false); userFactory.SelectType(UserType.ConnectionTester); Console.Write("Threads amount: "); int threadsAmount = int.Parse(Console.ReadLine()); Console.Write("Time, in milliseconds, while connection will be held: "); int time = int.Parse(Console.ReadLine()); for (int index = 0; index < threadsAmount; index++) { ConnectionTester tester = userFactory.Get() as ConnectionTester; tester.Initialize(index, time, ref sentinel); tester.Work(); } sentinel.Set(); }
private async Task RunAllPendingJobs() { if (_checkIfOnline && !ConnectionTester.IsOnline()) { s_logger.WarnFormat("Skipping synchronization profile '{0}' (Id: '{1}') because network is not available", _profileName, _profileId); return; } // Monitor cannot be used here, since Monitor allows recursive enter for a thread if (Interlocked.CompareExchange(ref _isRunning, 1, 0) == 0) { try { while (_fullSyncPending || _pendingOutlookItems.Count > 0) { if (_fullSyncPending) { _fullSyncPending = false; Thread.MemoryBarrier(); // should not be required because there is just one thread entering multiple times await RunAndRescheduleNoThrow(); } if (_pendingOutlookItems.Count > 0) { var itemsToSync = _pendingOutlookItems.ToArray(); _pendingOutlookItems.Clear(); Thread.MemoryBarrier(); // should not be required because there is just one thread entering multiple times await RunIfResponsibleNoThrow(itemsToSync); } } } finally { Interlocked.Exchange(ref _isRunning, 0); } } }
private async Task TestServerConnection() { _testConnectionButton.Enabled = false; try { StringBuilder errorMessageBuilder = new StringBuilder(); if (!OptionTasks.ValidateCalendarUrl(_calenderUrlTextBox.Text, errorMessageBuilder, false)) { MessageBox.Show(errorMessageBuilder.ToString(), "The CalDav/CardDav Url is invalid", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var enteredUri = new Uri(_calenderUrlTextBox.Text); var webDavClient = CreateWebDavClient(); Uri autoDiscoveredUrl; ResourceType autoDiscoveredResourceType; if (ConnectionTester.RequiresAutoDiscovery(enteredUri)) { var autodiscoveryResult = await OptionTasks.DoAutoDiscovery(enteredUri, webDavClient, true, true, _dependencies.OutlookFolderType); if (autodiscoveryResult.WasCancelled) { return; } if (autodiscoveryResult.RessourceUrl != null) { autoDiscoveredUrl = autodiscoveryResult.RessourceUrl; autoDiscoveredResourceType = autodiscoveryResult.ResourceType; } else { var autodiscoveryResult2 = await OptionTasks.DoAutoDiscovery(enteredUri.AbsolutePath.EndsWith ("/")?enteredUri : new Uri(enteredUri.ToString() + "/"), webDavClient, false, false, _dependencies.OutlookFolderType); if (autodiscoveryResult2.WasCancelled) { return; } if (autodiscoveryResult2.RessourceUrl != null) { autoDiscoveredUrl = autodiscoveryResult2.RessourceUrl; autoDiscoveredResourceType = autodiscoveryResult2.ResourceType; } else { return; } } } else { var result = await ConnectionTester.TestConnection(enteredUri, webDavClient, ResourceType.None); if (result.ResourceType != ResourceType.None) { _settingsFaultFinder.FixSynchronizationMode(result); OptionTasks.DisplayTestReport( result, _dependencies.SelectedSynchronizationModeRequiresWriteableServerResource, _dependencies.SelectedSynchronizationModeDisplayName, _dependencies.OutlookFolderType); return; } else { var autodiscoveryResult = await OptionTasks.DoAutoDiscovery(enteredUri, webDavClient, false, false, _dependencies.OutlookFolderType); if (autodiscoveryResult.WasCancelled) { return; } if (autodiscoveryResult.RessourceUrl != null) { autoDiscoveredUrl = autodiscoveryResult.RessourceUrl; autoDiscoveredResourceType = autodiscoveryResult.ResourceType; } else { var autodiscoveryResult2 = await OptionTasks.DoAutoDiscovery(enteredUri, webDavClient, true, true, _dependencies.OutlookFolderType); if (autodiscoveryResult2.RessourceUrl != null) { autoDiscoveredUrl = autodiscoveryResult2.RessourceUrl; autoDiscoveredResourceType = autodiscoveryResult2.ResourceType; } else { return; } } } } _calenderUrlTextBox.Text = autoDiscoveredUrl.ToString(); var finalResult = await ConnectionTester.TestConnection(autoDiscoveredUrl, webDavClient, autoDiscoveredResourceType); _settingsFaultFinder.FixSynchronizationMode(finalResult); OptionTasks.DisplayTestReport( finalResult, _dependencies.SelectedSynchronizationModeRequiresWriteableServerResource, _dependencies.SelectedSynchronizationModeDisplayName, _dependencies.OutlookFolderType); ; } catch (Exception x) { s_logger.Error("Exception while testing the connection.", x); string message = null; for (Exception ex = x; ex != null; ex = ex.InnerException) { message += ex.Message + Environment.NewLine; } MessageBox.Show(message, OptionTasks.ConnectionTestCaption); } finally { _testConnectionButton.Enabled = true; } }
public static async Task <string> TestWebDavConnection(ICurrentOptions environment, ISettingsFaultFinder settingsFaultFinder, string url) { if (environment.OutlookFolderType == null) { MessageBox.Show("Please select an Outlook folder to specify the item type for this profile", ConnectionTestCaption); return(url); } var outlookFolderType = environment.OutlookFolderType.Value; StringBuilder errorMessageBuilder = new StringBuilder(); if (!ValidateWebDavUrl(url, errorMessageBuilder, false)) { MessageBox.Show(errorMessageBuilder.ToString(), "The CalDav/CardDav Url is invalid", MessageBoxButtons.OK, MessageBoxIcon.Error); return(url); } var enteredUri = new Uri(url); var webDavClient = environment.CreateWebDavClient(enteredUri); Uri autoDiscoveredUrl; if (ConnectionTester.RequiresAutoDiscovery(enteredUri)) { var autodiscoveryResult = await DoAutoDiscovery(enteredUri, webDavClient, true, true, outlookFolderType); switch (autodiscoveryResult.Status) { case AutoDiscoverResultStatus.UserCancelled: return(url); case AutoDiscoverResultStatus.ResourceSelected: autoDiscoveredUrl = autodiscoveryResult.RessourceUrl; break; case AutoDiscoverResultStatus.NoResourcesFound: var autodiscoveryResult2 = await DoAutoDiscovery(enteredUri.AbsolutePath.EndsWith ("/")?enteredUri : new Uri(enteredUri.ToString() + "/"), webDavClient, false, false, outlookFolderType); switch (autodiscoveryResult2.Status) { case AutoDiscoverResultStatus.UserCancelled: return(url); case AutoDiscoverResultStatus.ResourceSelected: autoDiscoveredUrl = autodiscoveryResult2.RessourceUrl; break; case AutoDiscoverResultStatus.NoResourcesFound: MessageBox.Show("No resources were found via autodiscovery!", ConnectionTestCaption); return(url); default: throw new NotImplementedException(autodiscoveryResult2.Status.ToString()); } break; default: throw new NotImplementedException(autodiscoveryResult.Status.ToString()); } } else { var result = await ConnectionTester.TestConnection(enteredUri, webDavClient); if (result.ResourceType != ResourceType.None) { settingsFaultFinder.FixSynchronizationMode(result); DisplayTestReport( result, environment.SynchronizationMode, environment.SynchronizationModeDisplayName, outlookFolderType); return(url); } else { var autodiscoveryResult = await DoAutoDiscovery(enteredUri, webDavClient, false, false, outlookFolderType); switch (autodiscoveryResult.Status) { case AutoDiscoverResultStatus.UserCancelled: return(url); case AutoDiscoverResultStatus.ResourceSelected: autoDiscoveredUrl = autodiscoveryResult.RessourceUrl; break; case AutoDiscoverResultStatus.NoResourcesFound: var autodiscoveryResult2 = await DoAutoDiscovery(enteredUri, webDavClient, true, true, outlookFolderType); switch (autodiscoveryResult2.Status) { case AutoDiscoverResultStatus.UserCancelled: return(url); case AutoDiscoverResultStatus.ResourceSelected: autoDiscoveredUrl = autodiscoveryResult2.RessourceUrl; break; case AutoDiscoverResultStatus.NoResourcesFound: MessageBox.Show("No resources were found via autodiscovery!", ConnectionTestCaption); return(url); default: throw new NotImplementedException(autodiscoveryResult2.Status.ToString()); } break; default: throw new NotImplementedException(autodiscoveryResult.Status.ToString()); } } } var finalResult = await ConnectionTester.TestConnection(autoDiscoveredUrl, webDavClient); settingsFaultFinder.FixSynchronizationMode(finalResult); DisplayTestReport( finalResult, environment.SynchronizationMode, environment.SynchronizationModeDisplayName, outlookFolderType); return(autoDiscoveredUrl.ToString()); }
public async Task <string> TestGoogleConnection(OptionsModel options, string url) { if (options.SelectedFolderOrNull == null) { MessageBox.Show(Strings.Get($"Please select an Outlook folder to specify the item type for this profile"), ConnectionTestCaption); return(url); } var outlookFolderType = options.SelectedFolderOrNull.DefaultItemType; StringBuilder errorMessageBuilder = new StringBuilder(); if (!ValidateEmailAddress(errorMessageBuilder, options.EmailAddress, false)) { MessageBox.Show(errorMessageBuilder.ToString(), Strings.Get($"The Email address is invalid"), MessageBoxButtons.OK, MessageBoxIcon.Error); return(url); } if (outlookFolderType == OlItemType.olTaskItem) { return(await TestGoogleTaskConnection(options, errorMessageBuilder, outlookFolderType, url)); } if (outlookFolderType == OlItemType.olContactItem && options.UseGoogleNativeApi) { return(await TestGoogleContactsConnection(options, outlookFolderType, url)); } if (!ValidateWebDavUrl(url, errorMessageBuilder, false)) { MessageBox.Show(errorMessageBuilder.ToString(), Strings.Get($"The CalDav/CardDav URL is invalid"), MessageBoxButtons.OK, MessageBoxIcon.Error); return(url); } var enteredUri = new Uri(url); var webDavClient = options.CreateWebDavClient(enteredUri); Uri autoDiscoveredUrl; if (ConnectionTester.RequiresAutoDiscovery(enteredUri)) { var autoDiscoveryResult = await DoAutoDiscovery(enteredUri, webDavClient, false, true, outlookFolderType); switch (autoDiscoveryResult.Status) { case AutoDiscoverResultStatus.UserCancelled: return(url); case AutoDiscoverResultStatus.ResourceSelected: autoDiscoveredUrl = autoDiscoveryResult.RessourceUrl; break; default: autoDiscoveredUrl = null; break; } } else { autoDiscoveredUrl = null; } var finalUrl = autoDiscoveredUrl?.ToString() ?? url; var result = await ConnectionTester.TestConnection(new Uri(finalUrl), webDavClient); if (result.ResourceType != ResourceType.None) { FixSynchronizationMode(options, result); FixWebDavCollectionSync(options, result); } if (outlookFolderType == OlItemType.olContactItem) { // Google Addressbook doesn't have any properties. As long as there doesn't occur an exception, the test is successful. MessageBox.Show(Strings.Get($"Connection test successful."), ConnectionTestCaption); } else { DisplayTestReport( result, options.SynchronizationMode, _enumDisplayNameProvider.Get(options.SynchronizationMode), outlookFolderType); } return(finalUrl); }
public async Task <string> TestWebDavConnection(OptionsModel options) { string url = options.CalenderUrl; if (options.SelectedFolderOrNull == null) { MessageBox.Show(Strings.Get($"Please select an Outlook folder to specify the item type for this profile"), ConnectionTestCaption); return(url); } var outlookFolderType = options.SelectedFolderOrNull.DefaultItemType; string serverUrl = url; StringBuilder errorMessageBuilder = new StringBuilder(); if (string.IsNullOrEmpty(url) && (!string.IsNullOrEmpty(options.EmailAddress) || !string.IsNullOrEmpty(options.UserName))) { var lookupEmail = !string.IsNullOrEmpty(options.EmailAddress) ? options.EmailAddress : options.UserName; if (!ValidateEmailAddress(errorMessageBuilder, lookupEmail, true)) { MessageBox.Show(errorMessageBuilder.ToString(), Strings.Get($"The Email address is invalid"), MessageBoxButtons.OK, MessageBoxIcon.Error); return(url); } bool success; serverUrl = DoSrvLookup(lookupEmail, outlookFolderType, out success); } if (!ValidateWebDavUrl(serverUrl, errorMessageBuilder, false)) { MessageBox.Show(errorMessageBuilder.ToString(), Strings.Get($"The CalDav/CardDav URL is invalid"), MessageBoxButtons.OK, MessageBoxIcon.Error); return(url); } var enteredUri = new Uri(serverUrl); var webDavClient = options.CreateWebDavClient(enteredUri); Uri autoDiscoveredUrl; if (ConnectionTester.RequiresAutoDiscovery(enteredUri)) { var autodiscoveryResult = await DoAutoDiscovery(enteredUri, webDavClient, true, true, outlookFolderType); switch (autodiscoveryResult.Status) { case AutoDiscoverResultStatus.UserCancelled: return(url); case AutoDiscoverResultStatus.ResourceSelected: autoDiscoveredUrl = autodiscoveryResult.RessourceUrl; break; case AutoDiscoverResultStatus.NoResourcesFound: var autodiscoveryResult2 = await DoAutoDiscovery(enteredUri.AbsolutePath.EndsWith("/")?enteredUri : new Uri(enteredUri.ToString() + "/"), webDavClient, false, false, outlookFolderType); switch (autodiscoveryResult2.Status) { case AutoDiscoverResultStatus.UserCancelled: return(url); case AutoDiscoverResultStatus.ResourceSelected: autoDiscoveredUrl = autodiscoveryResult2.RessourceUrl; break; case AutoDiscoverResultStatus.NoResourcesFound: MessageBox.Show(Strings.Get($"No resources were found via autodiscovery!"), ConnectionTestCaption); return(url); default: throw new NotImplementedException(autodiscoveryResult2.Status.ToString()); } break; default: throw new NotImplementedException(autodiscoveryResult.Status.ToString()); } } else { var result = await ConnectionTester.TestConnection(enteredUri, webDavClient); if (result.ResourceType != ResourceType.None) { FixSynchronizationMode(options, result); FixWebDavCollectionSync(options, result); UpdateServerEmailAndSchedulingSettings(options, result); DisplayTestReport( result, options.SynchronizationMode, _enumDisplayNameProvider.Get(options.SynchronizationMode), outlookFolderType); return(url); } else { var autodiscoveryResult = await DoAutoDiscovery(enteredUri, webDavClient, false, false, outlookFolderType); switch (autodiscoveryResult.Status) { case AutoDiscoverResultStatus.UserCancelled: return(url); case AutoDiscoverResultStatus.ResourceSelected: autoDiscoveredUrl = autodiscoveryResult.RessourceUrl; break; case AutoDiscoverResultStatus.NoResourcesFound: var autodiscoveryResult2 = await DoAutoDiscovery(enteredUri, webDavClient, true, true, outlookFolderType); switch (autodiscoveryResult2.Status) { case AutoDiscoverResultStatus.UserCancelled: return(url); case AutoDiscoverResultStatus.ResourceSelected: autoDiscoveredUrl = autodiscoveryResult2.RessourceUrl; break; case AutoDiscoverResultStatus.NoResourcesFound: MessageBox.Show(Strings.Get($"No resources were found via autodiscovery!"), ConnectionTestCaption); return(url); default: throw new NotImplementedException(autodiscoveryResult2.Status.ToString()); } break; default: throw new NotImplementedException(autodiscoveryResult.Status.ToString()); } } } var finalResult = await ConnectionTester.TestConnection(autoDiscoveredUrl, webDavClient); FixSynchronizationMode(options, finalResult); FixWebDavCollectionSync(options, finalResult); UpdateServerEmailAndSchedulingSettings(options, finalResult); DisplayTestReport( finalResult, options.SynchronizationMode, _enumDisplayNameProvider.Get(options.SynchronizationMode), outlookFolderType); return(autoDiscoveredUrl.ToString()); }
//测试 安装模式 void ToFourthNext_Click(object sender, EventArgs e) { SetupManager.StepChecker = 1; Settings setting = Settings.Current; #if SQLSERVER setting.IServerAddress = TextGetter(GetSqlServerAddress()); setting.IDatabase = TextGetter(IdMaxDatabase.Text.Trim(' ', '[', ']')); setting.IsIWindows = ThirdIsWindows.SelectedValue == "0" ? true : false; if (!setting.IsIWindows) { setting.IUserID = TextGetter(IdMaxUserID.Text); if (IdMaxPassword.Text != UseOldPassword) setting.IPassword = TextGetter(IdMaxPassword.Text); else { setting.IPassword = oldPassword; } } setting.DynamicCompress = DynamicCompress.Checked; setting.StaticCompress = StaticCompress.Checked; setting.Licence = Licence.Text; string result = ConnectionTester.Check(); if (string.IsNullOrEmpty(result)) { settings = SetupManager.GetSettings(); result = ConnectionTester.GetUpgradeOption(); if (result.IndexOf(" 3.") > 0 || result.IndexOf(" 2.") > 0) { RabSetupMode.Items[0].Enabled = false; RabSetupMode.Items[1].Enabled = false; if (result.StartsWith("~")) { RabSetupMode.Items[1].Text = " " + result.Substring(1); //RabSetupMode.SelectedIndex = 1; } else { RabSetupMode.Items[1].Text = " " + result; //RabSetupMode.SelectedIndex = 0; } ToFifthNext.Enabled = false; Page.ClientScript.RegisterStartupScript(this.GetType(), "ToFourth_ClickError", "alert('请先升级到4.2.3版本');", true); SetVisible(Step.Fifth); } else { if (result.StartsWith("~")) { RabSetupMode.Items[1].Text = " " + result.Substring(1); RabSetupMode.Items[1].Enabled = true; RabSetupMode.SelectedIndex = 1; } else { RabSetupMode.Items[1].Text = " " + result; RabSetupMode.Items[1].Enabled = false; RabSetupMode.SelectedIndex = 0; } SetVisible(Step.Fifth); } } else { SetVisible(Step.Third); Page.ClientScript.RegisterStartupScript(this.GetType(), "ToFourth_ClickError", "alert('" + Globals.SafeJS(result) + "');", true); } #endif #if SQLITE setting.BbsMaxFilePath = bbsMaxFilePath.Text; setting.IdMaxFilePath = idMaxFilePath.Text; RabSetupMode.Items[1].Enabled = false; Regex reg = new Regex(@"\\.*?", RegexOptions.IgnoreCase);// /d/bbsmax/bbsmax.config string[] array = null; if (reg.IsMatch(bbsMaxFilePath.Text)) array = reg.Split(bbsMaxFilePath.Text); setting.BbsMaxDatabase = array[array.Length - 1]; if (reg.IsMatch(idMaxFilePath.Text)) array = reg.Split(idMaxFilePath.Text); setting.IdMaxDatabase = array[array.Length - 1]; string result = string.Empty; if (ConnectionTester.IsSqlLiteMaxExists())//该数据库是否存在 { settings = SetupManager.GetSettings(); result = ConnectionTester.GetUpgradeOption(); if (result.StartsWith("~")) { RabSetupMode.Items[1].Text = " " + result.Substring(1); RabSetupMode.Items[1].Enabled = true; RabSetupMode.SelectedIndex = 1; } else { RabSetupMode.Items[1].Text = " " + result; RabSetupMode.Items[1].Enabled = false; RabSetupMode.SelectedIndex = 0; } SetVisible(Step.Fifth); } else { RabSetupMode.SelectedIndex = 0; SetVisible(Step.Fifth); } #endif }
public static async Task TestGoogleConnection(ICurrentOptions currentOptions, ISettingsFaultFinder settingsFaultFinder) { if (currentOptions.OutlookFolderType == null) { MessageBox.Show("Please select an Outlook folder to specify the item type for this profile", ConnectionTestCaption); return; } var outlookFolderType = currentOptions.OutlookFolderType.Value; StringBuilder errorMessageBuilder = new StringBuilder(); if (!ValidateGoogleEmailAddress(errorMessageBuilder, currentOptions.EmailAddress)) { MessageBox.Show(errorMessageBuilder.ToString(), "The Email Address is invalid", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (outlookFolderType == OlItemType.olTaskItem) { await TestGoogleTaskConnection(currentOptions, errorMessageBuilder, outlookFolderType); return; } if (!ValidateWebDavUrl(currentOptions.ServerUrl, errorMessageBuilder, false)) { MessageBox.Show(errorMessageBuilder.ToString(), "The CalDav/CardDav Url is invalid", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var enteredUri = new Uri(currentOptions.ServerUrl); var webDavClient = currentOptions.CreateWebDavClient(); Uri autoDiscoveredUrl; ResourceType autoDiscoveredResourceType; if (ConnectionTester.RequiresAutoDiscovery(enteredUri)) { var calDavDataAccess = new CalDavDataAccess(enteredUri, webDavClient); var foundCaldendars = await calDavDataAccess.GetUserCalendarsNoThrow(false); var cardDavDataAccess = new CardDavDataAccess(enteredUri, webDavClient); IReadOnlyList <Tuple <Uri, string> > foundAddressBooks = await cardDavDataAccess.GetUserAddressBooksNoThrow(true); if (foundCaldendars.Count > 0 || foundAddressBooks.Count > 0) { ResourceType initalResourceType; if (currentOptions.OutlookFolderType == OlItemType.olContactItem) { initalResourceType = ResourceType.AddressBook; } else if (currentOptions.OutlookFolderType == OlItemType.olTaskItem) { initalResourceType = ResourceType.TaskList; } else { initalResourceType = ResourceType.Calendar; } using (SelectResourceForm listCalendarsForm = new SelectResourceForm( foundCaldendars, foundAddressBooks, new Tuple <string, string>[] {}, initalResourceType)) { if (listCalendarsForm.ShowDialog() == DialogResult.OK) { if (listCalendarsForm.ResourceType == ResourceType.TaskList) { autoDiscoveredUrl = null; currentOptions.ServerUrl = listCalendarsForm.SelectedUrl; } else { autoDiscoveredUrl = new Uri(enteredUri.GetLeftPart(UriPartial.Authority) + listCalendarsForm.SelectedUrl); } autoDiscoveredResourceType = listCalendarsForm.ResourceType; } else { autoDiscoveredUrl = null; autoDiscoveredResourceType = ResourceType.None; } } } else { MessageBox.Show("No resources were found via autodiscovery!", ConnectionTestCaption); autoDiscoveredUrl = null; autoDiscoveredResourceType = ResourceType.None; } } else { var result = await ConnectionTester.TestConnection(enteredUri, webDavClient, ResourceType.None); if (result.ResourceType != ResourceType.None) { settingsFaultFinder.FixSynchronizationMode(result); } DisplayTestReport( result, currentOptions.SynchronizationMode, currentOptions.SynchronizationModeDisplayName, outlookFolderType); return; } if (autoDiscoveredUrl != null) { currentOptions.ServerUrl = autoDiscoveredUrl.ToString(); var finalResult = await ConnectionTester.TestConnection(autoDiscoveredUrl, webDavClient, autoDiscoveredResourceType); settingsFaultFinder.FixSynchronizationMode(finalResult); DisplayTestReport( finalResult, currentOptions.SynchronizationMode, currentOptions.SynchronizationModeDisplayName, outlookFolderType); } else if (outlookFolderType == OlItemType.olTaskItem) { TestResult result = new TestResult(ResourceType.TaskList, CalendarProperties.None, AddressBookProperties.None); DisplayTestReport( result, currentOptions.SynchronizationMode, currentOptions.SynchronizationModeDisplayName, outlookFolderType); } }
private void step3_Next_Click(object sender, EventArgs e) { webSite.Focus(); step3_Next.Enabled = false; step3_Prev.Enabled = false; step4_Next.Enabled = true; step4_Prev.Enabled = true; Settings setting = Settings.Current; #if SQLSERVER setting.IServerAddress = address.Text.Trim(); setting.IDatabase = dbName.Text.Trim(' ', '[', ']'); setting.IsIWindows = false; if (!setting.IsIWindows) { setting.IUserID = userName.Text.Trim(); setting.IPassword = dbPwd.Text.Trim(); } string result = ConnectionTester.Check(); if (string.IsNullOrEmpty(result)) { settings = SetupManager.GetSettings(); result = ConnectionTester.GetUpgradeOption(); if (result.StartsWith("~"))//修改安装 { changeInstall.Text = result.Substring(1); changeInstall.Enabled = true; changeInstall.Checked = true; webSite.Text = settings.SiteName; webSite.Enabled = false; webUrl.Text = settings.SiteUrl; webUrl.Enabled = false; bbsName.Text = settings.BBSName; bbsName.Enabled = false; //bbsUrl.Text = settings.BBSUrl; //bbsUrl.Enabled = false; adminName.Text = settings.AdminName; adminName.Enabled = false; label23.Visible = false; adminPwd.Visible = false; //adminNickName.Text = settings.AdminNickName; //adminNickName.Enabled = false; } else { adminName.Text = "admin"; adminNickName.Text = "admin"; //ip或主机头..虚拟目录名称?多级虚拟目录.. string port = SiteInfo.Current.Port == "80" ? "" : ":" + SiteInfo.Current.Port; string ip = SiteInfo.Current.IP == "" ? "localhost" : SiteInfo.Current.IP; string host = SiteInfo.Current.Host == "" ? ip + port : SiteInfo.Current.Host + port; webUrl.Text = string.Format("http://{0}", host); //bbsUrl.Text = string.Format("http://{0}/{1}", host, SiteInfo.Current.VirtualName); // changeInstall.Text = result; changeInstall.Enabled = false; newInstall.Checked = true; } this.tabControl1.SelectedIndex = 3; } else { step3_Next.Enabled = true; step3_Prev.Enabled = true; MessageBox.Show("连接数据库失败", "安装向导", MessageBoxButtons.OK, MessageBoxIcon.Warning); } #endif #if SQLITE setting.BbsMaxFilePath = bbsMaxFilePath.Text; setting.IdMaxFilePath = idMaxFilePath.Text; adminName.Text = "admin"; adminNickName.Text = "admin"; //ip或主机头..虚拟目录名称?多级虚拟目录.. string port = SiteInfo.Current.Port == "80" ? "" : ":" + SiteInfo.Current.Port; string ip = SiteInfo.Current.IP == "" ? "localhost" : SiteInfo.Current.IP; string host = SiteInfo.Current.Host == "" ? ip + port : SiteInfo.Current.Host + port; webUrl.Text = string.Format("http://{0}", host); bbsUrl.Text = string.Format("http://{0}/{1}", host, SiteInfo.Current.VirtualName); Regex reg = new Regex(@"\\.*?", RegexOptions.IgnoreCase);// /d/bbsmax/bbsmax.config string[] array = null; if (reg.IsMatch(bbsMaxFilePath.Text)) { array = reg.Split(bbsMaxFilePath.Text); } setting.BbsMaxDatabase = array[array.Length - 1]; if (reg.IsMatch(idMaxFilePath.Text)) { array = reg.Split(idMaxFilePath.Text); } setting.IdMaxDatabase = array[array.Length - 1]; string result = string.Empty; if (ConnectionTester.IsSqlLiteMaxExists())//该数据库是否存在 { settings = SetupManager.GetSettings(); result = ConnectionTester.GetUpgradeOption(); if (result.StartsWith("~")) { changeInstall.Text = result.Substring(1); changeInstall.Enabled = true; changeInstall.Checked = true; webSite.Text = settings.SiteName; webSite.Enabled = false; webUrl.Text = settings.SiteUrl; webUrl.Enabled = false; bbsName.Text = settings.BBSName; bbsName.Enabled = false; bbsUrl.Text = settings.BBSUrl; bbsUrl.Enabled = false; adminName.Text = settings.AdminName; adminName.Enabled = false; label23.Visible = false; adminPwd.Visible = false; adminNickName.Text = settings.AdminNickName; adminNickName.Enabled = false; } else { changeInstall.Text = result; changeInstall.Enabled = false; newInstall.Checked = true; } this.tabControl1.SelectedIndex = 3; } else { changeInstall.Enabled = false; newInstall.Checked = true; this.tabControl1.SelectedIndex = 3; } #endif }
public static async Task <string> TestGoogleConnection(ICurrentOptions currentOptions, ISettingsFaultFinder settingsFaultFinder, string url) { if (currentOptions.OutlookFolderType == null) { MessageBox.Show("Please select an Outlook folder to specify the item type for this profile", ConnectionTestCaption); return(url); } var outlookFolderType = currentOptions.OutlookFolderType.Value; StringBuilder errorMessageBuilder = new StringBuilder(); if (!ValidateGoogleEmailAddress(errorMessageBuilder, currentOptions.EmailAddress)) { MessageBox.Show(errorMessageBuilder.ToString(), "The Email Address is invalid", MessageBoxButtons.OK, MessageBoxIcon.Error); return(url); } if (outlookFolderType == OlItemType.olTaskItem) { return(await TestGoogleTaskConnection(currentOptions, errorMessageBuilder, outlookFolderType, url)); } if (outlookFolderType == OlItemType.olContactItem && currentOptions.ServerAdapterType == ServerAdapterType.GoogleContactApi) { return(await TestGoogleContactsConnection(currentOptions, outlookFolderType, url)); } if (!ValidateWebDavUrl(url, errorMessageBuilder, false)) { MessageBox.Show(errorMessageBuilder.ToString(), "The CalDav/CardDav Url is invalid", MessageBoxButtons.OK, MessageBoxIcon.Error); return(url); } var enteredUri = new Uri(url); var webDavClient = currentOptions.CreateWebDavClient(enteredUri); Uri autoDiscoveredUrl; if (ConnectionTester.RequiresAutoDiscovery(enteredUri)) { var autoDiscoveryResult = await DoAutoDiscovery(enteredUri, webDavClient, false, true, outlookFolderType); switch (autoDiscoveryResult.Status) { case AutoDiscoverResultStatus.UserCancelled: return(url); case AutoDiscoverResultStatus.ResourceSelected: autoDiscoveredUrl = autoDiscoveryResult.RessourceUrl; break; default: autoDiscoveredUrl = null; break; } } else { autoDiscoveredUrl = null; } var finalUrl = autoDiscoveredUrl?.ToString() ?? url; var result = await ConnectionTester.TestConnection(new Uri(finalUrl), webDavClient); if (result.ResourceType != ResourceType.None) { settingsFaultFinder.FixSynchronizationMode(result); } if (outlookFolderType == OlItemType.olContactItem) { // Google Addressbook doesn't have any properties. As long as there doesn't occur an exception, the test is successful. MessageBox.Show("Connection test successful.", ConnectionTestCaption); } else { DisplayTestReport( result, currentOptions.SynchronizationMode, currentOptions.SynchronizationModeDisplayName, outlookFolderType); } return(finalUrl); }
public static async Task TestWebDavConnection(ICurrentOptions environment, ISettingsFaultFinder settingsFaultFinder) { if (environment.OutlookFolderType == null) { MessageBox.Show("Please select an Outlook folder to specify the item type for this profile", ConnectionTestCaption); return; } var outlookFolderType = environment.OutlookFolderType.Value; StringBuilder errorMessageBuilder = new StringBuilder(); if (!ValidateWebDavUrl(environment.ServerUrl, errorMessageBuilder, false)) { MessageBox.Show(errorMessageBuilder.ToString(), "The CalDav/CardDav Url is invalid", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var enteredUri = new Uri(environment.ServerUrl); var webDavClient = environment.CreateWebDavClient(); Uri autoDiscoveredUrl; ResourceType autoDiscoveredResourceType; if (ConnectionTester.RequiresAutoDiscovery(enteredUri)) { var autodiscoveryResult = await DoAutoDiscovery(enteredUri, webDavClient, true, true, environment.OutlookFolderType); if (autodiscoveryResult.WasCancelled) { return; } if (autodiscoveryResult.RessourceUrl != null) { autoDiscoveredUrl = autodiscoveryResult.RessourceUrl; autoDiscoveredResourceType = autodiscoveryResult.ResourceType; } else { var autodiscoveryResult2 = await DoAutoDiscovery(enteredUri.AbsolutePath.EndsWith ("/")?enteredUri : new Uri(enteredUri.ToString() + "/"), webDavClient, false, false, environment.OutlookFolderType); if (autodiscoveryResult2.WasCancelled) { return; } if (autodiscoveryResult2.RessourceUrl != null) { autoDiscoveredUrl = autodiscoveryResult2.RessourceUrl; autoDiscoveredResourceType = autodiscoveryResult2.ResourceType; } else { MessageBox.Show("No resources were found via autodiscovery!", ConnectionTestCaption); return; } } } else { var result = await ConnectionTester.TestConnection(enteredUri, webDavClient, ResourceType.None); if (result.ResourceType != ResourceType.None) { settingsFaultFinder.FixSynchronizationMode(result); DisplayTestReport( result, environment.SynchronizationMode, environment.SynchronizationModeDisplayName, outlookFolderType); return; } else { var autodiscoveryResult = await DoAutoDiscovery(enteredUri, webDavClient, false, false, environment.OutlookFolderType); if (autodiscoveryResult.WasCancelled) { return; } if (autodiscoveryResult.RessourceUrl != null) { autoDiscoveredUrl = autodiscoveryResult.RessourceUrl; autoDiscoveredResourceType = autodiscoveryResult.ResourceType; } else { var autodiscoveryResult2 = await DoAutoDiscovery(enteredUri, webDavClient, true, true, environment.OutlookFolderType); if (autodiscoveryResult2.RessourceUrl != null) { autoDiscoveredUrl = autodiscoveryResult2.RessourceUrl; autoDiscoveredResourceType = autodiscoveryResult2.ResourceType; } else { MessageBox.Show("No resources were found via autodiscovery!", ConnectionTestCaption); return; } } } } environment.ServerUrl = autoDiscoveredUrl.ToString(); var finalResult = await ConnectionTester.TestConnection(autoDiscoveredUrl, webDavClient, autoDiscoveredResourceType); settingsFaultFinder.FixSynchronizationMode(finalResult); DisplayTestReport( finalResult, environment.SynchronizationMode, environment.SynchronizationModeDisplayName, outlookFolderType); }