using System; using System.Data; namespace SDA.DataProvider.Core { public abstract class SDADataReaderWrapper : IDataReader { protected abstract IDataReader WrappedDataReader { get; } #region IDisposable Members protected abstract void Dispose(bool disposing); public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } #endregion #region IDataReader Members public int Depth { get { return WrappedDataReader.Depth; } } public bool IsClosed { get { return WrappedDataReader.IsClosed; } } public int RecordsAffected { get { return WrappedDataReader.RecordsAffected; } } public abstract void Close(); public abstract DataTable GetSchemaTable(); public abstract bool NextResult(); public abstract bool Read(); #endregion #region IDataRecord Members public abstract int FieldCount { get; } public abstract object this[string name] { get; } public abstract object this[int index] { get; } public abstract bool GetBoolean(int index); public abstract byte GetByte(int index); public long GetBytes(int i, long fieldOffset, byte[] buffer, int bufferoffset, int length) { throw new NotImplementedException(); } public abstract char GetChar(int index); public long GetChars(int i, long fieldoffset, char[] buffer, int bufferoffset, int length) { throw new NotImplementedException(); } public IDataReader GetData(int i) { throw new NotImplementedException(); } public string GetDataTypeName(int i) { throw new NotImplementedException(); } public abstract DateTime GetDateTime(int index); public abstract decimal GetDecimal(int index); public abstract double GetDouble(int index); public Type GetFieldType(int i) { throw new NotImplementedException(); } public float GetFloat(int i) { throw new NotImplementedException(); } public abstract short GetInt16(int index); public abstract int GetInt32(int index); public abstract long GetInt64(int index); public string GetName(int i) { throw new NotImplementedException(); } public abstract Guid GetGuid(int i); public abstract int GetOrdinal(string filedname); public abstract string GetString(int index); public abstract object GetValue(int index); public abstract int GetValues(object[] values); public abstract bool IsDBNull(int index); public abstract string GetLongString(int index); #endregion } }