//computed world-space normal and clipping space depth (depth in range 0, 1)
        //where the result will be stored, results will be stored to the first component of the texture
        //how many samples will be used for occlusion estimation
        public static RenderPass CreateAoc(
		                                    TextureBase normalDepth,
		                                    TextureBase aoc,
		                                    IValueProvider<Matrix4> modelviewprojection,
		                                    IValueProvider<Matrix4> modelviewprojection_inv,
		                                    IValueProvider<Matrix4> projection,
		                                    IValueProvider<Matrix4> projection_inv,
		                                    AocParameters parameters)
        {
            return CreateAoc(
                             normalDepth,
                             aoc,
                             modelviewprojection,
                             modelviewprojection_inv,
                             projection,
                             projection_inv,
                             ValueProvider.Create (() => parameters.SamplesCount),
                             ValueProvider.Create (() => parameters.OccMaxDist),
                             ValueProvider.Create (() => parameters.OccPixmax),
                             ValueProvider.Create (() => parameters.OccPixmin),
                             ValueProvider.Create (() => parameters.OccMinSampleRatio),
                             ValueProvider.Create (() => parameters.OccConstantArea),
                             ValueProvider.Create (() => parameters.Strength),
                             ValueProvider.Create (() => parameters.Bias));
        }
Example #2
0
 protected virtual object GetArrayModel( ControllerContext controllerContext, Type modelType, IValueProvider valueProvider, string prefix)
 {
     List<object> list = GetListModel(controllerContext, modelType, modelType.GetElementType(), valueProvider, prefix);
     object[] array = (object[])Array.CreateInstance(modelType.GetElementType(), list.Count);
     list.CopyTo(array);
     return array;
 }  
        //computed world-space normal and clipping space depth (depth in range 0, 1)
        //where the result will be stored, results will be stored to the first component of the texture
        //how many samples will be used for occlusion estimation
        public static RenderPass CreateAoc(
		                                    TextureBase normalDepth,
		                                    TextureBase aoc,
		                                    IValueProvider<Matrix4> modelviewprojection,
		                                    IValueProvider<Matrix4> modelviewprojection_inv,
		                                    IValueProvider<Matrix4> projection,
		                                    IValueProvider<Matrix4> projection_inv,
		                                    IValueProvider<int> samplesCount,
		                                    IValueProvider<float> occ_max_dist = null,
		                                    IValueProvider<float> occ_pixmax = null,
		                                    IValueProvider<float> occ_pixmin = null,
		                                    IValueProvider<float> occ_min_sample_ratio = null,
		                                    IValueProvider<bool> occ_constant_area = null,
		                                    IValueProvider<float> strength = null,
		                                    IValueProvider<float> bias = null)
        {
            var viewport = ValueProvider.Create (() => new Vector2 (aoc.Width, aoc.Height));
            //			var sampling_pattern = ValueProvider.Create
            //			(
            //				 () => MathHelper2.RandomVectorSet (256, new Vector2 (1, 1))
            //			);

            var current_pattern = MathHelper2.RandomVectorSet (256, new Vector2 (1, 1));
            var sampling_pattern = ValueProvider.Create
            (
                 () => current_pattern
            );

            var uniformState = new UniformState ();
            uniformState.Set ("viewport_size", viewport);
            uniformState.Set ("sampling_pattern", sampling_pattern);
            uniformState.Set ("sampling_pattern_len", samplesCount);

            uniformState.Set ("modelviewprojection_transform", modelviewprojection);
            uniformState.Set ("modelviewprojection_inv_transform", modelviewprojection_inv);
            uniformState.Set ("projection_transform", projection);
            uniformState.Set ("projection_inv_transform", projection_inv);

            uniformState.Set ("OCCLUDER_MAX_DISTANCE", occ_max_dist ?? ValueProvider.Create(35.0f));
            uniformState.Set ("PROJECTED_OCCLUDER_DISTANCE_MAX_SIZE", occ_pixmax ?? ValueProvider.Create(35.0f));
            uniformState.Set ("PROJECTED_OCCLUDER_DISTANCE_MIN_SIZE", occ_pixmin ?? ValueProvider.Create(2.0f));
            uniformState.Set ("MINIMAL_SAMPLES_COUNT_RATIO", occ_min_sample_ratio ?? ValueProvider.Create(0.1f));
            uniformState.Set ("USE_CONSTANT_OCCLUDER_PROJECTION", occ_constant_area ?? ValueProvider.Create(false));
            uniformState.Set ("AOC_STRENGTH", strength ?? ValueProvider.Create(2f));
            uniformState.Set ("AOC_BIAS", bias ?? ValueProvider.Create(-0.5f));

            return CreateFullscreenQuad (
                "aoc", "RenderPassFactory",
                viewport, null,
                window =>
                {
                    GL.Clear (ClearBufferMask.ColorBufferBit);
                    GL.Disable (EnableCap.DepthTest);
                    GL.Disable (EnableCap.Blend);
                },

                new FramebufferBindingSet{{ "OUT_FragData_aoc", aoc }},
                uniformState,
                new TextureBindingSet {{ "normaldepth_texture", normalDepth }});
        }
 public MetricIdFromOperationalDashboardSubtypeValueProvider(ControllerContext controllerContext, IDomainSpecificMetricNodeResolver domainSpecificMetricNodeResolver, 
     IValueProvider schoolIdValueProvider)
 {
     this.controllerContext = controllerContext;
     this.domainSpecificMetricNodeResolver = domainSpecificMetricNodeResolver;
     this.schoolIdValueProvider = schoolIdValueProvider;
 }
        protected BaseValueGenerator(IValueProvider valueProvider, Func<ITypeGenerator> getTypeGenerator,
            Func<IArrayRandomizer> getArrayRandomizer, IUniqueValueGenerator uniqueValueGenerator, IAttributeDecorator attributeDecorator)
        {
            BaseValueGenerator.Logger.Debug("Entering constructor");

            this.ValueProvider = valueProvider;
            this.GetTypeGenerator = getTypeGenerator;
            this.GetArrayRandomizer = getArrayRandomizer;
            this.UniqueValueGenerator = uniqueValueGenerator;
            this.AttributeDecorator = attributeDecorator;

            this.typeValueGetterDictionary = new Dictionary<Type, GetValueForTypeDelegate>
            {
                {typeof (EmailAttribute), x => this.ValueProvider.GetEmailAddress()},
                {typeof (PrimaryKeyAttribute), this.GetPrimaryKey},
                {typeof (string), this.GetString},
                {typeof (decimal), this.GetDecimal},
                {typeof (int), this.GetInteger},
                {typeof (uint), this.GetInteger},
                {typeof (long), this.GetLong},
                {typeof (ulong), this.GetLong},
                {typeof (short), this.GetShort},
                {typeof (ushort), this.GetShort},
                {typeof (bool), x => this.ValueProvider.GetBoolean()},
                {typeof (char), x => this.ValueProvider.GetCharacter()},
                {typeof (DateTime), this.GetDateTime},
                {typeof (byte), x => this.ValueProvider.GetByte()},
                {typeof (double), this.GetDouble},
                {typeof (float), this.GetFloat},
                {typeof (Guid), this.GetGuid },
            };

            BaseValueGenerator.Logger.Debug("Exiting constructor");
        }
        public override bool TryGetValueProvider(object target, string name, out IValueProvider provider)
        {
            provider = default(IValueProvider);
            var dictionaryType = default(Type);

            foreach (var interfaceType in target.GetType().GetInterfaces()) {
                if (interfaceType.IsGenericType &&
                    interfaceType.GetGenericTypeDefinition() == typeof(IDictionary<,>) &&
                    interfaceType.GetGenericArguments()[0] == typeof(string)) {
                    dictionaryType = interfaceType;

                    break;
                }
            }

            if (dictionaryType != null) {
                var containsKeyMethod = dictionaryType.GetMethod("ContainsKey");

                if ((bool)containsKeyMethod.Invoke(target, new object[] { name })) {
                    provider = new GenericDictionaryValueProvider(target, name, dictionaryType);
                }
            }

            return provider != null;
        }
