public static IServiceCollection AddConnectDocuments(this IServiceCollection services, Action <ConnectDocumentOptions> optionsDelegate = null)
        {
            // Options
            if (optionsDelegate != null)
            {
                var options = new ConnectDocumentOptions();
                if (optionsDelegate != null)
                {
                    optionsDelegate.Invoke(options);
                }
                // registering options as singleton
                services.AddSingleton(options);
            }

            // Generic Document / Folder Services
            services.AddTransient <TagManager>();
            services.AddTransient <CategoryManager>();
            services.AddTransient <SharedFolderManager>();
            services.AddTransient <ResourceManager>();

            // FileDocument Services
            services.AddTransient <IFolderManager <FileDocument>, FolderManager <FileDocument> >();
            services.AddTransient <IDocumentService <FileDocument>, FileDocumentService>();

            //ContentBrowser Services
            services.AddTransient <FileFolderBrowser>();
            services.AddScoped <IContentBrowser, FileFolderBrowser>();
            services.AddScoped <IContentBrowser, SiteLibraryBrowser>();
            services.AddScoped <IContentBrowser, ClientLibraryBrowser>();
            //For testing and proof of concept only. Replace with real implementation for the content browser.
            // services.AddTransient<IContentBrowser, BlogCategoryBrowser>();
            // services.AddTransient<IContentBrowser, CalendarBrowser>();

            //Shared Content Provider
            services.AddTransient <ISharedContent, SharedContentProvider>();

            //ISecurityGroupProviders  Groups: Connection, notification, etc
            services.AddTransient <ISecurityGroupProvider, ConnectionGroupProvider>();



            return(services);
        }
Example #2
0
 public SlideShowDocSeed
 (
     IFolderManager <Slide> slideShowManager,
     IDocumentService <Slide> slideService,
     IFolderManager <FileDocument> folderManager,
     IDocumentService <FileDocument> documentService,
     SlideShowService slideShowService,
     SlideShowDbContext readDbSlideShow,
     DbContextOptions <SlideShowDbContext> writeDbSlideShow,
     ConnectDbContext readDbConnect,
     DbContextOptions <ConnectDbContext> writeDbConnect,
     ConnectDocumentOptions connectDocumentOptions)  // For getting Drive URL
 {
     _slideShowManager       = slideShowManager;
     _slideService           = slideService;
     _folderManager          = folderManager;
     _documentService        = documentService;
     _slideShowService       = slideShowService;
     _readDbSlideShow        = readDbSlideShow;
     _writeDbSlideShow       = writeDbSlideShow;
     _readDbConnect          = readDbConnect;
     _writeDbConnect         = writeDbConnect;
     _connectDocumentOptions = connectDocumentOptions;
 }