protected override object GetValue(int a, GDADataRecord b, Type c) { #if UNMANAGED var d = (global::Oracle.DataAccess.Client.OracleDataReader)b.BaseDataRecord; #elif DEVART var d = (Devart.Data.Oracle.OracleDataReader)b.BaseDataRecord; #else var d = (global::Oracle.ManagedDataAccess.Client.OracleDataReader)b.BaseDataRecord; #endif var e = a; var f = d.GetDataTypeName(e); if (f == "Date" && !d.IsDBNull(e)) { return(b.GetDateTime(e)); } else if ((f == "TimeStampTZ" || c == typeof(DateTime)) && !d.IsDBNull(e)) #if DEVART { return(d.GetOracleTimeStamp(e).ToDateTimeOffset()); } #else { return(d.GetOracleTimeStampTZ(e).ToDateTimeOffset()); } #endif return(b [e].GetValue()); }
/// <summary> /// Recupera valor do dataRecord. /// </summary> /// <param name="ordinal">Posição ordinal do campo que será recuperado.</param> /// <param name="fieldType">Tipo do campo.</param> /// <param name="dataRecord">Objeto dataRecord sobre qual será recuperado.</param> protected override object GetValue(int ordinal, GDADataRecord dataRecord, Type fieldType) { #if UNMANAGED var dataReader = (global::Oracle.DataAccess.Client.OracleDataReader)dataRecord.BaseDataRecord; #elif DEVART var dataReader = (Devart.Data.Oracle.OracleDataReader)dataRecord.BaseDataRecord; #else var dataReader = (global::Oracle.ManagedDataAccess.Client.OracleDataReader)dataRecord.BaseDataRecord; #endif var fieldIndex = ordinal; var dataType = dataReader.GetDataTypeName(fieldIndex); if (dataType == "Date" && !dataReader.IsDBNull(fieldIndex)) { return(dataRecord.GetDateTime(fieldIndex)); } else if ((dataType == "TimeStampTZ" || fieldType == typeof(DateTime)) && !dataReader.IsDBNull(fieldIndex)) #if DEVART { return(dataReader.GetOracleTimeStamp(fieldIndex).ToDateTimeOffset()); } #else { return(dataReader.GetOracleTimeStampTZ(fieldIndex).ToDateTimeOffset()); } #endif return(dataRecord[fieldIndex].GetValue()); }