Example #7
0
        public override QuestionResult GetResult(IValueProvider provider)
        {
            int value = 0;
            TryGetValue(provider, ResultName, out value);

            return new QuestionResult { Answer = value.ToString(), Value = 0};
        }
        /*
        /// <summary>
        /// given color and depth textures, render them.
        /// </summary>
        public static RenderPass CreateSolidSphere
        (
             TextureBase normal_depth_target,
             TextureBase uv_colorindex_target,
             TextureBase depth_texture,
             BufferObject<Vector4> sprite_pos_buffer,
             BufferObject<Vector4> sprite_color_buffer,
             BufferObject<Vector4> sprite_dimensions_buffer,
             IValueProvider<int> particles_count,
             IValueProvider<float> particle_scale_factor,
             ModelViewProjectionParameters mvp,
             UniformState subroutineMapping,
             IEnumerable<Shader> subroutines
        )
        {
            var viewport = ValueProvider.Create (() => new Vector2 (depth_texture.Width, depth_texture.Height));
            var mode = ValueProvider.Create (() => 0);

            return CreateSolidSphere
            (
                 new FramebufferBindingSet(
                  new DrawFramebufferBinding { Attachment = FramebufferAttachment.DepthAttachment, Texture = depth_texture },
                  new DrawFramebufferBinding { VariableName = "Fragdata.uv_colorindex_none", Texture = uv_colorindex_target },
                  new DrawFramebufferBinding { VariableName = "Fragdata.normal_depth", Texture = normal_depth_target }
                 ),
                 sprite_pos_buffer, sprite_color_buffer, sprite_dimensions_buffer,
                 viewport,
                 particles_count, particle_scale_factor, mode,
                 mvp,
                 subroutineMapping,
                 subroutines
            );
        }*/
        /// <summary>
        /// given color and depth textures, render them.
        /// </summary>
        public static RenderPass CreateSolidSphere(
			 TextureBase normal_depth_target,
			 TextureBase uv_colorindex_target,
			 TextureBase depth_texture,
			 BufferObject<Vector4> sprite_pos_buffer,
			 BufferObject<Vector4> sprite_color_buffer,
			 BufferObject<Vector4> sprite_dimensions_buffer,
			 IValueProvider<int> particles_count,
			 IValueProvider<float> particle_scale_factor,
			 ModelViewProjectionParameters mvp
		)
        {
            var viewport = ValueProvider.Create (() => new Vector2 (depth_texture.Width, depth_texture.Height));
            var fragdepthroutine = ValueProvider.Create (() => "FragDepthDefault");
            var outputroutine = ValueProvider.Create (() => "SetOutputsDefault");

            return CreateSolidSphere
            (
                 new FramebufferBindingSet(
                  new DrawFramebufferBinding { Attachment = FramebufferAttachment.DepthAttachment, Texture = depth_texture },
                  new DrawFramebufferBinding { VariableName = "uv_colorindex_none", Texture = uv_colorindex_target },
                  new DrawFramebufferBinding { VariableName = "normal_depth", Texture = normal_depth_target }
                 ),
                 sprite_pos_buffer, sprite_color_buffer, sprite_dimensions_buffer,
                 viewport,
                 particles_count, particle_scale_factor, fragdepthroutine, outputroutine,
                 mvp,
                 null,
                 null
            );
        }
 public OverrideValueProvider(IValueProvider originalValueProvider, IDictionary<string, string> values)
 {
     OriginalValueProvider = originalValueProvider;
     HardcodedValues = values.ToDictionary(
         x => x.Key,
         x => new ValueProviderResult(x.Value, x.Value, System.Globalization.CultureInfo.InvariantCulture));
 }
        /// <summary>
        /// given color and depth textures, render them.
        /// </summary>
        public static RenderPass CreateRenderTextureToBuffer(
			 TextureBase source,
			 TextureBase depth_source,
			 IValueProvider<Vector2> viewportSize,
			 Action<GameWindow> beforeState,
			 Action<GameWindow> beforeRender,
			 params StatePart[] stateParts
		)
        {
            //TODO: BUG see System21.State.cs: line 351. Order of states has also some influence
            var states = new StatePart[]{
                new TextureBindingSet
                (
                 new TextureBinding { VariableName = "source_texture", Texture = source },
                 new TextureBinding { VariableName = "depth_texture", Texture = depth_source }
                )
            };

            states = stateParts.Concat(states).ToArray();

            return CreateFullscreenQuad
            (
                 "rendertexture", "RenderPassFactory",
                 viewportSize,
                 beforeState,
                 beforeRender,
                 states);
        }
        public dynamic Bind(dynamic formShape, IValueProvider valueProvider, string prefix = "")
        {
            Action<object> process = shape => BindValue(shape, valueProvider, prefix);
            FormNodesProcessor.ProcessForm(formShape, process);

            return formShape;
        }
