/// <summary> /// Shows the readonly details. /// </summary> /// <param name="schedule">The schedule.</param> private void ShowReadonlyDetails( Schedule schedule ) { SetEditMode( false ); hfScheduleId.SetValue( schedule.Id ); lReadOnlyTitle.Text = schedule.Name.FormatAsHtmlTitle(); var calendarEvent = schedule.GetCalenderEvent(); string occurrenceText = string.Empty; if ( calendarEvent != null ) { if ( calendarEvent.DTStart != null ) { var occurrences = calendarEvent.GetOccurrences( RockDateTime.Now, RockDateTime.Now.AddYears( 1 ) ); if ( occurrences.Any() ) { occurrenceText = GetOccurrenceText( occurrences[0] ); } } } var friendlyText = schedule.ToFriendlyScheduleText(); if (!schedule.HasSchedule()) { friendlyText = string.Format( "<label class='label label-warning'>{0}</label>", friendlyText ); } DescriptionList descriptionList = new DescriptionList() .Add( "Description", schedule.Description ?? string.Empty ) .Add( "Schedule", friendlyText ) .Add( "Next Occurrence", occurrenceText ) .Add( "Category", schedule.Category != null ? schedule.Category.Name : string.Empty ); if ( schedule.CheckInStartOffsetMinutes.HasValue ) { descriptionList.Add( "Check-in Starts", schedule.CheckInStartOffsetMinutes.Value.ToString() + " minutes before start of schedule" ); } if ( schedule.CheckInEndOffsetMinutes.HasValue ) { descriptionList.Add( "Check-in Ends", schedule.CheckInEndOffsetMinutes.Value.ToString() + " minutes after start of schedule" ); } lblMainDetails.Text = descriptionList.Html; }