Esempio n. 1
0
        private static Guid GetFolderId(string folderName, SessionManagementWrapper sessionManager, Guid defaultFolderId)
        {
            var  folderId         = defaultFolderId;
            bool foldernameisGuid = false;

            if (Guid.TryParse(folderName, out var newGuid))
            {
                var folderid = sessionManager.GetFolderById(newGuid);
                if (folderid.Id != new Guid("00000000-0000-0000-0000-000000000000"))
                {
                    folderId = folderid.Id;
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(folderName))
                {
                    var folder = sessionManager.GetFolderByName(folderName);

                    if (folder != null)
                    {
                        folderId = folder.Id;
                    }
                }
            }
            return(folderId);
        }
Esempio n. 2
0
 /// <summary>
 /// Verify the folder exists before scheduling a recording. If not, put in RR's default folder (just set folder GUID to empty).
 /// </summary>
 private ScheduledRecordingResult VerifyFolderAndScheduleRecording(SessionManagementWrapper sessionManagementWrapper, Schedule schedule, RemoteRecorderManagementWrapper remoteRecorderManagementWrapper)
 {
     // Verify the folder exists before trying to schedule a recording
     try
     {
         sessionManagementWrapper.GetFolderById(schedule.FolderId);
     }
     catch (Exception e)
     {
         // If folder with specified ID can't be found, set folder ID to Guid.Empty to create the recording in the Remote Recorder default folder.
         log.Error(String.Format("Can't find folder with ID {0} in the Panopto database.", schedule.FolderId), e);
         log.Warn(String.Format("Recording will be scheduled in folder with ID {0}.", this.configSettings.PanoptoDefaultFolder));
         schedule.FolderId = this.configSettings.PanoptoDefaultFolder;
     }
     return(remoteRecorderManagementWrapper.ScheduleRecording(schedule));
 }