/// <summary> /// Binds the group members grid. /// </summary> protected void BindGrid() { if ( _group != null ) { lHeading.Text = _group.Name; var qry = new ScheduleService( _rockContext ).GetGroupOccurrences( _group ).AsQueryable(); SortProperty sortProperty = gOccurrences.SortProperty; List<ScheduleOccurrence> occurrences = null; if ( sortProperty != null ) { occurrences = qry.Sort( sortProperty ).ToList(); } else { occurrences = qry.OrderByDescending( a => a.StartDateTime ).ToList(); } gOccurrences.DataSource = occurrences; gOccurrences.DataBind(); } }
/// <summary> /// Binds the group members grid. /// </summary> protected void BindGrid() { if ( _group != null ) { lHeading.Text = _group.Name; DateTime? fromDateTime = drpDates.LowerValue; DateTime? toDateTime = drpDates.UpperValue; List<int> locationIds = new List<int>(); List<int> scheduleIds = new List<int>(); // Location Filter if ( ddlLocation.Visible ) { string locValue = ddlLocation.SelectedValue; if ( locValue.StartsWith( "P" ) ) { int? parentLocationId = locValue.Substring( 1 ).AsIntegerOrNull(); if ( parentLocationId.HasValue ) { locationIds = new LocationService( _rockContext ) .GetAllDescendents( parentLocationId.Value ) .Select( l => l.Id ) .ToList(); } } else { int? locationId = locValue.AsIntegerOrNull(); if ( locationId.HasValue ) { locationIds.Add( locationId.Value ); } } } // Schedule Filter if ( ddlSchedule.Visible && ddlSchedule.SelectedValue != "0" ) { scheduleIds.Add( ddlSchedule.SelectedValueAsInt() ?? 0 ); } var qry = new ScheduleService( _rockContext ) .GetGroupOccurrences( _group, fromDateTime, toDateTime, locationIds, scheduleIds, true, bddlCampus.SelectedValueAsInt() ) .AsQueryable(); SortProperty sortProperty = gOccurrences.SortProperty; List<ScheduleOccurrence> occurrences = null; if ( sortProperty != null ) { occurrences = qry.Sort( sortProperty ).ToList(); } else { occurrences = qry.OrderByDescending( a => a.Date ).ThenByDescending( a => a.StartTime ).ToList(); } gOccurrences.DataSource = occurrences; gOccurrences.DataBind(); } }