protected override object GetPropertyValue(object obj, string name, Table table, Row row)
 {
     DataRow dataRow = (DataRow)obj;
     if (dataRow.IsNull(name))
     {
         return null;
     }
     return dataRow[name];
 }
 protected override object GetPropertyValue(object obj, string name, Table table, Row row)
 {
     IDictionary dictionary = (IDictionary)obj;
     if (!dictionary.Contains(name))
     {
         return null;
     }
     return dictionary[name];
 }
Beispiel #3
0
 public PropertyInfo GetPropertyInfo(string columnName, Type type, Table table, Row row)
 {
     try
     {
         return this[type][columnName];
     }
     catch (Exception e)
     {
         throw new ConfigException(e, "M_Fixture_Temp_ObjectFactory_NoSuchProperty", columnName, type, table, row);
     }
 }
Beispiel #4
0
 /// <summary>
 /// 行データを追加する。
 /// </summary>
 /// <param name="index">行番号</param>
 /// <param name="deleted">削除指定行かどうか</param>
 /// <returns>追加した行データ</returns>
 public Row AddRow(int index, bool deleted)
 {
     Row row = new Row(index, deleted);
     rows.Add(row);
     return row;
 }
Beispiel #5
0
        // FIXME : この処理は本当は DataTableValidator でやるべき
        private DataRow SelectResultRow(DataTable result, DataRow keyRow, Table tableInfo, Row rowInfo, List<string> keyColumns)
        {
            int rowCount = result.Rows.Count;
            if (rowInfo.Deleted)
            {
                if (rowCount == 0)
                {
                    return null;
                }
                else
                {
                    Assertie.Fail("M_Fixture_Temp_DatabaseValidator_UnexpectedData", result.TableName, tableInfo, rowInfo, ToString(keyColumns, keyRow));
                }
            }

            if (rowCount == 0)
            {
                string message = (keyColumns.Count == result.Columns.Count) ?
                    "M_Fixture_Temp_DatabaseValidator_NotFound_With_Comment" :
                    "M_Fixture_Temp_DatabaseValidator_NotFound";
                Assertie.Fail(message, result.TableName, tableInfo, rowInfo, ToString(keyColumns, keyRow));
            }

            if (rowCount > 1)
            {
                Assertie.Fail("M_Fixture_Temp_DatabaseValidator_OneMoreData", result.TableName, tableInfo, rowInfo, ToString(keyColumns, keyRow));
            }

            return result.Rows[0];
        }
Beispiel #6
0
 private void Select(DbCommand command, List<string> keyColumns, DataTable keyTable, DataRow keyRow, DataTable resultTable, Table tableInfo, Row rowInfo, string queryPrefix)
 {
     SetQueryString(keyTable, keyRow, command, queryPrefix, keyColumns);
     DataTable result = ExecuteQuery(command);
     result.TableName = keyTable.TableName;
     DataRow source = SelectResultRow(result, keyRow, tableInfo, rowInfo, keyColumns);
     if (resultTable.Columns.Count == 0 && source != null)
     {
         foreach(DataColumn column in source.Table.Columns)
         {
             resultTable.Columns.Add(new DataColumn(column.ColumnName, column.DataType));
         }
     }
     DataRow destination = resultTable.NewRow();
     Copy(source, destination);
     resultTable.Rows.Add(destination);
 }
Beispiel #7
0
 private void InsertRow(DataTable table, DbCommand command, DataRow row, Table tableInfo, Row rowInfo)
 {
     try
     {
         command.Parameters.Clear();
         foreach (DataColumn column in table.Columns)
         {
             AddParameter(command, column.ColumnName, column.DataType, row[column]);
         }
         ExecuteNonQuery(command);
     }
     catch (Exception e)
     {
         throw new ConfigException(e, "M_Fixture_Temp_Database_InsertRow", table.TableName, tableInfo, rowInfo);
     }
 }
Beispiel #8
0
 private void Delete(DataTable table, DataRow row, Table tableInfo, Row rowInfo)
 {
     try
     {
         DbCommand command = connection.CreateCommand();
         String queryPrefix = "delete from " + table.TableName + " where ";
         List<string> columnNames = new List<string>();
         foreach (DataColumn column in table.Columns)
         {
             columnNames.Add(column.ColumnName);
         }
         SetQueryString(table, row, command, queryPrefix, columnNames);
         ExecuteNonQuery(command);
     }
     catch (Exception e)
     {
         throw new ConfigException(e, "M_Fixture_Temp_Database_DeleteRow", table.TableName, tableInfo, rowInfo);
     }
 }