private object ConvertToClrObject(IEdmPrimitiveValue edmPrimitiveValue)
        {
            IEdmIntegerValue integralValue = edmPrimitiveValue as IEdmIntegerValue;

            if (integralValue != null)
            {
                return(integralValue.Value);
            }

            throw new NotSupportedException("This method supports only integral types.");
        }
Exemple #2
0
        /// <summary>
        /// Converts an integer edm value to a clr value.
        /// </summary>
        /// <param name="integerValue">The integer value.</param>
        /// <param name="primitiveKind">Kind of the primitive.</param>
        /// <returns>The converted value</returns>
        private static object ConvertIntegerValue(IEdmIntegerValue integerValue, EdmPrimitiveTypeKind primitiveKind)
        {
            Debug.Assert(integerValue != null, "integerValue != null");
            long longValue = integerValue.Value;

            switch (primitiveKind)
            {
            case EdmPrimitiveTypeKind.Int16:
                return(Convert.ToInt16(longValue));

            case EdmPrimitiveTypeKind.Int32:
                return(Convert.ToInt32(longValue));

            case EdmPrimitiveTypeKind.Byte:
                return(Convert.ToByte(longValue));

            case EdmPrimitiveTypeKind.SByte:
                return(Convert.ToSByte(longValue));

            default:
                Debug.Assert(primitiveKind == EdmPrimitiveTypeKind.Int64, "primitiveKind == EdmPrimitiveTypeKind.Int64");
                return(longValue);
            }
        }
        /// <summary>
        /// Converts an integer edm value to a clr value.
        /// </summary>
        /// <param name="integerValue">The integer value.</param>
        /// <param name="primitiveKind">Kind of the primitive.</param>
        /// <returns>The converted value</returns>
        private static object ConvertIntegerValue(IEdmIntegerValue integerValue, EdmPrimitiveTypeKind primitiveKind)
        {
            Debug.Assert(integerValue != null, "integerValue != null");
            long longValue = integerValue.Value;

            switch (primitiveKind)
            {
                case EdmPrimitiveTypeKind.Int16:
                    return Convert.ToInt16(longValue);

                case EdmPrimitiveTypeKind.Int32:
                    return Convert.ToInt32(longValue);

                case EdmPrimitiveTypeKind.Byte:
                    return Convert.ToByte(longValue);

                case EdmPrimitiveTypeKind.SByte:
                    return Convert.ToSByte(longValue);

                default:
                    Debug.Assert(primitiveKind == EdmPrimitiveTypeKind.Int64, "primitiveKind == EdmPrimitiveTypeKind.Int64");
                    return longValue;
            }
        }