Example #12
0
        public virtual System.Object eval(IValueProvider provider, System.Object corr)
        {
            System.Object oLhs = lhs_.eval(provider, corr);
            System.Object oRhs = rhs_.eval(provider, corr);

            return eval(oLhs, oRhs);
        }
 private bool QuestionSelected(IValueProvider provider, int idx)
 {
     var valResult = provider.GetValue(ResultName(idx));
     return ((valResult != null)
         && !string.IsNullOrEmpty(valResult.AttemptedValue)
         && valResult.AttemptedValue.Contains("true"));
 }
        /// <summary>
        /// given color and depth textures, render them.
        /// </summary>
        public static RenderPass CreateSolidBox(
			 TextureBase depth_texture,
			 BufferObject<Vector4> sprite_pos_buffer,
			 BufferObject<Vector4> sprite_color_buffer,
			 BufferObject<Vector4> sprite_dimensions_buffer,
			 BufferObject<Matrix4> sprite_rotation_local_buffer,
			 BufferObject<Matrix4> sprite_rotation_buffer,
			 IValueProvider<int> particles_count,
				IValueProvider<float> particle_scale_factor,
				IValueProvider<string> fragdepthroutine,
			 ModelViewProjectionParameters mvp
		)
        {
            var viewport = ValueProvider.Create (() => new Vector2 (depth_texture.Width, depth_texture.Height));
            var outputroutine = ValueProvider.Create (() => "SetOutputsNone");
            return CreateSolidBox
            (
                 new FramebufferBindingSet(
                  new DrawFramebufferBinding { Attachment = FramebufferAttachment.DepthAttachment, Texture = depth_texture }
                 ),
                 sprite_pos_buffer, sprite_color_buffer, sprite_dimensions_buffer, sprite_rotation_local_buffer, sprite_rotation_buffer,
                 viewport,
                 particles_count, particle_scale_factor, fragdepthroutine, outputroutine,
                 mvp,
                 null,
                 null
            );
        }
        private ODataQueryCriteria Desrialize(IValueProvider values)
        {
            var criteria = new ODataQueryCriteria();

            var orderBy = values.GetValue("$orderby");
            if (orderBy != null)
            {
                criteria.OrderBy = orderBy.AttemptedValue;
            }

            var filter = values.GetValue("$filter");
            if (filter != null)
            {
                criteria.Filter = filter.AttemptedValue;
            }

            ParsePagingInfo(values, criteria);

            var expand = values.GetValue("$expand");
            if (expand != null)
            {
                criteria.Expand = expand.AttemptedValue;
            }

            return criteria;
        }
