Files
console_spo_utils/console_spo_utils/Program.cs
T
2022-09-15 18:26:06 +02:00

56 lines
2.6 KiB
C#

using console_spo_utils.Fakes.Repositories;
using console_spo_utils.Interfaces.Repositories;
using console_spo_utils.Interfaces.Services;
using console_spo_utils.Services;
using console_spo_utils.Workers;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace console_spo_utils
{
public static class Program
{
public static async Task Main(string[] args)
{
var host = Host.CreateDefaultBuilder(args)
.ConfigureServices(services =>
{
services.AddSharePointExtensions();
services.AddTransient<IProjectSettingsRepository, FakeProjectSettingsRepository>();
services.AddTransient<ISubProjectRepository, FakeSubProjectRepository>();
services.AddTransient<IQuotationRepository, FakeQuotationSettingRepository>();
services.AddHostedService<MainWorker>();
})
.Build();
await host.RunAsync();
}
public static IServiceCollection AddSharePointExtensions(this IServiceCollection services)
{
services.AddTransient<IOneNoteService, OneNoteService>();
services.AddTransient<IProjectDocLibraryService, ProjectDocLibraryService>();
services.AddTransient<IProjectQuickMenuService, ProjectQuickMenuService>();
services.AddTransient<ISharePointStructureBuilder, SharePointStructureBuilderService>();
services.AddTransient<IProjectYearService, ProjectYearService>();
services.AddTransient<ISiteService, SiteService>();
services.AddSingleton<ISharePointAuthenticationManager, SharePointAuthenticationManager>();
services.AddSingleton<ISharePointCustomOperation, SharePointCustomOperation>();
services.AddSingleton<ISiteOptions, SiteOptions>();
services.AddTransient<IRightsService, RightsService>();
services.AddTransient<ISubSiteService, SubSiteService>();
services.AddTransient<ITenantService, TenantService>();
services.AddTransient<ISubProjectBuilderService, SubProjectBuilderService>();
services.AddTransient<IQuotationBuildService, QuotationBuildService>();
services.AddTransient<IQuotationDocLibraryService, QuotationDocLibraryService>();
services.AddTransient<IQuotationDocSetService, QuotationDocSetService>();
services.AddTransient<IWebpartService, WebpartService>();
services.AddTransient<IProjectService, ProjectService>();
return services;
}
}
}