refactors
This commit is contained in:
@@ -9,15 +9,18 @@ namespace ModVersionChecker.ui.forms
|
||||
private ListBox _resultsList;
|
||||
private Button _addButton;
|
||||
private readonly IApiService _apiService;
|
||||
private readonly IAppsManager _appsManager;
|
||||
private readonly IAppService _appService;
|
||||
public App? SelectedApp { get; private set; }
|
||||
|
||||
public event EventHandler<string> OnAppAdded;
|
||||
|
||||
public AppDetailsForm(IApiService apiService, IAppsManager appsManager)
|
||||
public AppDetailsForm(
|
||||
IApiService apiService,
|
||||
IAppService appService
|
||||
)
|
||||
{
|
||||
_apiService = apiService ?? throw new ArgumentNullException(nameof(apiService));
|
||||
_appsManager = appsManager ?? throw new ArgumentNullException(nameof(appsManager));
|
||||
_appService = appService ?? throw new ArgumentNullException(nameof(appService));
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
@@ -27,6 +30,7 @@ namespace ModVersionChecker.ui.forms
|
||||
Width = 400;
|
||||
Height = 500;
|
||||
Padding = new Padding(20);
|
||||
StartPosition = FormStartPosition.CenterParent;
|
||||
|
||||
_searchBox = new TextBox { Dock = DockStyle.Top, PlaceholderText = "Search..." };
|
||||
_resultsList = new ListBox { Dock = DockStyle.Fill };
|
||||
@@ -54,8 +58,8 @@ namespace ModVersionChecker.ui.forms
|
||||
_resultsList.DataSource = null;
|
||||
return;
|
||||
}
|
||||
var results = await _apiService.SearchApps(query);
|
||||
_resultsList.DataSource = results;
|
||||
var apiResults = await _apiService.SearchApps(query);
|
||||
_resultsList.DataSource = _appService.PurgeExisitingApps(apiResults);
|
||||
_resultsList.DisplayMember = "Name";
|
||||
}
|
||||
|
||||
@@ -64,7 +68,7 @@ namespace ModVersionChecker.ui.forms
|
||||
if (_resultsList.SelectedItem is App app)
|
||||
{
|
||||
SelectedApp = app;
|
||||
_appsManager.Insert(app);
|
||||
_appService.CreateApp(app);
|
||||
DialogResult = DialogResult.OK;
|
||||
OnAppAdded?.Invoke(this, "App saved");
|
||||
Close();
|
||||
|
@@ -16,8 +16,8 @@ namespace ModVersionChecker.ui.forms
|
||||
public AppDetailsForm CreateAppDetailsForm(App? app, bool isEditable, EventHandler<string>? onAppSaved)
|
||||
{
|
||||
var apiService = _serviceProvider.GetRequiredService<IApiService>();
|
||||
var appsManager = _serviceProvider.GetRequiredService<IAppsManager>();
|
||||
var form = new AppDetailsForm(apiService, appsManager);
|
||||
var appService= _serviceProvider.GetRequiredService<IAppService>();
|
||||
var form = new AppDetailsForm(apiService, appService);
|
||||
if (onAppSaved != null)
|
||||
{
|
||||
form.OnAppAdded += onAppSaved;
|
||||
@@ -27,15 +27,15 @@ namespace ModVersionChecker.ui.forms
|
||||
|
||||
public GlobalConfigForm CreateGlobalConfigForm()
|
||||
{
|
||||
var configManager = _serviceProvider.GetRequiredService<IConfigManager>();
|
||||
var configManager = _serviceProvider.GetRequiredService<IConfigRepository>();
|
||||
return new GlobalConfigForm(configManager);
|
||||
}
|
||||
|
||||
public TypeConfigForm CreateTypeConfigForm()
|
||||
{
|
||||
var typeManager = _serviceProvider.GetRequiredService<ITypeManager>();
|
||||
var typeManager = _serviceProvider.GetRequiredService<ITypeConfigRepository>();
|
||||
var apiService = _serviceProvider.GetRequiredService<IApiService>();
|
||||
var configManager = _serviceProvider.GetRequiredService<IConfigManager>();
|
||||
var configManager = _serviceProvider.GetRequiredService<IConfigRepository>();
|
||||
return new TypeConfigForm(typeManager, apiService, configManager);
|
||||
}
|
||||
|
||||
|
@@ -5,7 +5,7 @@ namespace ModVersionChecker.ui.forms
|
||||
{
|
||||
public class GlobalConfigForm : Form
|
||||
{
|
||||
private IConfigManager _configManager;
|
||||
private IConfigRepository _configManager;
|
||||
private Config _config;
|
||||
|
||||
private Label _millislabel, _checkStartupLabel, _runOnStartupLabel;
|
||||
@@ -15,7 +15,7 @@ namespace ModVersionChecker.ui.forms
|
||||
private TableLayoutPanel _mainLayout, _configsPanel;
|
||||
private FlowLayoutPanel _buttonPanel;
|
||||
|
||||
public GlobalConfigForm(IConfigManager configManager)
|
||||
public GlobalConfigForm(IConfigRepository configManager)
|
||||
{
|
||||
_configManager = configManager;
|
||||
_config = _configManager.GetConfig();
|
||||
|
@@ -1,7 +1,6 @@
|
||||
using ModVersionChecker.enums;
|
||||
using ModVersionChecker.managers.interfaces;
|
||||
using ModVersionChecker.model;
|
||||
using ModVersionChecker.repository.api.dto;
|
||||
using ModVersionChecker.service.interfaces;
|
||||
using ModVersionChecker.utils;
|
||||
|
||||
@@ -10,15 +9,13 @@ namespace ModVersionChecker.ui.forms
|
||||
{
|
||||
public class MainForm : Form
|
||||
{
|
||||
private readonly IAppsManager _appsManager;
|
||||
private readonly IStateService _stateService;
|
||||
private readonly IFormFactory _formFactory;
|
||||
private readonly IFlightSimsManager _fsManager;
|
||||
private readonly IApiService _apiService;
|
||||
private readonly IVersionService _versionService;
|
||||
private readonly IAppService _appService;
|
||||
private readonly TableLayoutPanel _mainLayout;
|
||||
|
||||
private readonly Config _globalConfig;
|
||||
private List<App> _apps = new List<App>();
|
||||
private ListView _listView;
|
||||
private ImageList _statusImageList = new ImageList();
|
||||
|
||||
@@ -26,27 +23,20 @@ namespace ModVersionChecker.ui.forms
|
||||
public event EventHandler<string> OnRecheck;
|
||||
private EventHandler<string> onAppSavedHandler;
|
||||
private MenuStrip _menuStrip;
|
||||
private List<TypeResponse> _fsMods;
|
||||
private readonly Dictionary<string, TextBox> _fsModPathTextBoxes = new Dictionary<string, TextBox>();
|
||||
|
||||
private List<SourceResponse> _sources = new List<SourceResponse>();
|
||||
private List<TypeResponse> _typesDef = new List<TypeResponse>();
|
||||
|
||||
public MainForm(
|
||||
IConfigManager configManager,
|
||||
IAppsManager appsManager,
|
||||
IStateService stateService,
|
||||
IAppService appService,
|
||||
IConfigRepository configManager,
|
||||
IFormFactory formFactory,
|
||||
IFlightSimsManager fsManager,
|
||||
IApiService apiService,
|
||||
ITypeManager typeConfigManager,
|
||||
IVersionService versionService)
|
||||
IApiService apiService
|
||||
)
|
||||
{
|
||||
_appsManager = appsManager ?? throw new ArgumentNullException(nameof(appsManager));
|
||||
_formFactory = formFactory ?? throw new ArgumentNullException(nameof(formFactory));
|
||||
_fsManager = fsManager ?? throw new ArgumentNullException(nameof(fsManager));
|
||||
_apiService = apiService ?? throw new ArgumentNullException(nameof(apiService));
|
||||
_versionService = versionService ?? throw new ArgumentNullException(nameof(versionService));
|
||||
_fsMods = _fsManager.Load();
|
||||
_appService = appService ?? throw new ArgumentNullException(nameof(appService));
|
||||
_stateService = stateService ?? throw new ArgumentNullException(nameof(stateService));
|
||||
|
||||
_statusImageList.Images.Add("none", new Icon("Resources/ok-icon.ico"));
|
||||
_statusImageList.Images.Add("update", new Icon("Resources/up-icon.ico"));
|
||||
@@ -74,6 +64,7 @@ namespace ModVersionChecker.ui.forms
|
||||
|
||||
var app = form.SelectedApp;
|
||||
UpdateCurrentVersion(app);
|
||||
_stateService.UpdateApps();
|
||||
UpdateListView();
|
||||
OnConfigChanged?.Invoke(this, EventArgs.Empty);
|
||||
};
|
||||
@@ -81,6 +72,22 @@ namespace ModVersionChecker.ui.forms
|
||||
this.Load += MainForm_LoadAsync;
|
||||
}
|
||||
|
||||
|
||||
private async void MainForm_LoadAsync(object? sender, EventArgs e)
|
||||
{
|
||||
await _apiService.AuthenticateAsync("user", "user");
|
||||
|
||||
var apps = await _appService.GetAndUpdateCurrentApps();
|
||||
var sources = await _apiService.GetSources();
|
||||
var types = await _apiService.GetTypes();
|
||||
|
||||
_stateService.SetApps(apps);
|
||||
_stateService.SetSources(sources);
|
||||
_stateService.SetTypes(types);
|
||||
_stateService.SetConfig(_globalConfig);
|
||||
UpdateListView();
|
||||
}
|
||||
|
||||
private void UpdateCurrentVersion(App app)
|
||||
{
|
||||
TypeConfig? typeConfig = _globalConfig.Types.FirstOrDefault(tc => app.Type == tc.ShortName);
|
||||
@@ -92,21 +99,12 @@ namespace ModVersionChecker.ui.forms
|
||||
app.CurrentVersion = versionInDisk;
|
||||
app.LastCheckedAt = TimeUtils.GetUnixTimeMillis(DateTime.Now);
|
||||
|
||||
_versionService.CheckApp(app);
|
||||
_appService.CheckAppStatus(app);
|
||||
_appService.UpdateApp(app);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private async void MainForm_LoadAsync(object? sender, EventArgs e)
|
||||
{
|
||||
await _apiService.AuthenticateAsync("user", "user");
|
||||
_apps = await _apiService.GetAppsByIds([]);
|
||||
_sources = await _apiService.GetSources();
|
||||
_typesDef = await _apiService.GetTypes();
|
||||
UpdateListView();
|
||||
}
|
||||
|
||||
private TableLayoutPanel GetMainLayout()
|
||||
{
|
||||
// Initialize the main layout panel
|
||||
@@ -197,10 +195,10 @@ namespace ModVersionChecker.ui.forms
|
||||
};
|
||||
|
||||
// Add recheck logic here
|
||||
recheckButton.Click += async (s, e) =>
|
||||
recheckButton.Click += (s, e) =>
|
||||
{
|
||||
recheckButton.Enabled = false;
|
||||
await _versionService.CheckAllApps();
|
||||
_appService.CheckAllApps();
|
||||
UpdateListView();
|
||||
//OnRecheck.Invoke(this, "User initiated recheck from ConfigForm");
|
||||
recheckButton.Enabled = true;
|
||||
@@ -212,7 +210,7 @@ namespace ModVersionChecker.ui.forms
|
||||
|
||||
public void UpdateListView()
|
||||
{
|
||||
_apps = _appsManager.Load();
|
||||
var _apps = _stateService.GetApps();
|
||||
_listView.Items.Clear();
|
||||
foreach (var app in _apps)
|
||||
{
|
||||
@@ -252,10 +250,13 @@ namespace ModVersionChecker.ui.forms
|
||||
|
||||
private void DeleteApp(App app)
|
||||
{
|
||||
var result = MessageBox.Show($"Are you sure you want to delete '{app?.Name ?? ""}'?", "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
|
||||
if (app == null) return;
|
||||
|
||||
var result = MessageBox.Show($"Are you sure you want to delete '{app.Name ?? ""}'?", "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
|
||||
if (result == DialogResult.Yes)
|
||||
{
|
||||
_appsManager.Delete((_listView.SelectedItems[0].Tag as App).Id);
|
||||
_appService.DeleteApp((_listView.SelectedItems[0].Tag as App));
|
||||
_stateService.UpdateApps();
|
||||
UpdateListView();
|
||||
OnConfigChanged?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
@@ -19,13 +19,13 @@ namespace ModVersionChecker.ui.forms
|
||||
private FlowLayoutPanel _mainPanel;
|
||||
private Button _saveButton, _cancelButton;
|
||||
private readonly IApiService _apiService;
|
||||
private readonly IConfigManager _configManager;
|
||||
private readonly ITypeManager _typeManager;
|
||||
private readonly IConfigRepository _configManager;
|
||||
private readonly ITypeConfigRepository _typeManager;
|
||||
|
||||
public TypeConfigForm(
|
||||
ITypeManager typeManager,
|
||||
ITypeConfigRepository typeManager,
|
||||
IApiService apiService,
|
||||
IConfigManager configManager
|
||||
IConfigRepository configManager
|
||||
)
|
||||
{
|
||||
_apiService = apiService ?? throw new ArgumentNullException(nameof(apiService));
|
||||
|
Reference in New Issue
Block a user