public async Task <IEnumerable <tb_Referente> > Get()
        {
            List <tb_Referente> listRetReferente = null;

            string siteUrl       = Helper.SiteUrlSpOnline; // "https://vivasoft.sharepoint.com/";
            string LoginUserName = "******";               // TODO

            try
            {
                oSP = new SPHelper();
                string sRet = await oSP.getContextAsync(siteUrl);

                if (string.IsNullOrEmpty(sRet))
                {
                    listRetReferente = await oSP.getReferenteAsync(Helper.ListaReferenteGuid, LoginUserName);

                    if (listRetReferente == null)
                    {
                        SeriLogging.LogError(LoginUserName, "listRetReferente == null");
                    }
                    else
                    {
                        SeriLogging.LogInformation(LoginUserName, "ok");
                        // return (IEnumerable<tb_Referente>)listRetReferente;
                    }
                }
                else
                {
                    SeriLogging.LogError(LoginUserName, sRet);
                }
            }
            catch (Exception ex)
            {
                string sMsg = string.Empty;
                sMsg = string.Format("Source: {0}{3} Message: {1}{3} StackTrace: {2}{3}", ex.Source, ex.Message, ex.StackTrace, System.Environment.NewLine);
                SeriLogging.LogFatal(LoginUserName, sMsg);
            }

            oSP.clearContext();
            // return (IEnumerable<tb_Referente>)listRetReferente;

            return(listRetReferente);
        }
        public async Task <IEnumerable <tb_JobManager> > createManager([FromBody] string value)
        {
            List <tb_JobScheduler> listRetJobScheduler = null;
            List <tb_JobManager>   listRetJobManager   = null;

            string        siteUrl       = Helper.SiteUrlSpOnline; // "https://vivasoft.sharepoint.com/";
            string        LoginUserName = "******";               // TODO
            string        statoJob      = string.Empty;
            tb_JobManager oJobManager   = null;

            try
            {
                statoJob = value;       // DA PUBBLICARE
                oSP      = new SPHelper();
                string sRet = await oSP.getContextAsync(siteUrl);

                if (string.IsNullOrEmpty(sRet))
                {
                    listRetJobScheduler = await oSP.getJobsByStatoJob(Helper.ListaJobSchedulerGuid, LoginUserName, statoJob);

                    if (listRetJobScheduler == null)
                    {
                        SeriLogging.LogError(LoginUserName, "listRetJobScheduler == null");
                    }
                    else
                    {
                        SeriLogging.LogInformation(LoginUserName, "listRetJobScheduler ok");

                        string ret = string.Empty;
                        foreach (var item in listRetJobScheduler)
                        {
                            int numRipetizioni = 0;
                            switch (item.Ripetizione)
                            {
                            case "Singola":
                                oJobManager                  = new tb_JobManager();
                                oJobManager.GUID             = item.GUID;
                                oJobManager.Nome             = item.Nome;
                                oJobManager.Descrizione      = item.Descrizione;
                                oJobManager.DataInizioJob    = item.DataInizioJob;
                                oJobManager.DataFineJob      = item.DataFineJob;
                                oJobManager.TipoJob          = item.TipoJob;
                                oJobManager.Ripetizione      = item.Ripetizione;
                                oJobManager.StatoJob         = "Pubblicato";
                                oJobManager.Referente1       = item.Referente1;
                                oJobManager.Referente1Valore = item.Referente1Valore;
                                oJobManager.Referente2       = item.Referente2;
                                oJobManager.Referente2Valore = item.Referente2Valore;
                                oJobManager.Referente3       = item.Referente3;
                                oJobManager.Referente3Valore = item.Referente3Valore;
                                oJobManager.Referente4       = item.Referente4;
                                oJobManager.Referente4Valore = item.Referente4Valore;
                                oJobManager.Referente5       = item.Referente5;
                                oJobManager.Referente5Valore = item.Referente5Valore;

                                oJobManager.Autore               = item.Autore;
                                oJobManager.DataCreazione        = item.DataCreazione;
                                oJobManager.AutoreUltimaModifica = item.AutoreUltimaModifica;
                                oJobManager.DataUltimaModifica   = item.DataUltimaModifica;

                                ret = await oSP.createJobManagerAsync(Helper.ListaJobManagerGuid, oJobManager, LoginUserName);

                                break;

                            case "Giornaliera":
                                numRipetizioni = getNumRipetizioniGiornaliera(item.DataInizioJob, item.DataFineJob);

                                oJobManager             = new tb_JobManager();
                                oJobManager.GUID        = item.GUID;
                                oJobManager.Nome        = item.Nome;
                                oJobManager.Descrizione = item.Descrizione;

                                oJobManager.TipoJob          = item.TipoJob;
                                oJobManager.Ripetizione      = item.Ripetizione;
                                oJobManager.StatoJob         = "Pubblicato";
                                oJobManager.Referente1       = item.Referente1;
                                oJobManager.Referente1Valore = item.Referente1Valore;
                                oJobManager.Referente2       = item.Referente2;
                                oJobManager.Referente2Valore = item.Referente2Valore;
                                oJobManager.Referente3       = item.Referente3;
                                oJobManager.Referente3Valore = item.Referente3Valore;
                                oJobManager.Referente4       = item.Referente4;
                                oJobManager.Referente4Valore = item.Referente4Valore;
                                oJobManager.Referente5       = item.Referente5;
                                oJobManager.Referente5Valore = item.Referente5Valore;

                                oJobManager.Autore               = item.Autore;
                                oJobManager.DataCreazione        = item.DataCreazione;
                                oJobManager.AutoreUltimaModifica = item.AutoreUltimaModifica;
                                oJobManager.DataUltimaModifica   = item.DataUltimaModifica;

                                for (int i = 0; i < numRipetizioni; i++)
                                {
                                    if (i == 0)
                                    {
                                        oJobManager.DataInizioJob = item.DataInizioJob;
                                    }
                                    else
                                    {
                                        oJobManager.DataInizioJob = item.DataInizioJob.AddDays(i);
                                    }
                                    oJobManager.DataFineJob.AddDays(i + 1);
                                    ret = await oSP.createJobManagerAsync(Helper.ListaJobManagerGuid, oJobManager, LoginUserName);
                                }
                                break;

                            case "Settimanale":
                                numRipetizioni = getNumRipetizioniSettimanale(item.DataInizioJob, item.DataFineJob);

                                oJobManager             = new tb_JobManager();
                                oJobManager.GUID        = item.GUID;
                                oJobManager.Nome        = item.Nome;
                                oJobManager.Descrizione = item.Descrizione;

                                oJobManager.TipoJob          = item.TipoJob;
                                oJobManager.Ripetizione      = item.Ripetizione;
                                oJobManager.StatoJob         = "Pubblicato";
                                oJobManager.Referente1       = item.Referente1;
                                oJobManager.Referente1Valore = item.Referente1Valore;
                                oJobManager.Referente2       = item.Referente2;
                                oJobManager.Referente2Valore = item.Referente2Valore;
                                oJobManager.Referente3       = item.Referente3;
                                oJobManager.Referente3Valore = item.Referente3Valore;
                                oJobManager.Referente4       = item.Referente4;
                                oJobManager.Referente4Valore = item.Referente4Valore;
                                oJobManager.Referente5       = item.Referente5;
                                oJobManager.Referente5Valore = item.Referente5Valore;

                                oJobManager.Autore               = item.Autore;
                                oJobManager.DataCreazione        = item.DataCreazione;
                                oJobManager.AutoreUltimaModifica = item.AutoreUltimaModifica;
                                oJobManager.DataUltimaModifica   = item.DataUltimaModifica;

                                for (int i = 0; i < numRipetizioni; i++)
                                {
                                    if (i == 0)
                                    {
                                        oJobManager.DataInizioJob = item.DataInizioJob;
                                    }
                                    else
                                    {
                                        oJobManager.DataInizioJob = item.DataInizioJob.AddDays(i + 7);
                                    }
                                    oJobManager.DataFineJob.AddDays(i + 8);
                                    ret = await oSP.createJobManagerAsync(Helper.ListaJobManagerGuid, oJobManager, LoginUserName);
                                }
                                break;

                            case "Mensile":
                                numRipetizioni = getNumRipetizioniMensile(item.DataInizioJob, item.DataFineJob);

                                oJobManager             = new tb_JobManager();
                                oJobManager.GUID        = item.GUID;
                                oJobManager.Nome        = item.Nome;
                                oJobManager.Descrizione = item.Descrizione;

                                oJobManager.TipoJob          = item.TipoJob;
                                oJobManager.Ripetizione      = item.Ripetizione;
                                oJobManager.StatoJob         = "Pubblicato";
                                oJobManager.Referente1       = item.Referente1;
                                oJobManager.Referente1Valore = item.Referente1Valore;
                                oJobManager.Referente2       = item.Referente2;
                                oJobManager.Referente2Valore = item.Referente2Valore;
                                oJobManager.Referente3       = item.Referente3;
                                oJobManager.Referente3Valore = item.Referente3Valore;
                                oJobManager.Referente4       = item.Referente4;
                                oJobManager.Referente4Valore = item.Referente4Valore;
                                oJobManager.Referente5       = item.Referente5;
                                oJobManager.Referente5Valore = item.Referente5Valore;

                                oJobManager.Autore               = item.Autore;
                                oJobManager.DataCreazione        = item.DataCreazione;
                                oJobManager.AutoreUltimaModifica = item.AutoreUltimaModifica;
                                oJobManager.DataUltimaModifica   = item.DataUltimaModifica;

                                for (int i = 0; i < numRipetizioni; i++)
                                {
                                    if (i == 0)
                                    {
                                        oJobManager.DataInizioJob = item.DataInizioJob;
                                    }
                                    else
                                    {
                                        oJobManager.DataInizioJob = item.DataInizioJob.AddMonths(i);
                                    }
                                    oJobManager.DataFineJob.AddMonths(i + 1);
                                    ret = await oSP.createJobManagerAsync(Helper.ListaJobManagerGuid, oJobManager, LoginUserName);
                                }
                                break;

                            case "Annuale":
                                numRipetizioni = getNumRipetizioniAnnuale(item.DataInizioJob, item.DataFineJob);

                                oJobManager             = new tb_JobManager();
                                oJobManager.GUID        = item.GUID;
                                oJobManager.Nome        = item.Nome;
                                oJobManager.Descrizione = item.Descrizione;

                                oJobManager.TipoJob          = item.TipoJob;
                                oJobManager.Ripetizione      = item.Ripetizione;
                                oJobManager.StatoJob         = "Pubblicato";
                                oJobManager.Referente1       = item.Referente1;
                                oJobManager.Referente1Valore = item.Referente1Valore;
                                oJobManager.Referente2       = item.Referente2;
                                oJobManager.Referente2Valore = item.Referente2Valore;
                                oJobManager.Referente3       = item.Referente3;
                                oJobManager.Referente3Valore = item.Referente3Valore;
                                oJobManager.Referente4       = item.Referente4;
                                oJobManager.Referente4Valore = item.Referente4Valore;
                                oJobManager.Referente5       = item.Referente5;
                                oJobManager.Referente5Valore = item.Referente5Valore;

                                oJobManager.Autore               = item.Autore;
                                oJobManager.DataCreazione        = item.DataCreazione;
                                oJobManager.AutoreUltimaModifica = item.AutoreUltimaModifica;
                                oJobManager.DataUltimaModifica   = item.DataUltimaModifica;

                                for (int i = 0; i < numRipetizioni; i++)
                                {
                                    if (i == 0)
                                    {
                                        oJobManager.DataInizioJob = item.DataInizioJob;
                                    }
                                    else
                                    {
                                        oJobManager.DataInizioJob = item.DataInizioJob.AddYears(i);
                                    }
                                    oJobManager.DataFineJob.AddYears(i + 1);
                                    ret = await oSP.createJobManagerAsync(Helper.ListaJobManagerGuid, oJobManager, LoginUserName);
                                }

                                break;
                            }
                        }
                    }

                    listRetJobManager = await oSP.getJobManagerAsync(Helper.ListaJobManagerGuid, LoginUserName);

                    if (listRetJobManager == null)
                    {
                        SeriLogging.LogError(LoginUserName, "listRetJobManager == null");
                    }
                    else
                    {
                        SeriLogging.LogInformation(LoginUserName, "listRetJobManager ok");
                    }
                }
                else
                {
                    SeriLogging.LogError(LoginUserName, sRet);
                }
            }
            catch (Exception ex)
            {
                string sMsg = string.Empty;
                sMsg = string.Format("Source: {0}{3} Message: {1}{3} StackTrace: {2}{3}", ex.Source, ex.Message, ex.StackTrace, System.Environment.NewLine);
                SeriLogging.LogFatal(LoginUserName, sMsg);
            }

            oSP.clearContext();

            return(listRetJobManager);
        }