Ejemplo n.º 1
0
        public bool IsEmpty(IEnumerable enumerable, DisplayFieldRules displayFieldRules, bool registered)
        {
            if (!FieldCategoryRel.IsLoaded)
            {
                FieldCategoryRel.Load();
            }

            foreach (FieldCategoryRel fieldCategory in FieldCategoryRel)
            {
                if (!fieldCategory.FieldReference.IsLoaded)
                {
                    fieldCategory.FieldReference.Load();
                }

                if (registered || !fieldCategory.Field.OnlyForRegistered)
                {
                    bool allFieldsHasValue = true;
                    foreach (object o in enumerable)
                    {
                        switch (displayFieldRules)
                        {
                        case DisplayFieldRules.Always:
                            return(false);

                        case DisplayFieldRules.AtLeastOne:
                            if (fieldCategory.Field.GetValue(o) != null)
                            {
                                return(false);
                            }
                            break;

                        case DisplayFieldRules.MustAll:
                            if (fieldCategory.Field.GetValue(o) == null)
                            {
                                allFieldsHasValue = false;
                            }
                            break;

                        default:
                            break;
                        }
                    }

                    if (displayFieldRules == DisplayFieldRules.MustAll && allFieldsHasValue)
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
Ejemplo n.º 2
0
        public bool IsDisplayed(IEnumerable enumerable, DisplayFieldRules displayFieldRules, bool registered, string role)
        {
            if (!IsInRoles(role))
            {
                return(false);
            }

            if (!registered && OnlyForRegistered)
            {
                return(false);
            }

            foreach (object o in enumerable)
            {
                switch (displayFieldRules)
                {
                case DisplayFieldRules.Always:
                    return(true);

                case DisplayFieldRules.AtLeastOne:
                    if (this.GetValue(o) != null)
                    {
                        return(true);
                    }
                    break;

                case DisplayFieldRules.MustAll:
                    if (this.GetValue(o) == null)
                    {
                        return(false);
                    }
                    break;

                default:
                    break;
                }
            }
            if (displayFieldRules == DisplayFieldRules.MustAll)
            {
                return(true);
            }
            else // AtLeastOne
            {
                return(false);
            }
        }