Пример #1
0
        // 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)));
        }
Пример #2
0
Файл: Sku.cs Проект: ewin66/Arya
        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)));
        }
Пример #3
0
        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)))));
        }