Skip to content

Commit

Permalink
PMN-2021.3 Release
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffreyladd committed May 13, 2021
1 parent 8a11f0f commit 02d8ece
Show file tree
Hide file tree
Showing 17 changed files with 92 additions and 41 deletions.
6 changes: 3 additions & 3 deletions Build/CommonAssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
[assembly: AssemblyCopyright("Copyright © PopMedNet 2011-2021")]
[assembly: ComVisible(false)]
//Please Also update The Click Once version under Lpp.Dns.DataMartClient Properties > publish > Version Number
[assembly: AssemblyVersion( /*<VERSION>*/ "7.0.0.0" /*</VERSION>*/ )]
[assembly: AssemblyFileVersion( /*<VERSION>*/ "7.0.0.0" /*</VERSION>*/ )]
[assembly: AssemblyInformationalVersion("2021.2")]
[assembly: AssemblyVersion( /*<VERSION>*/ "7.1.0.0" /*</VERSION>*/ )]
[assembly: AssemblyFileVersion( /*<VERSION>*/ "7.1.0.0" /*</VERSION>*/ )]
[assembly: AssemblyInformationalVersion("2021.3")]
6 changes: 3 additions & 3 deletions Build/DataMartClientCommonAssemlbyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
[assembly: AssemblyCopyright("Copyright © PopMedNet 2011-2021")]
[assembly: ComVisible(false)]
//Please Also update The Click Once version under Lpp.Dns.DataMartClient Properties > publish > Version Number
[assembly: AssemblyVersion( /*<VERSION>*/ "7.0.0.0" /*</VERSION>*/ )]
[assembly: AssemblyFileVersion( /*<VERSION>*/ "7.0.0.0" /*</VERSION>*/ )]
[assembly: AssemblyInformationalVersion("2021.2")]
[assembly: AssemblyVersion( /*<VERSION>*/ "7.1.0.0" /*</VERSION>*/ )]
[assembly: AssemblyFileVersion( /*<VERSION>*/ "7.1.0.0" /*</VERSION>*/ )]
[assembly: AssemblyInformationalVersion("2021.3")]
3 changes: 3 additions & 0 deletions Lpp.Adapters/Lpp.Dns.DataMart.Client.Database/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@
</system.data>
<oracle.manageddataaccess.client>
<version number="*">
<settings>
<setting name="SQLNET.ENCRYPTION_CLIENT" value="requested" />
</settings>
<dataSources>
<dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " />
</dataSources>
Expand Down
16 changes: 10 additions & 6 deletions Lpp.Adapters/Lpp.Dns.DataMart.Client.Database/ConnectionTester.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,22 @@ public bool Test(IDictionary<string,object> settings)
return TestODBC((settings["DataSourceName"] ?? string.Empty).ToString());
}

object server, port, database, userID, password, connectionTimeout, commandTimeout;
object server, port, database, userID, password, connectionTimeout, commandTimeout, encrypted;
settings.TryGetValue("Server", out server);
settings.TryGetValue("Port", out port);
settings.TryGetValue("Database", out database);
settings.TryGetValue("UserID", out userID);
settings.TryGetValue("Password", out password);
settings.TryGetValue("ConnectionTimeout", out connectionTimeout);
settings.TryGetValue("CommandTimeout", out commandTimeout);

settings.TryGetValue("Encrypt", out encrypted);

