Example #1
0
        public static void DataRowToObject <T>(DataRow row, DataModel mapping, T graph, DataToObjectDeligations dod)
        {
            ExceptionHelper.FalseThrow <ArgumentNullException>(row != null, "row");
            ExceptionHelper.FalseThrow <ArgumentNullException>(mapping != null, "items");
            ExceptionHelper.FalseThrow <ArgumentNullException>(graph != null, "graph");
            ExceptionHelper.FalseThrow <ArgumentNullException>(row.Table != null, "row.Table");

            foreach (DataColumn column in row.Table.Columns)
            {
                if (mapping.Properties.Contains(column.ColumnName))
                {
                    DataProperty property = mapping.Properties[column.ColumnName];
                    System.Type  realType = GetRealType(property.MemberInfo);
                    object       data     = row[column];
                    if (Convertible(realType, data))
                    {
                        SetValueToObject(property, graph, ConvertData(property, data));
                    }
                }
            }
        }
Example #2
0
 private static void DoSelectSqlClauseBuilder(SelectSqlClauseBuilder builder, DataProperty property)
 {
     builder.AppendItem(property.FieldName);
 }
Example #3
0
 private static void SetValueToObject(DataProperty property, object graph, object data)
 {
     SetMemberValue(property.MemberInfo, graph, data);
 }
Example #4
0
        private static void DoInsertUpdateSqlClauseBuilder <T>(SqlClauseBuilderIUW builder, DataProperty property, T graph)
        {
            object data = GetPropertyValue(property, graph);

            if (data == null || data == DBNull.Value || data.Equals(TypeCreator.GetTypeDefaultValue(data.GetType())))
            {
                if (string.IsNullOrWhiteSpace(property.DefaultValue))
                {
                    data = DBNull.Value;
                }
                else
                {
                    builder.AppendItem(property.FieldName, property.DefaultValue, SqlClauseBuilderBase.EqualTo, true);
                }
            }
            else
            {
                builder.AppendItem(property.FieldName, data);
            }
        }
Example #5
0
        private static void DoWhereSqlClauseBuilderByPrimaryKey <T>(SqlClauseBuilderIUW builder, DataProperty item, T graph)
        {
            if (item.Primary)
            {
                object data = GetPropertyValue(item, graph);

                if ((data == null || data == DBNull.Value))
                {
                    builder.AppendItem(item.FieldName, data, SqlClauseBuilderBase.Is);
                }
                else
                {
                    builder.AppendItem(item.FieldName, data);
                }
            }
        }