/// <summary>
        /// Get Publish project by name
        /// </summary>
        /// <param name="name">the name of the project</param>
        /// <param name="context">csom context</param>
        /// <returns></returns>
        private static csom.PublishedProject GetProjectByName(string name, csom.ProjectContext context)
        {
            IEnumerable<csom.PublishedProject> projs = context.LoadQuery(context.Projects.Where(p => p.Name == name));
            context.ExecuteQuery();

            if (!projs.Any())       // no project found
            {
                return null;
            }
            return projs.FirstOrDefault();
        }
 /// <summary>
 /// Log to Console the job state for queued jobs
 /// </summary>
 /// <param name="jobState">csom jobstate</param>
 /// <param name="jobDescription">job description</param>
 private static void JobStateLog(csom.JobState jobState, string jobDescription)
 {
     switch (jobState)
     {
         case csom.JobState.Success:
             Console.WriteLine(jobDescription + " is successfully done.");
             break;
         case csom.JobState.ReadyForProcessing:
         case csom.JobState.Processing:
         case csom.JobState.ProcessingDeferred:
             Console.WriteLine(jobDescription + " is taking longer than usual.");
             break;
         case csom.JobState.Failed:
         case csom.JobState.FailedNotBlocking:
         case csom.JobState.CorrelationBlocked:
             Console.WriteLine(jobDescription + " failed. The job is in state: " + jobState);
             break;
         default:
             Console.WriteLine("Unkown error, job is in state " + jobState);
             break;
     }
 }
 private static csom.LookupEntry GetRandomLookupEntries(csom.CustomField cf)
 {
     context.Load(cf, c => c, c => c.LookupEntries);
     context.ExecuteQuery();
     try
     {
         Random r = new Random();
         int index = r.Next(0, cf.LookupEntries.Count);
         csom.LookupEntry lookUpEntry = cf.LookupEntries[index];
         context.Load(lookUpEntry);
         context.ExecuteQuery();
         return lookUpEntry;
     }
     catch (CollectionNotInitializedException ex)
     {
         return null;
     }
 }