switch (sqlProvider)
{
case Model.Settings.SQLProvider.SQLServer:
return TestSQLServer((server ?? string.Empty).ToString(), (port ?? string.Empty).ToString(), (database ?? string.Empty).ToString(), (userID ?? string.Empty).ToString(), (password ?? string.Empty).ToString(), Convert.ToInt32(connectionTimeout ?? 0));
return TestSQLServer((server ?? string.Empty).ToString(), (port ?? string.Empty).ToString(), (database ?? string.Empty).ToString(), (userID ?? string.Empty).ToString(), (password ?? string.Empty).ToString(), Convert.ToInt32(connectionTimeout ?? 0), bool.Parse(encrypted.ToString()));
case Model.Settings.SQLProvider.PostgreSQL:
return TestPostgreSQL((server ?? string.Empty).ToString(), (port ?? string.Empty).ToString(), (database ?? string.Empty).ToString(), (userID ?? string.Empty).ToString(), (password ?? string.Empty).ToString(), Convert.ToInt32(connectionTimeout ?? 0), Convert.ToInt32(commandTimeout ?? 0));
return TestPostgreSQL((server ?? string.Empty).ToString(), (port ?? string.Empty).ToString(), (database ?? string.Empty).ToString(), (userID ?? string.Empty).ToString(), (password ?? string.Empty).ToString(), Convert.ToInt32(connectionTimeout ?? 0), Convert.ToInt32(commandTimeout ?? 0), bool.Parse(encrypted.ToString()));
//case Model.Settings.SQLProvider.MySQL:
// return TestMySQL((server ?? string.Empty).ToString(), (port ?? string.Empty).ToString(), (database ?? string.Empty).ToString(), (userID ?? string.Empty).ToString(), (password ?? string.Empty).ToString(), Convert.ToInt32(connectionTimeout ?? 0));
case Model.Settings.SQLProvider.Oracle:
Expand All @@ -53,12 +53,14 @@ bool TestODBC(string dsn)
}
}

