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();
            }
        }
예제 #2
0
        /// <summary>
        /// Gets the group types.
        /// </summary>
        /// <returns></returns>
        private IQueryable<GroupType> GetGroupTypes( RockContext rockContext )
        {
            var qry = new GroupTypeService( rockContext ).Queryable();

            int? purposeId = rFilter.GetUserPreference( "Purpose" ).AsIntegerOrNull();
            if ( purposeId.HasValue )
            {
                qry = qry.Where( t => t.GroupTypePurposeValueId == purposeId.Value );
            }

            var isSystem = rFilter.GetUserPreference( "System Group Types" );
            if ( isSystem == "Yes" )
            {
                qry = qry.Where( t => t.IsSystem );
            }
            else if ( isSystem == "No" )
            {
                qry = qry.Where( t => !t.IsSystem );
            }

            var isShownInNavigation = rFilter.GetUserPreference("Shown in Navigation").AsBooleanOrNull();
            if (isShownInNavigation.HasValue)
            {
                if (isShownInNavigation.Value)
                {
                    qry = qry.Where(t => t.ShowInNavigation);
                }
                else if (!isShownInNavigation.Value)
                {
                    qry = qry.Where(t => !t.ShowInNavigation);
                }

            }

            return qry.OrderBy( g => g.Order );
        }
예제 #3
0
        /// <summary>
        /// Gets the group types.
        /// </summary>
        /// <returns></returns>
        private IQueryable<GroupType> GetGroupTypes()
        {
            var qry = new GroupTypeService( new RockContext() ).Queryable();

            int? purposeId = rFilter.GetUserPreference( "Purpose" ).AsIntegerOrNull();
            if ( purposeId.HasValue )
            {
                qry = qry.Where( t => t.GroupTypePurposeValueId == purposeId.Value );
            }

            var isSystem = rFilter.GetUserPreference( "System Group Types" );
            if ( isSystem == "Yes" )
            {
                qry = qry.Where( t => t.IsSystem );
            }
            else if ( isSystem == "No" )
            {
                qry = qry.Where( t => !t.IsSystem );
            }

            return qry.OrderBy( g => g.Order );
        }
예제 #4
0
        /// <summary>
        /// Creates the control(s) necessary for prompting user for a new value
        /// </summary>
        /// <param name="configurationValues">The configuration values.</param>
        /// <param name="id"></param>
        /// <returns>
        /// The control
        /// </returns>
        public override System.Web.UI.Control EditControl( Dictionary<string, ConfigurationValue> configurationValues, string id )
        {
            var editControl = new GroupTypePicker { ID = id };
            var qryGroupTypes = new GroupTypeService( new RockContext() ).Queryable();

            if ( configurationValues.ContainsKey( GROUP_TYPE_PURPOSE_VALUE_GUID ) )
            {
                var groupTypePurposeValueGuid = ( configurationValues[GROUP_TYPE_PURPOSE_VALUE_GUID] ).Value.AsGuidOrNull();
                if ( groupTypePurposeValueGuid.HasValue )
                {
                    qryGroupTypes = qryGroupTypes.Where( a => a.GroupTypePurposeValue.Guid == groupTypePurposeValueGuid.Value );
                }
            }

            editControl.GroupTypes = qryGroupTypes.OrderBy( a => a.Name ).ToList();
            return editControl;
        }
예제 #5
0
        /// <summary>
        /// Gets the group types.
        /// </summary>
        /// <returns></returns>
        private IQueryable<GroupType> GetGroupTypes()
        {
            var qry = new GroupTypeService().Queryable();

            int purposeId = int.MinValue;
            if ( int.TryParse( rFilter.GetUserPreference( "Purpose" ), out purposeId ) )
            {
                qry = qry.Where( t => t.GroupTypePurposeValueId == purposeId );
            }

            var isSystem = rFilter.GetUserPreference( "System Group Types" );
            if ( isSystem == "Yes" )
            {
                qry = qry.Where( t => t.IsSystem );
            }
            else if (isSystem == "No")
            {
                qry = qry.Where( t => !t.IsSystem);
            }

            return qry.OrderBy( g => g.Order );
        }