// Internal Methods (2) internal bool HasAttribute(string attributeName) { var lowerAttributeName = attributeName.ToLower(); return (EntityInfos.SelectMany(ei => ei.EntityDatas) .Any(ed => ed.Active && ed.Attribute.AttributeName.ToLower().Equals(lowerAttributeName))); }
public bool HasValue(string attributeName, string value) { var lowerAttributeName = attributeName.ToLower(); var lowerValue = value.ToLower(); var entityDatas = EntityInfos.SelectMany(ei => ei.EntityDatas); if (lowerValue.StartsWith("%") && lowerValue.EndsWith("%")) { lowerValue = lowerValue.Substring(1, lowerValue.Length - 2); return (entityDatas.Any( ed => ed.Active && ed.Attribute.AttributeName.ToLower().Equals(lowerAttributeName) && ed.Value.ToLower().Contains(lowerValue))); } if (lowerValue.StartsWith("%")) { lowerValue = lowerValue.Substring(1, lowerValue.Length - 1); return (entityDatas.Any( ed => ed.Active && ed.Attribute.AttributeName.ToLower().Equals(lowerAttributeName) && ed.Value.ToLower().Contains(lowerValue))); } if (lowerValue.EndsWith("%")) { lowerValue = lowerValue.Substring(0, lowerValue.Length - 1); return (entityDatas.Any( ed => ed.Active && ed.Attribute.AttributeName.ToLower().Equals(lowerAttributeName) && ed.Value.ToLower().StartsWith(lowerValue))); } //equals query return (entityDatas.Any( ed => ed.Active && ed.Attribute.AttributeName.ToLower().Equals(lowerAttributeName) && ed.Value.ToLower().Equals(lowerValue))); }
internal bool HasValue(string attributeName, string value) { var lowerAttributeName = attributeName.ToLower(); var lowerValue = value.ToLower(); var containsQuery = false; var equalsQuery = false; var endsWithQuery = false; var startsWithQuery = false; if (lowerValue.StartsWith("%") && lowerValue.EndsWith("%")) { containsQuery = true; lowerValue = lowerValue.Substring(1, lowerValue.Length - 2); } else if (lowerValue.StartsWith("%")) { endsWithQuery = true; lowerValue = lowerValue.Substring(1, lowerValue.Length - 1); } else if (lowerValue.EndsWith("%")) { startsWithQuery = true; lowerValue = lowerValue.Substring(0, lowerValue.Length - 1); } else { equalsQuery = true; } return (EntityInfos.SelectMany(ei => ei.EntityDatas) .Any( ed => ed.Active && ed.Attribute.AttributeName.ToLower().Equals(lowerAttributeName) && ((equalsQuery && ed.Value.ToLower().Equals(lowerValue)) || (containsQuery && ed.Value.ToLower().Contains(lowerValue)) || (startsWithQuery && ed.Value.ToLower().StartsWith(lowerValue)) || (endsWithQuery && ed.Value.ToLower().Contains(lowerValue))))); }