Example #16
0
 public SchoolIdValueProvider(ControllerContext controllerContext, IRouteValueResolutionService schoolRouteValueResolutionService,
     IValueProvider localEducationAgencyIdValueProvider)
 {
     this.controllerContext = controllerContext;
     this.schoolRouteValueResolutionService = schoolRouteValueResolutionService;
     this.localEducationAgencyIdValueProvider = localEducationAgencyIdValueProvider;
 }
Example #17
0
        public object GetModel(ControllerContext controllerContext, Type modelType, IValueProvider valueProvider, string key)
        {
            if (!valueProvider.ContainsPrefix(key))
            {
                return null;
            }
            ModelMetadata modelMetadata = ModelMetadataProviders.Current.GetMetadataForType(null, modelType);
            if (!modelMetadata.IsComplexType)
            {
                return valueProvider.GetValue(key).ConvertTo(modelType);
            }

            if (modelType.IsArray)
            {
                return GetArrayModel(controllerContext, modelType, valueProvider,key);
            }

            Type enumerableType = ExtractGenericInterface(modelType, typeof(IEnumerable<>));
            if (null != enumerableType)
            {
                return GetCollectionModel(controllerContext, modelType, valueProvider, key);
            }         
           
            if (modelMetadata.IsComplexType)
            {
                return GetComplexModel(controllerContext, modelType, valueProvider, key);
            }
            return null;
        }
 public void Merge(IValueProvider valueProvider)
 {
     if (valueProvider.CanMerge)
     {
         valueProvider.Values.ToList().ForEach(x => Values.Add(x));
     }
 }
