Files
WinFormDiApp/WinFormDi/ContainerConfig.cs

55 lines
1.8 KiB
C#

using DIDemoLib;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using WinFormDiApp.DAL;
using WinFormDiApp.BL;
using WinFormDiApp.BLI;
using WinFormDiApp.BLR;
namespace WinFormDiApp
{
public static class ContainerConfig
{
public static IHost? Configure(IHostBuilder hostBuilder)
{
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddEnvironmentVariables()
.AddJsonFile("appsettings.json")
.Build();
var builder = hostBuilder // new HostBuilder()
.ConfigureServices((_, services) =>
{
var conn = configuration.GetConnectionString("DatabaseConnection");
services
.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlite(conn))
.AddTransient<IMessages, Messages>()
.AddTransient<IAccountRecordRepository, AccountRecordRepository>()
.AddTransient<IMemberRepository, MemberRepository>()
.AddTransient<IReadingIn, ReadingIn>()
.AddTransient<IExcellent, Excellent>()
.AddTransient<MainWindow>()
.AddTransient<frmReadPayments>()
.AddTransient<frmPayments>()
.AddTransient<frmSearchData>();
});
return builder.Build();
}
}
}