Skip to content

Commit 769c409

Browse files
committed
NugetUpdate
Update of the nuget packages
1 parent d189873 commit 769c409

File tree

6 files changed

+94
-47
lines changed

6 files changed

+94
-47
lines changed

Demo/Program.cs

+7-4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ static void Main(string[] args)
1616
Console.WriteLine("Normal constructor");
1717
var connector = new Connector("localhost", "testdatabase", "testuser", "testpassword");
1818
LoadAndPrintPersons(connector);
19-
19+
2020

2121
// Step 2: Normal constructor with secure password
2222
Console.WriteLine("Normal constructor with secure password");
@@ -45,9 +45,12 @@ static void Main(string[] args)
4545
LoadAndPrintPersons(connector);
4646

4747
// Step 5: Print the connection info
48-
var conStringInfo =
49-
connector.ConnectionStringInfo(ConnectionInfoType.Server | ConnectionInfoType.Database);
50-
Console.WriteLine($"Connection: {conStringInfo}");
48+
Console.WriteLine("Connection info");
49+
for (var i = 0; i <= 34; i++)
50+
{
51+
Console.WriteLine(connector.ConnectionStringInfo((ConnectionInfoType)i));
52+
}
53+
5154

5255
Console.WriteLine("Done");
5356
Console.ReadLine();

ZimLabs.Database.MySql/ConnectionInfoType.cs

+6-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ public enum ConnectionInfoType
3131
/// <summary>
3232
/// Shows the port number
3333
/// </summary>
34-
Port = 8
34+
Port = 8,
35+
36+
/// <summary>
37+
/// Shows the connection timeout
38+
/// </summary>
39+
ConnectionTimeout = 16
3540
}
3641
}

ZimLabs.Database.MySql/Connector.cs

+16-37
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,9 @@ public Connector(DatabaseSettings settings)
6464
/// <param name="userId">The user id</param>
6565
/// <param name="password">The password</param>
6666
/// <param name="port">The port (optional)</param>
67-
public Connector(string server, string database, string userId, string password, uint port = 3306) : this(
68-
new DatabaseSettings(server, database, userId, password.ToSecureString(), port))
69-
{
70-
71-
}
67+
/// <param name="connectionTimeout">The connection timeout (optional, 15 = default value)</param>
68+
public Connector(string server, string database, string userId, string password, uint port = 3306, uint connectionTimeout = 15) : this(
69+
new DatabaseSettings(server, database, userId, password.ToSecureString(), port, connectionTimeout)) { }
7270

7371
/// <summary>
7472
/// Creates a new instance of the <see cref="Connector"/>
@@ -78,11 +76,9 @@ public Connector(string server, string database, string userId, string password,
7876
/// <param name="userId">The user id</param>
7977
/// <param name="password">The password</param>
8078
/// <param name="port">The port (optional)</param>
81-
public Connector(string server, string database, string userId, SecureString password, uint port = 3306) : this(
82-
new DatabaseSettings(server, database, userId, password, port))
83-
{
84-
85-
}
79+
/// <param name="connectionTimeout">The connection timeout (optional, 15 = default value)</param>
80+
public Connector(string server, string database, string userId, SecureString password, uint port = 3306, uint connectionTimeout = 15) : this(
81+
new DatabaseSettings(server, database, userId, password, port, connectionTimeout)) { }
8682

8783
/// <summary>
8884
/// Creates a new instance of the <see cref="Connector"/>
@@ -98,14 +94,21 @@ public Connector(SecureString connectionString)
9894
/// </summary>
9995
private void CreateConnectionString()
10096
{
101-
_connectionString = new MySqlConnectionStringBuilder
97+
var conString = new MySqlConnectionStringBuilder
10298
{
10399
Server = _settings.Server,
104100
Database = _settings.Database,
105101
UserID = _settings.UserId,
106102
Password = _settings.Password.ToInsecureString(),
107103
Port = _settings.Port
108-
}.ConnectionString.ToSecureString();
104+
};
105+
106+
if (_settings.ConnectionTimeout > 0)
107+
conString.ConnectionTimeout = _settings.ConnectionTimeout;
108+
else
109+
_settings.ConnectionTimeout = conString.ConnectionTimeout;
110+
111+
_connectionString = conString.ConnectionString.ToSecureString();
109112
}
110113

111114
/// <summary>
@@ -145,31 +148,7 @@ public void SwitchDatabase(string database)
145148
/// <returns>The connection string info</returns>
146149
public string ConnectionStringInfo(ConnectionInfoType type)
147150
{
148-
var server = $"Server: {_settings.Server}";
149-
var database = $"Database: {_settings.Database}";
150-
var user = $"User: {_settings.UserId}";
151-
var port = $"Port: {_settings.Port}";
152-
153-
return (int) type switch
154-
{
155-
0 => "",
156-
1 => server,
157-
2 => database,
158-
3 => $"{server}; {database}",
159-
4 => user,
160-
5 => $"{server}; {user}",
161-
6 => $"{database}; {user}",
162-
7 => $"{server}; {database}; {user}",
163-
8 => port,
164-
9 => $"{server}; {port}",
165-
10 => $"{database}; {port}",
166-
11 => $"{server}; {database}; {port}",
167-
12 => $"{user}; {port}",
168-
13 => $"{server}; {user}; {port}",
169-
14 => $"{database}; {user}; {port}",
170-
15 => $"{server}; {database}; {user}; {port}",
171-
_ => ""
172-
};
151+
return Helper.GetConnectionInfo(type, _settings);
173152
}
174153

