Files
Backend-Api/AccountManagement.Configuration/AccountManagementBootstrapper.cs
2024-07-05 21:36:15 +03:30

62 lines
2.4 KiB
C#

using AccountManagement.Application;
using AccountManagement.Application.Contracts.Account;
using AccountManagement.Application.Contracts.CameraAccount;
using AccountManagement.Application.Contracts.Role;
using AccountManagement.Application.Contracts.Task;
using AccountManagement.Application.Contracts.TaskSubject;
using AccountManagement.Domain.AccountAgg;
using AccountManagement.Domain.AssignAgg;
using AccountManagement.Domain.CameraAccountAgg;
using AccountManagement.Domain.MediaAgg;
using AccountManagement.Domain.RoleAgg;
using AccountManagement.Domain.TaskAgg;
using AccountManagement.Domain.TaskSubjectAgg;
using AccountMangement.Infrastructure.EFCore;
using AccountMangement.Infrastructure.EFCore.Repository;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using TaskManager.Application.Contract.Position;
using TaskManager.Application;
using TaskManager.Domain.PositionAgg;
using TaskManager.Infrastructure.EFCore.Repository;
namespace AccountManagement.Configuration
{
public class AccountManagementBootstrapper
{
public static void Configure(IServiceCollection services, string connectionString)
{
services.AddTransient<IAccountApplication, AccountApplication>();
services.AddTransient<IAccountRepository, AccountRepository>();
services.AddTransient<IRoleApplication, RoleApplication>();
services.AddTransient<IRoleRepository, RoleRepository>();
services.AddTransient<ICameraAccountApplication, CameraAccountApplication>();
services.AddTransient<ICameraAccountRepository, CameraAccountRepository>();
#region Mahan
services.AddTransient<IPositionRepository, PositionRepository>();
services.AddTransient<IPositionApplication, PositionApplication>();
services.AddTransient<ITaskApplication, TaskApplication>();
services.AddTransient<ITaskRepository, TaskRepository>();
services.AddTransient<ITaskSubjectRepository, TaskSubjectRepository>();
services.AddTransient<ITaskSubjectApplication, TaskSubjectApplication>();
services.AddTransient<IAssignRepository, AssignRepository>();
services.AddTransient<IMediaRepository, MediaRepository>();
#endregion
services.AddScoped<IWorker, Worker>();
services.AddDbContext<AccountContext>(x => x.UseSqlServer(connectionString));
}
}
}