Example #19
0
        /// <summary>
        /// Validation function for WrapNumericModelValidator.
        /// </summary>
        /// <param name="container"></param>
        /// <param name="conditionPropertyName"></param>
        /// <param name="validateIfNot"></param>
        /// <param name="propertyName"></param>
        /// <param name="containerName"></param>
        /// <param name="valueProvider"></param>
        /// <param name="modelState"></param>
        /// <param name="baseFunction"></param>
        /// <returns></returns>
        internal static IEnumerable<ModelValidationResult> CValidate(object container, string conditionPropertyName, bool validateIfNot, string propertyName, string containerName, IValueProvider valueProvider, ModelStateDictionary modelState, Func<object, IEnumerable<ModelValidationResult>> baseFunction)
        {
            // default to regular behavior if we don't have model.
            if (container == null)
            {
                return baseFunction(container);
            }

            var property = container.GetType().GetProperty(propertyName);
            var shouldValidate = ShouldValidate(conditionPropertyName, validateIfNot, propertyName, containerName, container, property, valueProvider, modelState);

            if (shouldValidate == null)
            {
                // value for condition property is not supplied.
                return new ModelValidationResult[]
                {
                    new ModelValidationResult()
                    {
                        Message = PropertyNotFound(conditionPropertyName)
                    }
                };
            }
            else if (shouldValidate.Value)
            {
                return baseFunction(container);
            }
            else
            {
                return Enumerable.Empty<ModelValidationResult>();
            }
        }
Example #20
0
        protected virtual object GetDictionaryModel(ControllerContext controllerContext, Type modelType, IValueProvider valueProvider, string prefix)
        {
            List<KeyValuePair<object, object>> list = new List<KeyValuePair<object, object>>();

            bool numericIndex;
            IEnumerable<string> indexes = GetIndexes(prefix, valueProvider, out numericIndex);
            Type[] genericArguments = modelType.GetGenericArguments();
            Type keyType = genericArguments[0];
            Type valueType = genericArguments[1];

            foreach (var index in indexes)
            {
                string indexPrefix = prefix + "[" + index + "]";
                if (!valueProvider.ContainsPrefix(indexPrefix) && numericIndex)
                {
                    break;
                }
                string keyPrefix = indexPrefix + ".Key";
                string valulePrefix = indexPrefix + ".Value";
                object key = GetModel(controllerContext, keyType,
                                           valueProvider, keyPrefix);
                object value = GetModel(controllerContext, valueType,
                                           valueProvider, valulePrefix);
                list.Add(new KeyValuePair<object, object>(key, value));
            }
            object model = CreateModel(modelType);
            ReplaceHelper.ReplaceDictionary(keyType, valueType, model, list);
            return model;
        }
