public MeetingFolderBuilder(LmsCompany lmsCompany, IAdobeConnectProxy provider, bool useLmsUserEmailForSearch, LmsMeetingType lmsMeetingType = LmsMeetingType.Meeting) { _lmsCompany = lmsCompany ?? throw new ArgumentNullException(nameof(lmsCompany)); _provider = provider ?? throw new ArgumentNullException(nameof(provider)); _useLmsUserEmailForSearch = useLmsUserEmailForSearch; _lmsMeetingType = lmsMeetingType; }
private string GetAnnouncementMessage(LmsMeetingType meetingType, MeetingDTO meetingDto, string referrer, DateTime startDate) { string date = startDate.ToString("yyyy-MM-dd"); string time = startDate.ToString("h:mm tt", CultureInfo.InvariantCulture); switch (meetingType) { case LmsMeetingType.Meeting: case LmsMeetingType.VirtualClassroom: string pattern = "Meeting \"{0}\" will start {1} at {2}. Its duration will be {3}. You can join it in your <a href='{4}'>Adobe Connect Conference section</a>."; return(string.Format( pattern, meetingDto.Name, date, time, meetingDto.Duration, referrer ?? string.Empty)); case LmsMeetingType.OfficeHours: string message = string.Format("You can join the meeting \"{0}\" in your <a href='{1}'>Adobe Connect Conference section</a>.", meetingDto.Name.Trim(), referrer ?? string.Empty); if (!string.IsNullOrEmpty(meetingDto.OfficeHours)) { message = string.Format("Meeting time: {0}. ", meetingDto.OfficeHours) + message; } return(message); case LmsMeetingType.StudyGroup: return(string.Format("You can join the meeting \"{0}\" in your <a href='{1}'>Adobe Connect Conference section</a>.", meetingDto.Name.Trim(), referrer ?? string.Empty)); case LmsMeetingType.Seminar: return(string.Format("You can join the seminar \"{0}\" in your <a href='{1}'>Adobe Connect Conference section</a>.", meetingDto.Name.Trim(), referrer ?? string.Empty)); } return(string.Empty); }
public RoomTypeFactory(Esynctraining.AdobeConnect.IAdobeConnectProxy provider, LmsMeetingType roomType, ISeminarService seminarService) { // TODO: null check this.provider = provider; this.roomType = roomType; this.seminarService = seminarService; }
public static PrincipalType HostGroup(LmsMeetingType meetingType) { switch (meetingType) { case LmsMeetingType.VirtualClassroom: return(PrincipalType.named_vc_admins); default: return(PrincipalType.live_admins); } }
public static bool UseDbMeetingFolderId(LmsMeetingType meetingType) { switch (meetingType) { case LmsMeetingType.VirtualClassroom: return(false); default: return(true); } }
public static ScoShortcutType GetTemplatesShortcut(LmsMeetingType meetingType) { switch (meetingType) { case LmsMeetingType.VirtualClassroom: return(ScoShortcutType.shared_training_templates); default: return(ScoShortcutType.shared_meeting_templates); } }
public static ScoShortcutType GetMeetingFolderShortcut(LmsMeetingType meetingType, bool isUserFolder) { switch (meetingType) { case LmsMeetingType.VirtualClassroom: return(isUserFolder ? ScoShortcutType.user_courses : ScoShortcutType.courses); default: return(isUserFolder ? ScoShortcutType.user_meetings : ScoShortcutType.meetings); } }
private async Task CreateAnnouncement( LmsMeetingType meetingType, ILmsLicense lmsCompany, ILtiParam param, MeetingDTOInput meetingDto) { if (!lmsCompany.ShowAnnouncements.GetValueOrDefault() || string.IsNullOrEmpty(param.context_title)) { return; } var announcementTitle = string.Format( "A new {0} room was created for course {1}", meetingNames[meetingType], param.context_title); string announcementMessage = GetAnnouncementMessage(meetingType, meetingDto, param.referer); switch (lmsCompany.LmsProviderId) { case (int)LmsProviderEnum.Canvas: var lmsUser = LmsUserModel.GetOneByUserIdAndCompanyLms(param.lms_user_id, lmsCompany.Id).Value; var token = UsersSetup.IsTeacher(param, lmsCompany) && !string.IsNullOrEmpty(lmsUser.Token) ? lmsUser.Token : lmsCompany.AdminUser.Return(a => a.Token, string.Empty); await CanvasApi.CreateAnnouncement( lmsCompany.LmsDomain, token, param.course_id, announcementTitle, announcementMessage); break; case (int)LmsProviderEnum.Blackboard: BlackboardApi.CreateAnnouncement(param.course_id.ToString(), param.lms_user_id, lmsCompany.GetLMSSettings(Settings), announcementTitle, announcementMessage); break; case (int)LmsProviderEnum.AgilixBuzz: // string error; // this.dlapApi.CreateAnnouncement( // credentials, // param.course_id, // announcementTitle, // announcementMessage, // out error); break; } }
private string GetAnnouncementMessage(LmsMeetingType meetingType, MeetingDTOInput meetingDto, string referrer) { //string startDate; //string startTime; //// TRICK: !! //var input = meetingDto as MeetingDTOInput; //if (input != null) //{ // startDate = input.StartDate; // startTime = input.StartTime; //} //else //{ // DateTime begin = ((double)meetingDto.StartTimeStamp).ConvertFromUnixTimeStamp(); // //start_date = meeting.Sco.BeginDate.ToString("yyyy-MM-dd"), // //start_time = meeting.Sco.BeginDate.ToString("h:mm tt", CultureInfo.InvariantCulture), //} switch (meetingType) { case LmsMeetingType.Meeting: case LmsMeetingType.VirtualClassroom: string pattern = "Meeting \"{0}\" will start {1} at {2}. Its duration will be {3}. You can join it in your <a href='{4}'>Adobe Connect Conference section</a>."; return(string.Format( pattern, meetingDto.Name, meetingDto.StartDate, meetingDto.StartTime, meetingDto.Duration, referrer ?? string.Empty)); case LmsMeetingType.OfficeHours: string message = string.Format("You can join the meeting \"{0}\" in your <a href='{1}'>Adobe Connect Conference section</a>.", meetingDto.Name.Trim(), referrer ?? string.Empty); if (!string.IsNullOrEmpty(meetingDto.OfficeHours)) { message = string.Format("Meeting time: {0}. ", meetingDto.OfficeHours) + message; } return(message); case LmsMeetingType.StudyGroup: return(string.Format("You can join the meeting \"{0}\" in your <a href='{1}'>Adobe Connect Conference section</a>.", meetingDto.Name.Trim(), referrer ?? string.Empty)); case LmsMeetingType.Seminar: return(string.Format("You can join the seminar \"{0}\" in your <a href='{1}'>Adobe Connect Conference section</a>.", meetingDto.Name.Trim(), referrer ?? string.Empty)); } return(string.Empty); }
public virtual TelephonyProfileOption GetTelephonyOption(LmsMeetingType meetingType) { switch (meetingType) { case LmsMeetingType.Meeting: case LmsMeetingType.VirtualClassroom: case LmsMeetingType.Seminar: return((TelephonyProfileOption)GetSetting <int>( LmsLicenseSettingNames.Telephony.CourseMeetingOption)); case LmsMeetingType.OfficeHours: return((TelephonyProfileOption)GetSetting <int>(LmsLicenseSettingNames.Telephony.OfficeHoursOption)); case LmsMeetingType.StudyGroup: return((TelephonyProfileOption)GetSetting <int>(LmsLicenseSettingNames.Telephony.StudyGroupOption)); default: throw new ArgumentOutOfRangeException("Non supported meeting type"); } }
public IFutureValue <LmsCourseMeeting> GetOneByUserAndType(int companyLmsId, string userId, LmsMeetingType type) { if (companyLmsId <= 0) { throw new ArgumentOutOfRangeException(nameof(companyLmsId)); } if (string.IsNullOrWhiteSpace(userId)) { throw new ArgumentException("userId can not be empty", nameof(userId)); } if (type <= 0) { throw new ArgumentOutOfRangeException(nameof(type)); } int typeValue = (int)type; LmsCourseMeeting x = null; OfficeHours oh = null; LmsUser u = null; var defaultQuery = new DefaultQueryOver <LmsCourseMeeting, int>() .GetQueryOver(() => x) .JoinAlias(() => x.OfficeHours, () => oh, JoinType.InnerJoin) .JoinAlias(() => oh.LmsUser, () => u, JoinType.InnerJoin) .Where(() => x.LmsCompanyId == companyLmsId && x.LmsMeetingType == typeValue && (x.OfficeHours != null && u.UserId == userId)) .Take(1); return(this.Repository.FindOne(defaultQuery)); }