70 lines
2.9 KiB
C#
70 lines
2.9 KiB
C#
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 appService= _serviceProvider.GetRequiredService<IAppService>();
|
|
var form = new AppDetailsForm(apiService, appService);
|
|
if (onAppSaved != null)
|
|
{
|
|
form.OnAppAdded += onAppSaved;
|
|
}
|
|
return form;
|
|
}
|
|
|
|
public GlobalConfigForm CreateGlobalConfigForm()
|
|
{
|
|
var configManager = _serviceProvider.GetRequiredService<IConfigRepository>();
|
|
return new GlobalConfigForm(configManager);
|
|
}
|
|
|
|
public TypeConfigForm CreateTypeConfigForm()
|
|
{
|
|
var typeManager = _serviceProvider.GetRequiredService<ITypeConfigRepository>();
|
|
var apiService = _serviceProvider.GetRequiredService<IApiService>();
|
|
var configManager = _serviceProvider.GetRequiredService<IConfigRepository>();
|
|
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;
|
|
//}
|
|
}
|
|
} |