Business Logic Toolkit for .NET
www.bltoolkit.net
|  Home   |  Download   |  Documentation   |  Discussions   |  License   |

  Source.Mapping.IMapDataSource.cs

 
using System;
using System.Data.SqlTypes;

namespace BLToolkit.Mapping
{
    [CLSCompliant(false)]
    public interface IMapDataSource
    {
        int      Count { get; }

        Type     GetFieldType (int index);
        string   GetName      (int index);
        int      GetOrdinal   (string name);
        object   GetValue     (object o, int index);
        object   GetValue     (object o, string name);

        bool     IsNull       (object o, int index);

        bool     SupportsTypedValues(int index);

        // Simple type getters.
        //
        [CLSCompliant(false)]
        SByte    GetSByte     (object o, int index);
        Int16    GetInt16     (object o, int index);
        Int32    GetInt32     (object o, int index);
        Int64    GetInt64     (object o, int index);

        Byte     GetByte      (object o, int index);
        [CLSCompliant(false)]
        UInt16   GetUInt16    (object o, int index);
        [CLSCompliant(false)]
        UInt32   GetUInt32    (object o, int index);
        [CLSCompliant(false)]
        UInt64   GetUInt64    (object o, int index);

        Boolean  GetBoolean   (object o, int index);
        Char     GetChar      (object o, int index);
        Single   GetSingle    (object o, int index);
        Double   GetDouble    (object o, int index);
        Decimal  GetDecimal   (object o, int index);
        DateTime GetDateTime  (object o, int index);
#if FW3
        DateTimeOffset GetDateTimeOffset(object o, int index);
#endif
        Guid     GetGuid      (object o, int index);

        // Simple type getters.
        //
        [CLSCompliant(false)]
        SByte?    GetNullableSByte   (object o, int index);
        Int16?    GetNullableInt16   (object o, int index);
        Int32?    GetNullableInt32   (object o, int index);
        Int64?    GetNullableInt64   (object o, int index);

        Byte?     GetNullableByte    (object o, int index);
        [CLSCompliant(false)]
        UInt16?   GetNullableUInt16  (object o, int index);
        [CLSCompliant(false)]
        UInt32?   GetNullableUInt32  (object o, int index);
        [CLSCompliant(false)]
        UInt64?   GetNullableUInt64  (object o, int index);

        Boolean?  GetNullableBoolean (object o, int index);
        Char?     GetNullableChar    (object o, int index);
        Single?   GetNullableSingle  (object o, int index);
        Double?   GetNullableDouble  (object o, int index);
        Decimal?  GetNullableDecimal (object o, int index);
        DateTime? GetNullableDateTime(object o, int index);
#if FW3
        DateTimeOffset? GetNullableDateTimeOffset(object o, int index);
#endif
        Guid?     GetNullableGuid    (object o, int index);

        // SQL type getters.
        //
        SqlByte     GetSqlByte     (object o, int index);
        SqlInt16    GetSqlInt16    (object o, int index);
        SqlInt32    GetSqlInt32    (object o, int index);
        SqlInt64    GetSqlInt64    (object o, int index);
        SqlSingle   GetSqlSingle   (object o, int index);
        SqlBoolean  GetSqlBoolean  (object o, int index);
        SqlDouble   GetSqlDouble   (object o, int index);
        SqlDateTime GetSqlDateTime (object o, int index);
        SqlDecimal  GetSqlDecimal  (object o, int index);
        SqlMoney    GetSqlMoney    (object o, int index);
        SqlGuid     GetSqlGuid     (object o, int index);
        SqlString   GetSqlString   (object o, int index);
    }
}
 
© 2010 www.bltoolkit.net
support@bltoolkit.net