Example #21
0
        public virtual System.Object eval(IValueProvider provider, System.Object corr)
        {
            System.Object oLhs = lhs_.eval(provider, corr);
            if (!(oLhs is System.String))
                return Result.RESULT_UNKNOWN;

            return (rhs_.Contains(oLhs))?Result.RESULT_TRUE:Result.RESULT_FALSE;
        }
 public IValueProvider Handle(IValueProvider provider, Parameter parameter, ParameterValue parameterValue)
 {
     if (parameter.Translator == SerializeStringToValueTranslatorProvider.ProviderKey)
     {
         return new EagerLoadValueProviderDecorator(provider,_settings);
     }
     return provider;
 }
Example #23
0
 protected virtual object GetCollectionModel(ControllerContext controllerContext, Type modelType,IValueProvider valueProvider, string prefix)
 {
     Type elementType = modelType.GetGenericArguments()[0];
     List<object> list = GetListModel(controllerContext, modelType, elementType, valueProvider, prefix);
     object model = CreateModel(modelType);
     ReplaceHelper.ReplaceCollection(elementType, model, list);
     return model;
 }
Example #24
0
 public static QueriableItem Create(IValueProvider valueProvider, IFilterCondition[] conditions)
 {
     return new QueriableItem
         {
             Conditions = conditions,
             ValueProvider = valueProvider
         };
 }
Example #25
0
 public static EntityRecord CreateRecord(
     this Entity entity,
     IValueProvider valueProvider,
     HttpFileCollectionBase files,
     Func<Property, object> defaultValueResolver = null)
 {
     return EntityRecordCreator.CreateRecord(entity, valueProvider, files, defaultValueResolver);
 }
Example #26
0
        /// <summary> Evaluate the expression.</summary>
        /// <param name="provider">Value provider. During the evaluation of the selector a callback
        /// is made to the value provider to get identifier values.
        /// </param>
        /// <param name="corr">Correlation data. This data is as-is passed to the provider.
        /// </param>
        /// <returns> Returns the result of the expression evaluation.
        /// </returns>
        public virtual System.Object eval(IValueProvider provider, System.Object corr)
        {
            System.Object oVal = val_.eval(provider, corr);
            System.Object oLower = lower_.eval(provider, corr);
            System.Object oUpper = lower_.eval(provider, corr);

            return eval(oVal, oLower, oUpper);
        }
 public GenericDataValueProvider(System.Reflection.MemberInfo member, IValueProvider inner, IEnumerable<string> sensitiveProperties)
 {
     if (member == null) throw new ArgumentNullException("member");
     if (inner == null) throw new ArgumentNullException("inner");
     Member = member;
     Inner = inner;
     SensitiveProperties = sensitiveProperties?.Select(p => p.ToLowerInvariant());
 }
Example #28
0
 public object GetModel(ControllerContext controllerContext, Type modelType, IValueProvider valueProvider, string key)
 {
     if (!valueProvider.ContainsPrefix(key))
     {
         return null;
     }
     return valueProvider.GetValue(key).ConvertTo(modelType);
 }
Example #29
0
        public override QuestionResult GetResult(IValueProvider provider)
        {
            string answer;
            if (!(TryGetValue(provider, ResultName, out answer) && !string.IsNullOrEmpty(answer)))
                answer = null;

            return new QuestionResult { Answer = answer, Value = 0 };
        }
Example #30
0
 public OverrideValueProvider(string name, IValueProvider first, IValueProvider second, IValueProvider third = null, IValueProvider fourth = null)
 {
     Name = name;
     Providers.Add(first);
     Providers.Add(second);
     if(third != null) Providers.Add(third);
     if(fourth != null) Providers.Add(fourth);
 }
Example #31
0
 private IValuable <G> Or(IValue <G, bool> booleanValue, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetBoolean(Data | booleanValue.Data));
 }
Example #32
0
 private IValuable <G> IsLessThanOrEqualTo(int value, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetBoolean(Data <= value));
 }
