56 lines
2.6 KiB
C#
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;
|
|
}
|
|
}
|
|
|
|
|
|
} |