175154
/// <summary>

ZimLabs.Database.MySql/DatabaseSettings.cs

+8-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ public class DatabaseSettings
3232
/// </summary>
3333
public uint Port { get; set; }
3434

35+
/// <summary>
36+
/// Gets or sets the connection timeout
37+
/// </summary>
38+
public uint ConnectionTimeout { get; set; }
39+
3540
/// <summary>
3641
/// Creates a new empty instance of the <see cref="DatabaseSettings"/>
3742
/// </summary>
@@ -45,13 +50,15 @@ public DatabaseSettings(){ }
4550
/// <param name="userId">The user id</param>
4651
/// <param name="password">The password</param>
4752
/// <param name="port">The port (optional)</param>
48-
public DatabaseSettings(string server, string database, string userId, SecureString password, uint port = 3306)
53+
/// <param name="connectionTimeout">The connection timeout (optional, 15 = default value)</param>
54+
public DatabaseSettings(string server, string database, string userId, SecureString password, uint port = 3306, uint connectionTimeout = 15)
4955
{
5056
Server = server;
5157
Database = database;
5258
UserId = userId;
5359
Password = password;
5460
Port = port;
61+
ConnectionTimeout = connectionTimeout;
5562
}
5663
}
5764
}

ZimLabs.Database.MySql/Helper.cs

+53
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,58 @@ public static SecureString ToSecureString(this string value)
5252

5353
return secureString;
5454
}
55+
56+
/// <summary>
57+
/// Converts the settings based on the connection type into an info string
58+
/// </summary>
59+
/// <param name="type">The info type</param>
60+
/// <param name="settings">The settings</param>
61+
/// <returns>The converted info</returns>
62+
internal static string GetConnectionInfo(ConnectionInfoType type, DatabaseSettings settings)
63+
{
64+
var server = $"Server: {settings.Server}";
65+
var database = $"Database: {settings.Database}";
66+
var user = $"User: {settings.UserId}";
67+
var port = $"Port: {settings.Port}";
68+
var timeout = $"Timeout: {settings.ConnectionTimeout}";
69+
70+
return (int)type switch
71+
{
72+
0 => "",
73+
1 => server,
74+
2 => database,
75+
3 => $"{server}; {database}",
76+
4 => user,
77+
5 => $"{server}; {user}",
78+
6 => $"{database}; {user}",
79+
7 => $"{server}; {database}; {user}",
80+
8 => port,
81+
9 => $"{server}; {port}",
82+
10 => $"{database}; {port}",
83+
11 => $"{server}; {database}; {port}",
84+
12 => $"{user}; {port}",
85+
13 => $"{server}; {user}; {port}",
86+
14 => $"{database}; {user}; {port}",
87+
15 => $"{server}; {database}; {user}; {port}",
88+
16 => timeout,
89+
17 => $"{server}; {timeout}",
90+
18 => $"{database}; {timeout}",
91+
19 => $"{server}; {database}; {timeout}",
92+
20 => $"{user}; {timeout}",
93+
21 => $"{server}; {user}; {timeout}",
94+
22 => $"{database}; {user}; {timeout}",
95+
23 => $"{server}; {database}; {user}; {timeout}",
96+
24 => $"{port}; {timeout}",
97+
25 => $"{server}; {port}; {timeout}",
98+
26 => $"{database}; {port}; {timeout}",
99+
27 => $"{server}; {database}; {port}; {timeout}",
100+
28 => $"{user}; {port}; {timeout}",
101+
29 => $"{server}; {user}; {port}; {timeout}",
102+
30 => $"{database}; {user}; {port}; {timeout}",
103+
31 => $"{server}; {database}; {user}; {port}; {timeout}",
104+
32 => "",
105+
_ => ""
106+
};
107+
}
55108
}
56109
}

ZimLabs.Database.MySql/ZimLabs.Database.MySql.csproj

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<RepositoryUrl>https://github.com/InvaderZim85/ZimLabs.Database.MySql</RepositoryUrl>
1414
<RepositoryType>git</RepositoryType>
1515
<PackageTags>Helper, Database, MySql, Connector</PackageTags>
16-
<Version>1.2.0</Version>
16+
<Version>1.2.1</Version>
1717
<PackageReleaseNotes>Update of the used packages</PackageReleaseNotes>
18-
<AssemblyVersion>1.2.0.0</AssemblyVersion>
19-
<FileVersion>1.2.0.0</FileVersion>
18+
<AssemblyVersion>1.2.1.0</AssemblyVersion>
19+
<FileVersion>1.2.1.0</FileVersion>
2020
<LangVersion>latest</LangVersion>
2121
</PropertyGroup>
2222

@@ -33,7 +33,7 @@
3333
</ItemGroup>
3434

3535
<ItemGroup>
36-
<PackageReference Include="MySql.Data" Version="8.0.24" />
36+
<PackageReference Include="MySql.Data" Version="8.0.26" />
3737
</ItemGroup>
3838

3939
<ItemGroup>

0 commit comments

Comments
 (0)