Beispiel #1
0
        /// <summary>
        /// Rs the filter_ display filter value.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The e.</param>
        protected void rFilter_DisplayFilterValue( object sender, GridFilter.DisplayFilterValueArgs e )
        {
            if ( AvailableAttributes != null )
            {
                var attribute = AvailableAttributes.FirstOrDefault( a => MakeKeyUniqueToGroup( a.Key ) == e.Key );
                if ( attribute != null )
                {
                    try
                    {
                        var values = JsonConvert.DeserializeObject<List<string>>( e.Value );
                        e.Value = attribute.FieldType.Field.FormatFilterValues( attribute.QualifierValues, values );
                        return;
                    }
                    catch
                    {
                        // intentionally ignore
                    }
                }
            }

            if ( e.Key == MakeKeyUniqueToGroup( "First Name" ) )
            {
                return;
            }
            else if ( e.Key == MakeKeyUniqueToGroup( "Last Name" ) )
            {
                return;
            }
            else if ( e.Key == MakeKeyUniqueToGroup( "Role" ) )
            {
                e.Value = ResolveValues( e.Value, cblRole );
            }
            else if ( e.Key == MakeKeyUniqueToGroup( "Status" ) )
            {
                e.Value = ResolveValues( e.Value, cblGroupMemberStatus );
            }
            else if ( e.Key == MakeKeyUniqueToGroup( "Gender" ) )
            {
                e.Value = ResolveValues( e.Value, cblGenderFilter );
            }

            else if ( e.Key == MakeKeyUniqueToGroup( "Campus" ) )
            {
                var campusId = e.Value.AsIntegerOrNull();
                if ( campusId.HasValue )
                {
                    var campusCache = CampusCache.Read( campusId.Value );
                    if ( campusCache != null )
                    {
                        e.Value = campusCache.Name;
                    }
                    else
                    {
                        e.Value = string.Empty;
                    }
                }
                else
                {
                    e.Value = string.Empty;
                }
            }

            else if ( e.Key == MakeKeyUniqueToGroup( "Registration" ) )
            {
                var instanceId = e.Value.AsIntegerOrNull();
                if ( instanceId.HasValue )
                {
                    using ( var rockContext = new RockContext() )
                    {
                        var instance = new RegistrationInstanceService( rockContext ).Get( instanceId.Value );
                        if ( instance != null )
                        {
                            e.Value = instance.ToString();
                        }
                        else
                        {
                            e.Value = string.Empty;
                        }
                    }
                }
                else
                {
                    e.Value = string.Empty;
                }
            }

            else if ( e.Key == MakeKeyUniqueToGroup( "Signed Document") )
            {
                return;
            }
            else
            {
                e.Value = string.Empty;
            }
        }