using Microsoft.Extensions.DependencyInjection;
using SportsDivision.Application.Interfaces;
using SportsDivision.Application.Mappings;
using SportsDivision.Application.Services;

namespace SportsDivision.Application;

public static class DependencyInjection
{
    public static IServiceCollection AddApplication(this IServiceCollection services)
    {
        services.AddAutoMapper(typeof(MappingProfile).Assembly);

        services.AddScoped<IStudentService, StudentService>();
        services.AddScoped<ISchoolService, SchoolService>();
        services.AddScoped<IEventService, EventService>();
        services.AddScoped<ITournamentService, TournamentService>();
        services.AddScoped<IRegistrationService, RegistrationService>();
        services.AddScoped<IHeatManagementService, HeatManagementService>();
        services.AddScoped<IScoringService, ScoringService>();
        services.AddScoped<IHighJumpService, HighJumpService>();
        services.AddScoped<IReportService, ReportService>();
        services.AddScoped<IDashboardService, DashboardService>();

        return services;
    }
}
