Beispiel #1
0
        private NameValueObject CreateFromCalculatedProperty(
            string definitionName, Property property, List <NameValueObject> values)
        {
            CalcPropertyObject propertyObject =
                _propertyObjectFactory.CreateCalcPropertyObject(definitionName, property, values);

            return(CreateValue(propertyObject));
        }
Beispiel #2
0
        protected override object CreateImpl(CalcPropertyObject propertyObject)
        {
            if (string.Equals(propertyObject.Property.Name, "fullname", StringComparison.OrdinalIgnoreCase))
            {
                var val1 = propertyObject.Values
                           .Single(v => String.Equals(v.Name, "firstname", StringComparison.OrdinalIgnoreCase));
                var val2 = propertyObject.Values
                           .Single(v => String.Equals(v.Name, "lastname", StringComparison.OrdinalIgnoreCase));

                return($"{val1.Value} {val2.Value}");
            }

            if (string.Equals(propertyObject.Property.Name, "count", StringComparison.OrdinalIgnoreCase))
            {
                var val1 = propertyObject.Values
                           .Single(v => String.Equals(v.Name, "students", StringComparison.OrdinalIgnoreCase))
                           .Value as List <NameValueObject>;

                return(val1 !.Count);
            }

            throw new NotSupportedException("Not expected calculated property");
        }
Beispiel #3
0
 protected override object CreateRangeFailureImpl(CalcPropertyObject propertyObject)
 {
     throw new NotSupportedException("Range failure not supported");
 }
Beispiel #4
0
 protected abstract object CreateImpl(CalcPropertyObject propertyObject);
Beispiel #5
0
 protected abstract object CreateRangeFailureImpl(CalcPropertyObject propertyObject);