first edit

This commit is contained in:
Курнат Андрей
2026-01-31 16:11:36 +03:00
commit f0e11d6379
148 changed files with 6986 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
using System.Configuration;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System.IO;
using XLIMS.DATA.Models;
using XLIMS.CONTRACT;
using XLIMS.SERVICES;
namespace Microsoft.Extensions.DependencyInjection
{
public static class XLimsServicesDI
{
public static IServiceCollection AddXLimsServices(this IServiceCollection services)
{
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.Build();
// Регистрируем DbContext с использованием строки из конфига
services.AddDbContext<LimsdbContext>(options =>
{
var connectionString = configuration.GetConnectionString("DefaultConnection");
options.UseSqlServer(connectionString);
// Опционально: логирование запросов в Debug
// options.LogTo(Console.WriteLine, LogLevel.Information);
});
// Остальные сервисы
// Фасад
services.AddScoped<ILimsService, LimsService>();
// Сервисы
services.AddSingleton<IDialogService, DialogService>();
// ViewModel'и
services.AddTransient<XLIMS.PSV.ViewModels.MainViewModel>();
services.AddTransient<XLIMS.SP.ViewModels.MainViewModel>();
services.AddTransient<XLIMS.TPRZ.ViewModels.MainViewModel>();
services.AddTransient<XLIMS.DEV.ViewModels.MainViewModel>();
// Сохраняем конфигурацию (если понадобится в других местах)
services.AddSingleton<IConfiguration>(configuration);
return services;
}
}
}