techgarage-ir.MTWireGuard/Application/ApplicationServiceRegister.cs

34 lines
1.2 KiB
C#
Raw Normal View History

2023-06-02 15:26:29 +03:30
using Microsoft.Extensions.DependencyInjection;
using MTWireGuard;
using MTWireGuard.Application.Mapper;
using MTWireGuard.Application.Repositories;
using MTWireGuard.Application.Services;
using System.Reflection;
namespace MTWireGuard.Application
{
public static class ApplicationServiceRegister
{
public static void AddApplicationServices(this IServiceCollection services)
{
// Add DBContext
services.AddDbContext<DBContext>(ServiceLifetime.Singleton);
// Auto Mapper Configurations
services.AddSingleton<PeerMapping>();
services.AddSingleton<ServerMapping>();
services.AddSingleton<MappingProfile>();
services.AddAutoMapper(
(provider, expression) => {
expression.AddProfile(provider.GetService<PeerMapping>());
expression.AddProfile(provider.GetService<ServerMapping>());
expression.AddProfile(provider.GetService<MappingProfile>());
},
new List<Assembly>());
// Add Mikrotik API Service
services.AddSingleton<IMikrotikRepository, MTAPI>();
}
}
}