Example #33
0
 public IValuable <G> Or(IValuable <G> value, IValueProvider <G> valueProvider)
 {
     throw new EngineRuntimeException("Invalid values for or");
 }
Example #34
0
 private IValuable <G> Add(string value, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetString(Data + value));
 }
Example #35
0
 public void Execute(ExecutionState <G> executionState, IValueProvider <G> valueProvider)
 {
     throw new EngineRuntimeException("Value is not executable");
 }
 public EmptyDictionaryValueProvider(IValueProvider innerProvider)
 {
     _innerProvider = innerProvider;
     _defaultValue  = new Dictionary <string, object>();
 }
 public EmptyListValueProvider(IValueProvider innerProvider, Type elementType)
 {
     _innerProvider = innerProvider;
     _defaultValue  = Array.CreateInstance(elementType, 0);
 }
Example #38
0
 private IValuable <G> IsNotEqualTo(IValue <G, bool> booleanValue, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetBoolean(Data != booleanValue.Data));
 }
Example #39
0
 private IValuable <G> IsLessThan(long value, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetBoolean(Data < value));
 }
Example #40
0
 private IValuable <G> Add(IValue <G, string> stringValue, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetString(Data.ToString().ToLower() + stringValue.Data));
 }
 public LongValueProvider(IEncryptedConverter <long> encryptedConverter, IValueProvider innerProvider)
     : base(encryptedConverter, innerProvider)
 {
 }
Example #42
0
 private IValuable <G> IsGreaterThan(double value, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetBoolean(Data > value));
 }
Example #43
0
 private IValuable <G> Remainder(long value, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetReducedValue(Data % value));
 }
Example #44
0
 private IValuable <G> DivideBy(double value, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetReducedValue(Data / value));
 }
Example #45
0
 private IValuable <G> IsGreaterThanOrEqualTo(long value, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetBoolean(Data >= value));
 }
Example #46
0
 private IValuable <G> MultiplyBy(long value, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetReducedValue(Data * value));
 }
Example #47
0
 public void SetText(int textKeyId, IValueProvider valueProvider = null)
 {
     m_textKeyId     = textKeyId;
     m_valueProvider = valueProvider;
     RefreshText();
 }
Example #48
0
 public ValuePointer <G> GetAt(IValuable <G> value, IValueProvider <G> valueProvider)
 {
     throw new EngineRuntimeException("Value is not indexed");
 }
Example #49
0
 public DataModifier(IRaftCluster cluster, IValueProvider provider)
 {
     this.cluster  = cluster;
     valueProvider = provider;
 }
Example #50
0
 private IValuable <G> Add(long value, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetReducedValue(Data + value));
 }
 public override Task <bool> TryUpdateModelAsync <TModel>(TModel model, string prefix, IValueProvider valueProvider)
 {
     return(base.TryUpdateModelAsync(model, prefix, valueProvider));
 }
Example #52
0
 public ValuePointer <G> Get(IValuable <G> value, bool createNonExistent, IValueProvider <G> valueProvider)
 {
     throw new EngineRuntimeException("Value is not keyed");
 }
