/// <summary>
        /// Whether or not the given value is present for the field represented by the field generator.
        /// </summary>
        /// <param name="value">The value to check is selected</param>
        /// <param name="fieldGenerator">The field generator wrapping the field</param>
        /// <returns>Whether or not the value is selected</returns>
        public static bool IsSelected <TModel, T>(this IFieldGenerator <TModel, T> fieldGenerator, object value)
        {
            if (HasEnumerableValues(fieldGenerator))
            {
                return(GetEnumerableValues(fieldGenerator).Contains(value));
            }

            var val = fieldGenerator.GetValue();

            if (val == null)
            {
                return(value == null);
            }

            if (HasMultipleEnumValues(fieldGenerator))
            {
                return((Convert.ToInt64(fieldGenerator.GetValue()) & Convert.ToInt64(value)) != 0);
            }

            return(val.Equals(value));
        }
Exemple #2
0
 protected IEnumerable <object> GetValues()
 {
     return((((IEnumerable)FieldGenerator.GetValue()) ?? new object[] {}).Cast <object>());
 }
 /// <summary>
 /// Returns the enumerated values of a field that is an <see cref="IEnumerable{T}"/>.
 /// </summary>
 /// <param name="fieldGenerator">The field generator wrapping the field</param>
 /// <returns>The enumerated values of the field</returns>
 public static IEnumerable <object> GetEnumerableValues <TModel, T>(this IFieldGenerator <TModel, T> fieldGenerator)
 {
     return((((IEnumerable)fieldGenerator.GetValue()) ?? new object[] { }).Cast <object>());
 }