namespace TaxBaik.Application;

using Microsoft.Extensions.DependencyInjection;
using TaxBaik.Application.Services;

public static class DependencyInjection
{
    public static IServiceCollection AddApplication(this IServiceCollection services)
    {
        services.AddScoped<BlogService>();
        services.AddScoped<InquiryService>();
        services.AddScoped<AdminDashboardService>();
        services.AddScoped<IInquiryNotificationService, NoopInquiryNotificationService>();
        services.AddScoped<SiteSettingService>();
        services.AddScoped<CategoryService>();
        services.AddScoped<AnnouncementService>();
        services.AddSingleton<SeasonalMarketingService>();
        services.AddScoped<ClientService>();
        services.AddScoped<FaqService>();
        services.AddScoped<ConsultationService>();
        services.AddScoped<TaxFilingService>();
        services.AddScoped<CompanyService>();
        services.AddScoped<TaxProfileService>();
        services.AddScoped<TaxFilingScheduleService>();
        services.AddScoped<ConsultingActivityService>();
        services.AddScoped<ContractService>();
        services.AddScoped<RevenueTrackingService>();
        services.AddScoped<TelegramReportService>();
        services.AddScoped<PortalUserService>();
        services.AddScoped<CommonCodeService>();
        return services;
    }
}
