Created interface IConnectionsUpdateChecker and modified SqlConnectionsUpdateChecker to implement it

This commit is contained in:
David Sparer
2016-09-30 08:02:02 -06:00
parent 0d70033e4c
commit 021a3fe3bc
4 changed files with 24 additions and 17 deletions

View File

@@ -0,0 +1,11 @@

namespace mRemoteNG.Config.Connections
{
public interface IConnectionsUpdateChecker
{
bool IsUpdateAvailable();
void IsUpdateAvailableAsync();
}
}

View File

@@ -36,7 +36,7 @@ namespace mRemoteNG.Config.Connections
private void SqlUpdateTimer_SqlUpdateTimerElapsed()
{
_sqlUpdateChecker.IsDatabaseUpdateAvailableAsync();
_sqlUpdateChecker.IsUpdateAvailableAsync();
}
private void SQLUpdateCheckFinished(bool updateIsAvailable)

View File

@@ -8,7 +8,7 @@ using mRemoteNG.Config.DatabaseConnectors;
namespace mRemoteNG.Config.Connections
{
public class SqlConnectionsUpdateChecker : IDisposable
public class SqlConnectionsUpdateChecker : IDisposable, IConnectionsUpdateChecker
{
private readonly SqlDatabaseConnector _sqlConnector;
private readonly SqlCommand _sqlQuery;
@@ -25,21 +25,7 @@ namespace mRemoteNG.Config.Connections
}
public void IsDatabaseUpdateAvailableAsync()
{
var t = new Thread(IsDatabaseUpdateAvailableDelegate);
t.SetApartmentState(ApartmentState.STA);
t.Start();
}
private void IsDatabaseUpdateAvailableDelegate()
{
IsDatabaseUpdateAvailable();
}
public bool IsDatabaseUpdateAvailable()
public bool IsUpdateAvailable()
{
ConnectToSqlDb();
ExecuteQuery();
@@ -47,6 +33,15 @@ namespace mRemoteNG.Config.Connections
RaiseUpdateCheckFinishedEvent(updateIsAvailable);
return updateIsAvailable;
}
public void IsUpdateAvailableAsync()
{
var threadStart = new ThreadStart(() => IsUpdateAvailable());
var thread = new Thread(threadStart);
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
}
private void ConnectToSqlDb()
{
try

View File

@@ -127,6 +127,7 @@
<Compile Include="App\Update\UpdateFile.cs" />
<Compile Include="App\Update\UpdateInfo.cs" />
<Compile Include="App\Windows.cs" />
<Compile Include="Config\Connections\IConnectionsUpdateChecker.cs" />
<Compile Include="Config\Connections\SqlUpdateAvailableEventArgs.cs" />
<Compile Include="Config\Serializers\ActiveDirectoryDeserializer.cs" />
<Compile Include="Config\Serializers\CsvConnectionsSerializerMremotengFormat.cs" />