Example #53
0
        /// <summary>
        ///     Replaces the format item in a specified <see cref="String" /> with the values from the given value provider.
        /// </summary>
        /// <exception cref="ArgumentNullException">The format string can not be null.</exception>
        /// <exception cref="FormatException">Format is invalid, or value provider failed to provide a value.</exception>
        /// <param name="format">The <see cref="String" /> containing the format items.</param>
        /// <param name="valueProvider">A value provider.</param>
        /// <returns>
        ///     A copy of format in which the format items have been replaced by the <see cref="String"></see>  representation
        ///     of the corresponding objects from the value provider.
        /// </returns>
        private static String FormatWithValueProvider(this String format, IValueProvider valueProvider)
        {
            format.ThrowIfNull(nameof(format));

            var result = new StringBuilder(format.Length * 2);

            using (var reader = new StringReader(format))
            {
                var   expression = new StringBuilder();
                Int32 currentChar;
                var   currentState = StringFormatState.OutsideExpression;

                do
                {
                    // ReSharper disable once SwitchStatementMissingSomeCases
                    switch (currentState)
                    {
                    case StringFormatState.OutsideExpression:
                        // We are not in a expression => normal string literal
                        currentChar = reader.Read();
                        switch (currentChar)
                        {
                        case -1:
                            // End of string reached
                            currentState = StringFormatState.End;
                            break;

                        case BracketOpen:
                            // Start of new expression (or an escaped open bracket)
                            currentState = StringFormatState.OnOpenBracket;
                            break;

                        case BracketClose:
                            // Close bracket => must be escaped with the next character
                            currentState = StringFormatState.OnCloseBracket;
                            break;

                        default:
                            // Normal string content
                            result.Append((Char)currentChar);
                            break;
                        }
                        break;

                    case StringFormatState.OnOpenBracket:
                        // Last character was an open bracket (only one bracket; yet)
                        currentChar = reader.Read();
                        switch (currentChar)
                        {
                        case -1:
                            // End of string => unescaped bracket without a valid expression
                            throw new FormatException($"Invalid format, format ends with an unescaped open bracket; '{format}'.");

                        case BracketOpen:
                            // Must be an escaped open bracket
                            result.Append(BracketOpen);
                            currentState = StringFormatState.OutsideExpression;
                            break;

                        default:
                            // Part of expression
                            expression.Append((Char)currentChar);
                            currentState = StringFormatState.InsideExpression;
                            break;
                        }
                        break;

                    case StringFormatState.InsideExpression:
                        // We are inside of an expression
                        currentChar = reader.Read();
                        switch (currentChar)
                        {
                        case -1:
                            // End of string => unclosed expression
                            throw new FormatException($"Invalid format, format ends with an unclosed expression; '{format}'.");

                        case BracketClose:
                            // End of expression
                            result.Append(valueProvider.GetValue(expression.ToString()));
                            expression.Length = 0;
                            currentState      = StringFormatState.OutsideExpression;
                            break;

                        default:
                            // Part of expression
                            expression.Append((Char)currentChar);
                            break;
                        }
                        break;

                    case StringFormatState.OnCloseBracket:
                        // Last character was a close bracket
                        currentChar = reader.Read();
                        switch (currentChar)
                        {
                        case BracketClose:
                            // Must be an escaped close bracket
                            result.Append(BracketClose);
                            currentState = StringFormatState.OutsideExpression;
                            break;

                        default:
                            throw new FormatException(BuildErrorMessageCloseNotEscaped(format, reader));
                        }
                        break;

                    default:
                        throw new ArgumentOutOfRangeException(nameof(currentState), currentState, $"Invalid state: '{format}'.");
                    }
                } while (currentState != StringFormatState.End);
            }

            return(result.ToString());
        }
 public StringProvider(MemberInfo memberInfo, Type underlyingType)
 {
     _underlyingValueProvider = new DynamicValueProvider(memberInfo);
 }
Example #55
0
 private IValuable <G> Minus(double value, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetReducedValue(Data - value));
 }
Example #56
0
 public IValuable <G> RightShift(IValuable <G> value, IValueProvider <G> valueProvider)
 {
     throw new EngineRuntimeException("Invalid values for right shift");
 }
 public NullableValueProvider(MemberInfo memberInfo, Type underlyingType)
 {
     _underlyingValueProvider = new DynamicValueProvider(memberInfo);
     _defaultValue            = Activator.CreateInstance(underlyingType);
 }
Example #58
0
 private IValuable <G> IsNotEqualTo(int value, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetBoolean(Data != value));
 }
Example #59
0
 private IValuable <G> IsEqualTo(long value, IValueProvider <G> valueProvider)
 {
     return(valueProvider.GetBoolean(Data == value));
 }
Example #60
0
 public IValuable <G> Not(IValueProvider <G> valueProvider)
 {
     throw new EngineRuntimeException("Invalid value for negation");
 }