bool TestSQLServer(string server, string port, string database, string userID, string password, int connectionTimeout)
bool TestSQLServer(string server, string port, string database, string userID, string password, int connectionTimeout, bool encrypted)
{
System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder();
builder.DataSource = server + (string.IsNullOrWhiteSpace(port) ? string.Empty : ", " + port);
builder.InitialCatalog = database;
builder.ConnectTimeout = connectionTimeout;
builder.Encrypt = encrypted;
builder.TrustServerCertificate = encrypted;
if (!string.IsNullOrWhiteSpace(userID))
{
builder.UserID = userID;
Expand All @@ -75,7 +77,7 @@ bool TestSQLServer(string server, string port, string database, string userID, s
}
}

bool TestPostgreSQL(string server, string port, string database, string userID, string password, int connectionTimeout, int commandTimeout)
bool TestPostgreSQL(string server, string port, string database, string userID, string password, int connectionTimeout, int commandTimeout, bool encrypted)
{
Npgsql.NpgsqlConnectionStringBuilder builder = new Npgsql.NpgsqlConnectionStringBuilder();
builder.Host = server;
Expand All @@ -88,6 +90,8 @@ bool TestPostgreSQL(string server, string port, string database, string userID,
builder.Password = password;
builder.Timeout = connectionTimeout;
builder.CommandTimeout = commandTimeout;
builder.SslMode = encrypted ? Npgsql.SslMode.Require : Npgsql.SslMode.Prefer;
builder.TrustServerCertificate = encrypted;
using (var conn = new Npgsql.NpgsqlConnection(builder.ToString()))
{
return TestConnection(conn);
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 10 additions & 2 deletions Lpp.Adapters/Lpp.Dns.DataMart.Client/Controls/DataSourceEditor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,9 @@ private void DataSourceEditor_Load(object sender, EventArgs e)
cmbDataSourceName.SelectedItem = value;
}
break;

case "ENCRYPT":
this.chkEncrypt.Checked = string.IsNullOrWhiteSpace(value) ? false : value.ToBool();
break;
case "CONNECTIONTIMEOUT":
int connectionTimeout;
if (int.TryParse(value, out connectionTimeout))
Expand Down Expand Up @@ -130,6 +132,7 @@ public IEnumerable<Lpp.Dns.DataMart.Lib.PropertyData> GetSettings()
settings.Add(new DataMart.Lib.PropertyData("DataSourceName", isODBC ? cmbDataSourceName.SelectedItem.ToString() : string.Empty));
settings.Add(new DataMart.Lib.PropertyData("ConnectionTimeout", txtConnectionTimeout.Value.ToString()));
settings.Add(new DataMart.Lib.PropertyData("CommandTimeout", txtCommandTimeout.Value.ToString()));
settings.Add(new DataMart.Lib.PropertyData("Encrypt", isODBC ? false.ToString() : chkEncrypt.Checked.ToString()));

return settings;
}
Expand Down Expand Up @@ -184,6 +187,8 @@ private void btnTestConnection_Click(object sender, EventArgs e)
}
string dsn = (cmbDataSourceName.SelectedItem ?? string.Empty).ToString();

string encrypted = chkEncrypt.Checked.ToString();

Model.Settings.SQLProvider sqlProvider = (Model.Settings.SQLProvider)Enum.Parse(typeof(Model.Settings.SQLProvider), cmbDataProvider.SelectedItem.ToString(), true);

Dictionary<string, object> settings = new Dictionary<string, object>();
Expand All @@ -195,6 +200,7 @@ private void btnTestConnection_Click(object sender, EventArgs e)
settings.Add("Password", password);
settings.Add("ConnectionTimeout", connectionTimeout);
settings.Add("CommandTimeout", commandTimeout);
settings.Add("Encrypt", encrypted);

if (sqlProvider == Model.Settings.SQLProvider.ODBC)
{
Expand Down Expand Up @@ -245,7 +251,9 @@ private void cmbDataProvider_SelectedIndexChanged(object sender, EventArgs e)
{
var selectedProvider = (Model.Settings.SQLProvider)cmbDataProvider.SelectedItem;
pnlDirect.Visible = selectedProvider != Model.Settings.SQLProvider.ODBC;
pnlODBC.Visible = selectedProvider == Model.Settings.SQLProvider.ODBC;
pnlODBC.Visible = selectedProvider == Model.Settings.SQLProvider.ODBC;

chkEncrypt.Visible = selectedProvider != Model.Settings.SQLProvider.Oracle;
}

}
Expand Down
8 changes: 8 additions & 0 deletions Lpp.Adapters/Lpp.Dns.DataMart.Client/app.config
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
</sectionGroup>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections>
<System.Windows.Forms.ApplicationConfigurationSection>
<add key="DpiAwareness" value="PerMonitorV2" />
Expand Down Expand Up @@ -177,4 +178,11 @@
<provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql"/>
</providers>
</entityFramework>
<oracle.manageddataaccess.client>
<version number="*">
<settings>
<setting name="SQLNET.ENCRYPTION_CLIENT" value="requested" />
</settings>
</version>
</oracle.manageddataaccess.client>
</configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -1173,7 +1173,8 @@ public void Start(string requestId, bool viewSQL)
string database = Settings.GetAsString("Database", "");
string dataSourceName = Settings.GetAsString("DataSourceName", "");
string connectionTimeout = Settings.GetAsString("ConnectionTimeout", "15");
string commandTimeout = Settings.GetAsString("CommandTimeout", "120");
string commandTimeout = Settings.GetAsString("CommandTimeout", "120");
string encrypted = Settings.GetAsString("Encrypt", "False");

log.Info("Connection timeout: " + connectionTimeout + ", Command timeout: " + commandTimeout);
log.Info("Query: " + query);
Expand Down Expand Up @@ -1218,8 +1219,7 @@ public void Start(string requestId, bool viewSQL)
}

if (port != null && port != string.Empty) server += ", " + port;
connectionString = userId != null && userId != string.Empty ? String.Format("server={0};User ID={1};Password={2};Database={3}; Connection Timeout={4}", server, userId, password, database, connectionTimeout) :
String.Format("server={0};integrated security=True;Database={1}; Connection Timeout={2}", server, database, connectionTimeout);
connectionString = userId != null && userId != string.Empty ? String.Format("server={0};User ID={1};Password={2};Database={3}; Connection Timeout={4}; Encrypt={5}; TrustServerCertificate={5};", server, userId, password, database, connectionTimeout, encrypted) : String.Format("server={0};integrated security=True;Database={1}; Connection Timeout={2}; Encrypt={3}; TrustServerCertificate={3};", server, database, connectionTimeout, encrypted);
using (System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectionString))
{
try
Expand Down

0 comments on commit 02d8ece

Please sign in to comment.