예제 #1
0
        /*
         * private static ClientContext GetClientContext(IConfigurationRoot configuration)
         * {
         *  string targetSiteURL = configuration["SharepointSite"];
         *  ClientContext clientContext = new ClientContext(targetSiteURL);
         *
         *  var login = configuration["SharepointUser"];
         *  var password = configuration["SharepointPassword"];
         *  SharePointOnlineCredentials onlineCredentials = new SharePointOnlineCredentials(login, password);
         *  clientContext.Credentials = onlineCredentials;
         *  return clientContext;
         * }
         */
        private static async Task ShowSPLibUsingLibrary(IConfiguration config)
        {
            ISharepointRepository spRepo = new SharepointRepository(config, NullLogger.Instance);
            var items = await spRepo.GetGeneralListItemsAsync();

            Console.WriteLine($"Items in General:\n");
            foreach (GeneralListItem item in items)
            {
                Console.WriteLine(item.Title);
                Console.WriteLine(item.Details);
            }
        }
예제 #2
0
        public override void SingleWork()
        {
            FileLogger.Info(Name, "Inizio procedura di esportazione serie documentali.");

            IExportRepository wrapper = null;

            switch (Parameters.Repository)
            {
            case RepositoryType.FileSystem:
                wrapper = new FileSystemRepository(Parameters);
                break;

            case RepositoryType.Sharepoint:
                wrapper = new SharepointRepository(Parameters);
                break;
            }

            var families = this.WsSeriesConnector.GetFamilyWsos();

            foreach (var family in families)
            {
                if (CancelRequest())
                {
                    return;
                }

                foreach (var series in family.DocumentSeries)
                {
                    try
                    {
                        if (CancelRequest())
                        {
                            return;
                        }

                        Thread.Sleep(3000);

                        FileLogger.Info(Name, string.Format("Processo la serie documentale con ID {0} - {1}.", series.Id, series.Name));

                        FileLogger.Info(Name, "Recupero le serie documentali associate.");
                        var docItems    = this.WsSeriesConnector.GetSeriesWsosById(series.Id);
                        var dynamicData = this.WsSeriesConnector.GetDynamicAttributeWsos(series.Id);

                        FileLogger.Info(Name, "Inizializzo export dati in CSV della serie");

                        wrapper.InitializeExport(docItems, dynamicData);

                        FileLogger.Info(Name, string.Format("Eseguo l'esportazione dei dati in CSV della serie con ID {0}- {1}.", series.Id, series.Name));
                        wrapper.StartExport(series.Id);

                        if (series.DocumentSeriesSubsections != null && series.DocumentSeriesSubsections.Count > 0)
                        {
                            foreach (var section in series.DocumentSeriesSubsections)
                            {
                                FileLogger.Info(Name, "Recupero le serie documentali associate alla sottosezione.");
                                var items = docItems.Where(s => s.IdDocumentSeriesSubsection == section.Id).ToList();

                                FileLogger.Info(Name, string.Format("Inizializzo export dati in CSV della sottosezione con ID {0}", section.Id));

                                wrapper.InitializeExport(items, dynamicData);

                                FileLogger.Info(Name, string.Format("Eseguo l'esportazione dei dati in CSV della sottossezione con ID {0}", section.Id));
                                wrapper.StartExport(section.Id, true);
                            }
                        }

                        FileLogger.Info(Name, string.Format("Serie documentale con ID {0} processata correttamente.", series.Id));
                    }
                    catch (Exception ex)
                    {
                        FileLogger.Error(Name, string.Format("Serie documentale {0} processata con errori.", series.Name), ex);
                    }
                }
            }

            FileLogger.Info(Name, "Fine procedura di esportazione serie documentali.");
        }