phase 1
This commit is contained in:
70
ModVersionChecker/ui/forms/FormFactory.cs
Normal file
70
ModVersionChecker/ui/forms/FormFactory.cs
Normal file
@@ -0,0 +1,70 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using ModVersionChecker.managers.interfaces;
|
||||
using ModVersionChecker.service.interfaces;
|
||||
|
||||
namespace ModVersionChecker.ui.forms
|
||||
{
|
||||
public class FormFactory : IFormFactory
|
||||
{
|
||||
private readonly IServiceProvider _serviceProvider;
|
||||
|
||||
public FormFactory(IServiceProvider serviceProvider)
|
||||
{
|
||||
_serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider));
|
||||
}
|
||||
|
||||
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);
|
||||
if (onAppSaved != null)
|
||||
{
|
||||
form.OnAppAdded += onAppSaved;
|
||||
}
|
||||
return form;
|
||||
}
|
||||
|
||||
public GlobalConfigForm CreateGlobalConfigForm()
|
||||
{
|
||||
var configManager = _serviceProvider.GetRequiredService<IConfigManager>();
|
||||
return new GlobalConfigForm(configManager);
|
||||
}
|
||||
|
||||
public TypeConfigForm CreateTypeConfigForm()
|
||||
{
|
||||
var typeManager = _serviceProvider.GetRequiredService<ITypeManager>();
|
||||
var apiService = _serviceProvider.GetRequiredService<IApiService>();
|
||||
var configManager = _serviceProvider.GetRequiredService<IConfigManager>();
|
||||
return new TypeConfigForm(typeManager, apiService, configManager);
|
||||
}
|
||||
|
||||
//public SourcesConfigForm CreateSourcesConfigForm(EventHandler<string>? onSourcesChanged)
|
||||
//{
|
||||
// var sourcesDefManager = _serviceProvider.GetRequiredService<ISourcesDefManager>();
|
||||
// var formFactory = _serviceProvider.GetRequiredService<IFormFactory>();
|
||||
// var form = new SourcesConfigForm(formFactory, sourcesDefManager);
|
||||
// if (onSourcesChanged != null)
|
||||
// {
|
||||
// form.OnSourcesChanged += onSourcesChanged;
|
||||
// }
|
||||
// return form;
|
||||
//}
|
||||
|
||||
//public SourceDetailForm CreateSourceDetailForm(SourceDef? sourceDef, EventHandler<string>? onSourceChanged)
|
||||
//{
|
||||
// var sourcesDefManager = _serviceProvider.GetRequiredService<ISourcesDefManager>();
|
||||
// var checkerTypesDefManager = _serviceProvider.GetRequiredService<ICheckerTypesDefManager>();
|
||||
// var formFactory = _serviceProvider.GetRequiredService<IFormFactory>();
|
||||
// var form = new SourceDetailForm(formFactory, sourcesDefManager);
|
||||
// form.SourceDef = sourceDef;
|
||||
|
||||
// if (onSourceChanged != null)
|
||||
// {
|
||||
// form.UpdateFields();
|
||||
// form.OnSourceChanged += onSourceChanged;
|
||||
// }
|
||||
// return form;
|
||||
//}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user