private IEnumerable GetItems(string[] strings, KeyValuePair <string, string> keyValuePair, Type targetType, Type itemType)
        {
            IValueRetriever retriever = null;

            foreach (var splitValue in strings)
            {
                var itemKeyValuePair = new KeyValuePair <string, string>(keyValuePair.Key, splitValue.Trim());
                retriever = retriever ?? GetValueRetriever(itemKeyValuePair, targetType, itemType);
                yield return(retriever?.Retrieve(itemKeyValuePair, targetType, itemType));
            }
        }
 protected override IEnumerable <SubstitutionSet> CheckActivation(IQueryable db, Name perspective, IEnumerable <SubstitutionSet> constraints)
 {
     foreach (var result in m_other.Retrieve(db, perspective, constraints))
     {
         var sub = new Substitution(m_variable, new ComplexValue(result.Item1.Value, result.Item1.Certainty));
         if (result.Item2.AddSubstitution(sub))
         {
             yield return(result.Item2);
         }
     }
 }
Example #3
0
            protected override IEnumerable <SubstitutionSet> CheckActivation(IQueryable db, Name perspective, IEnumerable <SubstitutionSet> constraints)
            {
                Name realValue = db.AskPossibleProperties(m_value, perspective, null).First().Item1.Value;

                foreach (var pair in m_retriver.Retrieve(db, perspective, constraints))
                {
                    if (CompareValues(pair.Item1.Value, realValue, m_operation))
                    {
                        yield return(pair.Item2);
                    }
                }
            }
Example #4
0
            protected override IEnumerable <SubstitutionSet> CheckActivation(IQueryable db, Name perspective, IEnumerable <SubstitutionSet> constraints)
            {
                var r1 = Property1.Retrieve(db, perspective, constraints).GroupBy(p => p.Item1, p => p.Item2);

                foreach (var g in r1)
                {
                    foreach (var crossPair in Property2.Retrieve(db, perspective, g))
                    {
                        if (CompareValues(g.Key.Value, crossPair.Item1.Value, Operator))
                        {
                            yield return(crossPair.Item2);
                        }
                    }
                }
            }
            protected override IEnumerable <SubstitutionSet> CheckActivation(IQueryable db, Name perspective, IEnumerable <SubstitutionSet> constraints)
            {
                var subs = m_predicate.Retrieve(db, perspective, constraints);

                foreach (var pair in subs)
                {
                    bool b;
                    if (!pair.Item1.Value.TryConvertToValue(out b))
                    {
                        continue;
                    }

                    if (b != m_invert)
                    {
                        yield return(pair.Item2);
                    }
                }
            }
 internal static object GetValue(this IValueRetriever retriever, string value, Type propertyType)
 {
     return(retriever.Retrieve(new KeyValuePair <string, string>("Value", value), typeof(object), propertyType));
 }