예제 #1
0
        /// <summary>
        /// Define o tipo de dado do campo.
        /// </summary>
        /// <param name="field">O campo a ser modificado.</param>
        /// <param name="dataType">A categoria do campo.</param>
        /// <returns>A própria instância do campo modificado.</returns>
        public static Field SetType(this Field field, Type fieldType)
        {
            var dataType = DataTypeNames.FromType(fieldType);

            field.Type = FieldTypeNames.FromDataType(dataType);
            return(field);
        }
예제 #2
0
        /// <summary>
        /// Adiciona informações sobre um campo.
        /// </summary>
        /// <param name="entity">A entidade modificada.</param>
        /// <param name="typeOrInstance">Um tipo ou instância para inferência dos campos.</param>
        /// <returns>A própria entidade modificada.</returns>
        public static Entity AddRowHeadersFrom(this Entity entity, object typeOrInstance, Action <HeaderBuilder> builder = null)
        {
            var properties = Property.UnwrapPropertyInfo(typeOrInstance);

            foreach (var property in properties)
            {
                HeaderUtil.AddHeaderToEntity(
                    entity
                    , HeaderNamesProperty
                    , property.Name
                    , property.Title
                    , DataTypeNames.GetDataTypeName(property.Type)
                    , RelNames.Row
                    , builder
                    );
            }
            return(entity);
        }
예제 #3
0
        public static string MakeDataType(MemberInfo member)
        {
            Type type;

            if (member is Type)
            {
                type = (Type)member;
            }
            else if (member is FieldInfo field)
            {
                type = field.FieldType;
            }
            else if (member is PropertyInfo property)
            {
                type = property.PropertyType;
            }
            else
            {
                return(null);
            }
            return(DataTypeNames.FromType(type) ?? DataTypeNames.String);
        }
예제 #4
0
        /// <summary>
        /// Adiciona informações sobre um campo.
        /// </summary>
        /// <param name="entity">A entidade modificada.</param>
        /// <param name="typeOrInstance">Um tipo ou instância para inferência dos campos.</param>
        /// <returns>A própria entidade modificada.</returns>
        public static Entity AddDataHeadersFrom(this Entity entity, object typeOrInstance, Action <HeaderBuilder> builder = null, string[] select = null, string[] except = null)
        {
            var properties =
                from property in Property.UnwrapPropertyInfo(typeOrInstance)
                where @select == null || property.Name.EqualsAnyIgnoreCase(@select)
                where except == null || !property.Name.EqualsAnyIgnoreCase(except)
                select property;

            foreach (var property in properties)
            {
                HeaderUtil.AddHeaderToEntity(
                    entity
                    , HeaderNamesProperty
                    , property.Name
                    , property.Title
                    , DataTypeNames.GetDataTypeName(property.Type)
                    , RelNames.Data
                    , builder
                    );
            }
            return(entity);
        }
예제 #5
0
 public static string MakeDataType(DataColumn col)
 {
     return(DataTypeNames.FromType(col.DataType) ?? DataTypeNames.String);
 }
예제 #6
0
        public static string MakeDataType(ParameterInfo parameter)
        {
            var type = parameter.ParameterType;

            return(DataTypeNames.FromType(type) ?? DataTypeNames.String);
        }
예제 #7
0
 public static string MakeDataType(Type type)
 {
     return(DataTypeNames.FromType(type) ?? DataTypeNames.String);
 }
예제 #8
0
 public static String GET_FORMAT(DataTypeNames dateTypeName,
                                 [Literal] DateFormatType formatType)
 {
     throw new NotSupportedException();
 }