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); }
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); } }