protected void doCheckinGroupStuff() { int checkinConfigFilter = int.TryParse(gtpCheckinConfig.SelectedValue, out checkinConfigFilter) ? checkinConfigFilter : -1; int checkinAreaFilter = int.TryParse(gtpCheckinArea.SelectedValue, out checkinAreaFilter) ? checkinAreaFilter : -1; int checkinGroupFilter = int.TryParse(rddlCheckinGroup.SelectedValue, out checkinGroupFilter) ? checkinGroupFilter : -1; int groupTypePurposeCheckInTemplateId = DefinedValueCache.Read(new Guid(Rock.SystemGuid.DefinedValue.GROUPTYPE_PURPOSE_CHECKIN_TEMPLATE)).Id; List<GroupType> checkinConfigs = new GroupTypeService(_rockContext).Queryable().Where(a => a.GroupTypePurposeValueId == groupTypePurposeCheckInTemplateId).OrderBy(a => a.ParentGroupTypes.FirstOrDefault().Id).ThenBy(a => a.Order).ThenBy(a => a.Name).ToList(); gtpCheckinConfig.GroupTypes = checkinConfigs; if (gtpCheckinConfig.Items.FindByValue(checkinConfigFilter.ToString()) != null) { gtpCheckinConfig.SelectedValue = checkinConfigFilter.ToString(); } gtpCheckinArea.GroupTypes = getCGT(checkinConfigs.Where(a => a.Id == gtpCheckinConfig.SelectedGroupTypeId).ToList(), ""); if (gtpCheckinArea.Items.FindByValue(checkinAreaFilter.ToString()) != null) { gtpCheckinArea.SelectedValue = checkinAreaFilter.ToString(); } List<Rock.Model.Group> checkinGroups = new GroupService(_rockContext).Queryable().Where(a => a.GroupTypeId == gtpCheckinArea.SelectedGroupTypeId).OrderBy(a => a.Order).ThenBy(a => a.Name).ToList(); checkinGroups.Insert(0, new Rock.Model.Group() { Name = "", Id = -1 }); rddlCheckinGroup.DataSource = checkinGroups; rddlCheckinGroup.DataTextField = "Name"; rddlCheckinGroup.DataValueField = "Id"; rddlCheckinGroup.DataBind(); if (rddlCheckinGroup.Items.FindByValue(checkinGroupFilter.ToString()) != null) { rddlCheckinGroup.SelectedValue = checkinGroupFilter.ToString(); } }