Exemple #1
0
 private void ConvertColumnFromRow(DataRow row, EnumColumnList enumColumns)
 {
     if (enumColumns != null && enumColumns.Count > 0)
     {
         foreach (var entry in enumColumns)
         {
             Type enumType = entry.EnumType;
             if (!enumType.IsEnum)
             {
                 throw new ArgumentException("The type '" + enumType.AssemblyQualifiedName + "' is not enum.", "enumColumns");
             }
             int columnIndex = entry.ColumnIndex.HasValue ? entry.ColumnIndex.Value : row.Table.Columns.IndexOf(entry.ColumnName + "_ECCentral_Auto_Removed_820319");
             if (columnIndex < 0)
             {
                 continue;
             }
             if (row[columnIndex] == null || row[columnIndex] == DBNull.Value)
             {
                 row[entry.NewColumnIndex] = DBNull.Value;
                 continue;
             }
             object orignalData = row[columnIndex];
             if (orignalData == null || orignalData == DBNull.Value || orignalData.ToString().Trim().Length <= 0)
             {
                 row[entry.NewColumnIndex] = DBNull.Value;
             }
             row[entry.NewColumnIndex] = DataMapperHelper.ConvertIfEnum(orignalData, enumType);
         }
     }
 }
Exemple #2
0
        public void ConvertColumn(DataTable table, EnumColumnList enumColumns)
        {
            if (table == null || table.Rows == null || table.Rows.Count <= 0)
            {
                return;
            }
            if (enumColumns != null && enumColumns.Count > 0)
            {
                foreach (var entry in enumColumns)
                {
                    Type enumType = entry.EnumType;
                    if (!enumType.IsEnum)
                    {
                        throw new ArgumentException("The type '" + enumType.AssemblyQualifiedName + "' is not enum.", "enumColumns");
                    }
                    string columnName = entry.ColumnIndex.HasValue ? table.Columns[entry.ColumnIndex.Value].ColumnName : entry.ColumnName;
                    int    index      = table.Columns.IndexOf(columnName);
                    if (index >= 0)
                    {
                        table.Columns[index].ColumnName = (entry.NewColumnNameForOriginalValue != null && entry.NewColumnNameForOriginalValue.Trim().Length > 0) ?
                                                          entry.NewColumnNameForOriginalValue : (columnName + "_ECCentral_Auto_Removed_820319");
                        table.Columns.Add(columnName, enumType);
                        entry.ColumnIndex    = index;
                        entry.NewColumnIndex = table.Columns.Count - 1;
                    }
                }
            }

            foreach (DataRow row in table.Rows)
            {
                ConvertColumnFromRow(row, enumColumns);
            }
        }
Exemple #3
0
        public DataTable ExecuteDataTable(EnumColumnList enumColumns)
        {
            DataTable table = ExecuteDataTable();

            ConvertEnumColumn(table, enumColumns);
            return(table);
        }
Exemple #4
0
 public void ConvertEnumColumn(DataTable table, EnumColumnList enumColumns)
 {
     ConvertColumn(table, enumColumns);
 }