Files
GSS2Rework/GSS2/DependencyInjectionHelper.cs
T

36 lines
1.3 KiB
C#

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using GSS2.UI.Core.ViewModels;
using GSS2.UI.Core.Services;
using GSS2.Views;
using GSS2.ViewModels;
using GSS2.ViewModels.Common;
using GSS2.ViewModels.AmineContent;
namespace GSS2;
public static class DependencyInjectionHelper
{
public static IServiceCollection AddViewsAndModels(this IServiceCollection services) =>
services
.AddSingleton<DependencyInjectionViewLocator>((services) =>
new DependencyInjectionViewLocator(
services.GetRequiredService<ILogger<DependencyInjectionViewLocator>>(),
services
)
)
.AddSingleton<NavigationService>((_) => new NavigationService(Application.Current?.ApplicationLifetime))
.AddSingleton<MainWindowViewModel>()
.AddSingleton<MainView>()
.AddSingleton<MainViewModel>()
.AddSingleton<AmineContentView>()
.AddSingleton<AmineContentViewModel>()
.AddSingleton<SystemViewModel>()
.AddSingleton<StartViewModel>()
.AddSingleton<AnalysisViewModel>()
.AddSingleton<ResultsViewModel>()
.AddSingleton<SampleCalibrationViewModel>()
.AddSingleton<SeparatorCalibrationViewModel>();
}