phase 1
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using ModVersionChecker.forms;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using ModVersionChecker.managers.interfaces;
|
||||
using ModVersionChecker.managers.filesystem;
|
||||
using ModVersionChecker.managers.interfaces;
|
||||
using ModVersionChecker.managers.litedb;
|
||||
using ModVersionChecker.service;
|
||||
using ModVersionChecker.service.interfaces;
|
||||
using ModVersionChecker.ui.forms;
|
||||
|
||||
namespace ModVersionChecker
|
||||
{
|
||||
@@ -18,13 +20,15 @@ namespace ModVersionChecker
|
||||
builder.ConfigureServices(services =>
|
||||
{
|
||||
services.AddSingleton<IConfigManager, ConfigLiteDb>();
|
||||
services.AddSingleton<IAppsManager, AppConfigLiteDb>();
|
||||
services.AddSingleton<IAppsManager, AppLiteDb>();
|
||||
services.AddSingleton<ISourcesDefManager, SourcesLiteDb>();
|
||||
services.AddSingleton<ICheckerTypesDefManager, CheckerTypesDefManager>();
|
||||
services.AddSingleton<IFlightSimsManager, FlightSimsLiteDb>();
|
||||
services.AddSingleton<IFlightSimsManager, TypeLiteDb>();
|
||||
services.AddSingleton<ITypeManager, TypeConfigLiteDb>();
|
||||
services.AddSingleton<IFormFactory, FormFactory>();
|
||||
services.AddSingleton<IAppStatusManager, AppStatusManager>();
|
||||
services.AddSingleton<INotifyIconService, NotifyIconService>();
|
||||
services.AddSingleton<IApiService, ApiService>();
|
||||
services.AddSingleton<IVersionService, VersionService>();
|
||||
|
||||
services.AddTransient<MainForm>();
|
||||
services.AddTransient<AppDetailsForm>();
|
||||
@@ -55,9 +59,9 @@ namespace ModVersionChecker
|
||||
|
||||
var serviceProvider = host.Services;
|
||||
var configForm = serviceProvider.GetService<MainForm>();
|
||||
var versionChecker = serviceProvider.GetService<VersionChecker>();
|
||||
var notifyIconService = serviceProvider.GetRequiredService<INotifyIconService>();
|
||||
var configManager = serviceProvider.GetRequiredService<IConfigManager>();
|
||||
var versionService = serviceProvider.GetRequiredService<IVersionService>();
|
||||
var config = configManager.GetConfig();
|
||||
|
||||
EventHandler openFormHandler = (s, e) =>
|
||||
@@ -94,39 +98,19 @@ namespace ModVersionChecker
|
||||
notifyIcon.DoubleClick += openFormHandler;
|
||||
|
||||
bool checkOnInitialStart = config.CheckOnStartup;
|
||||
if (checkOnInitialStart && versionChecker != null)
|
||||
if (checkOnInitialStart)
|
||||
{
|
||||
versionChecker.StartVersionChecking(notifyIcon);
|
||||
versionChecker.OnFinished += (s, e) => {
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
await versionService.CheckAllApps();
|
||||
if (configForm != null)
|
||||
{
|
||||
if (configForm.InvokeRequired)
|
||||
{
|
||||
configForm.Invoke(() => configForm.UpdateListView());
|
||||
}
|
||||
else
|
||||
{
|
||||
configForm.UpdateListView();
|
||||
}
|
||||
configForm.UpdateListView();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
if (versionChecker != null)
|
||||
{
|
||||
|
||||
if (configForm != null)
|
||||
{
|
||||
configForm.OnRecheck += (s, e) =>
|
||||
{
|
||||
if (versionChecker != null)
|
||||
{
|
||||
versionChecker.CheckAsync();
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
host.Start();
|
||||
|
Reference in New Issue
Block a user