Files
GSS2Rework/GSS2/DependencyInjectionHelper.cs
T
2026-08-13 09:56:08 +03:00

54 lines
2.4 KiB
C#

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using GSS2.UI.Core.Services;
using GSS2.Views;
using GSS2.ViewModels;
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<MainViewModel>()
.AddSingleton<MainView>()
// Основные
.AddSingleton<AmineContentViewModel>()
.AddSingleton<AmineContentView>()
// Core
.AddSingleton<GSS2.UI.Core.ViewModels.MainWindowViewModel>()
// База
.AddSingleton<ViewModels.DeleteConfirmViewModel>()
.AddSingleton<ViewModels.NumericKeyboardViewModel>()
.AddSingleton<Views.DeleteConfirmView>()
.AddSingleton<Views.NumericKeyboardView>()
// Общие
.AddSingleton<ViewModels.Common.SystemViewModel>()
// .AddSingleton<ViewModels.Common.CameraViewModel>()
// .AddSingleton<Views.Common.SystemView>()
// .AddSingleton<Views.Common.CameraView>()
// AmineContent
.AddSingleton<ViewModels.AmineContent.StartViewModel>()
.AddSingleton<ViewModels.AmineContent.AnalysisViewModel>()
.AddSingleton<ViewModels.AmineContent.SampleCalibrationViewModel>()
.AddSingleton<ViewModels.AmineContent.SeparatorCalibrationViewModel>()
.AddSingleton<ViewModels.AmineContent.BrandCalibrationViewModel>()
.AddSingleton<ViewModels.AmineContent.ExportViewModel>()
.AddSingleton<Views.AmineContent.StartView>()
.AddSingleton<Views.AmineContent.AnalysisView>()
.AddSingleton<Views.AmineContent.SampleCalibrationView>()
.AddSingleton<Views.AmineContent.SeparatorCalibrationView>()
.AddSingleton<Views.AmineContent.BrandCalibrationView>()
.AddSingleton<Views.AmineContent.ExportView>();
}