private void butOK_Click(object sender, System.EventArgs e) { if (checkConnectServer.Checked) { if (textPort.errorProvider1.GetError(textPort) != "") { MsgBox.Show(this, "Please fix data entry errors first."); return; } string originalServer = RemotingClient.ServerName; int originalPort = RemotingClient.ServerPort; RemotingClient.ServerName = comboServerName2.Text; RemotingClient.ServerPort = PIn.PInt(textPort.Text); DtoLogin dto = new DtoLogin(); dto.Database = comboDatabase2.Text; dto.OdUser = textUser2.Text; dto.OdPassHash = UserodB.EncryptPassword(textPassword2.Text); try{ RemotingClient.ProcessCommand(dto); RemotingClient.OpenDentBusinessIsLocal = false; } catch (Exception ex) { RemotingClient.ServerName = originalServer; RemotingClient.ServerPort = originalPort; MessageBox.Show(ex.Message); return; } } else { OpenDentBusiness.DataConnection dcon; //Try to connect to the database directly try { DBtype = DatabaseType.MySql; if (listType.SelectedIndex == 1) { DBtype = DatabaseType.Oracle; } DataSettings.DbType = DBtype; dcon = new OpenDentBusiness.DataConnection(DBtype); if (textConnectionString.Text.Length > 0) { DataSettings.ConnectionString = textConnectionString.Text; dcon.SetDb(textConnectionString.Text, "", DBtype); } else { DataSettings.CreateConnectionString(comboComputerName.Text, comboDatabase.Text, textUser.Text, textPassword.Text); dcon.SetDb(comboComputerName.Text, comboDatabase.Text, textUser.Text, textPassword.Text, "", "", DBtype); } //a direct connection does not utilize lower privileges. } catch (Exception ex) { MessageBox.Show( //Lan.g(this,"Could not establish connection to database.")); ex.Message); return; } RemotingClient.OpenDentBusinessIsLocal = true; } try{ XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; settings.IndentChars = (" "); using (XmlWriter writer = XmlWriter.Create("FreeDentalConfig.xml", settings)) { writer.WriteStartElement("ConnectionSettings"); if (RemotingClient.OpenDentBusinessIsLocal) { writer.WriteStartElement("DatabaseConnection"); writer.WriteStartElement("ComputerName"); writer.WriteString(comboComputerName.Text); writer.WriteEndElement(); writer.WriteStartElement("Database"); writer.WriteString(comboDatabase.Text); writer.WriteEndElement(); writer.WriteStartElement("User"); writer.WriteString(textUser.Text); writer.WriteEndElement(); writer.WriteStartElement("Password"); writer.WriteString(textPassword.Text); writer.WriteEndElement(); writer.WriteStartElement("NoShowOnStartup"); if (checkNoShow.Checked) { writer.WriteString("True"); } else { writer.WriteString("False"); } writer.WriteEndElement(); writer.WriteEndElement(); } else { writer.WriteStartElement("ServerConnection"); writer.WriteStartElement("ComputerName"); writer.WriteString(comboServerName2.Text); writer.WriteEndElement(); writer.WriteStartElement("ServerPort"); writer.WriteString(textPort.Text); writer.WriteEndElement(); writer.WriteStartElement("Database"); writer.WriteString(comboDatabase2.Text); writer.WriteEndElement(); writer.WriteEndElement(); } writer.WriteStartElement("DatabaseType"); if (listType.SelectedIndex == 0) { writer.WriteString("MySql"); } else { writer.WriteString("Oracle"); } writer.WriteEndElement(); writer.WriteEndElement(); writer.Flush(); } //using writer } catch { //data not saved. } //fyiReporting.RDL.DataSource.SetOpenDentalConnectionString( // "Server="+ComputerName+";Database="+Database+";User ID="+DbUser+";Password="******";CharSet=utf8"); DialogResult = DialogResult.OK; }