/// <summary>
        /// Instantiate a strongly-typed Table Wrapper around the given generic Table.
        /// </summary>
        /// <param name="table">The table to build the wrapper for.</param>
        internal Table(Table table)
        {
            // Validate column count.
            if (table.ColumnCount != 24)
            {
                throw new VoltInvalidDataException(Resources.InvalidColumnCount, table.ColumnCount);
            }

            // Validate column data types.
            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(0)) == (typeof(T1))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(0)).ToString()
                          , typeof(T1).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(1)) == (typeof(T2))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(1)).ToString()
                          , typeof(T2).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(2)) == (typeof(T3))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(2)).ToString()
                          , typeof(T3).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(3)) == (typeof(T4))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(3)).ToString()
                          , typeof(T4).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(4)) == (typeof(T5))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(4)).ToString()
                          , typeof(T5).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(5)) == (typeof(T6))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(5)).ToString()
                          , typeof(T6).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(6)) == (typeof(T7))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(6)).ToString()
                          , typeof(T7).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(7)) == (typeof(T8))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(7)).ToString()
                          , typeof(T8).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(8)) == (typeof(T9))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(8)).ToString()
                          , typeof(T9).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(9)) == (typeof(T10))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(9)).ToString()
                          , typeof(T10).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(10)) == (typeof(T11))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(10)).ToString()
                          , typeof(T11).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(11)) == (typeof(T12))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(11)).ToString()
                          , typeof(T12).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(12)) == (typeof(T13))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(12)).ToString()
                          , typeof(T13).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(13)) == (typeof(T14))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(13)).ToString()
                          , typeof(T14).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(14)) == (typeof(T15))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(14)).ToString()
                          , typeof(T15).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(15)) == (typeof(T16))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(15)).ToString()
                          , typeof(T16).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(16)) == (typeof(T17))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(16)).ToString()
                          , typeof(T17).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(17)) == (typeof(T18))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(17)).ToString()
                          , typeof(T18).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(18)) == (typeof(T19))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(18)).ToString()
                          , typeof(T19).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(19)) == (typeof(T20))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(19)).ToString()
                          , typeof(T20).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(20)) == (typeof(T21))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(20)).ToString()
                          , typeof(T21).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(21)) == (typeof(T22))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(21)).ToString()
                          , typeof(T22).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(22)) == (typeof(T23))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(22)).ToString()
                          , typeof(T23).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(23)) == (typeof(T24))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(23)).ToString()
                          , typeof(T24).ToString()
                          );
            }

            // Validation complete, keep a reference to the raw table.
            this.RawTable = table;

            // Attach the enumerable row collection.
            this._Rows = new RowCollection <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24>(this);
        }
Esempio n. 2
0
        /// <summary>
        /// Instantiate a strongly-typed Table Wrapper around the given generic Table.
        /// </summary>
        /// <param name="table">The table to build the wrapper for.</param>
        internal Table(Table table)
        {
            // Validate column count.
            if (table.ColumnCount != 6)
            {
                throw new VoltInvalidDataException(Resources.InvalidColumnCount, table.ColumnCount);
            }

            // Validate column data types.
            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(0)) == (typeof(T1))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(0)).ToString()
                          , typeof(T1).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(1)) == (typeof(T2))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(1)).ToString()
                          , typeof(T2).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(2)) == (typeof(T3))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(2)).ToString()
                          , typeof(T3).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(3)) == (typeof(T4))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(3)).ToString()
                          , typeof(T4).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(4)) == (typeof(T5))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(4)).ToString()
                          , typeof(T5).ToString()
                          );
            }

            if (!(VoltType.ToDefaultNetType(table.GetColumnDBType(5)) == (typeof(T6))))
            {
                throw new VoltInvalidCastException(
                          Resources.InvalidCastException
                          , VoltType.ToDefaultNetType(table.GetColumnDBType(5)).ToString()
                          , typeof(T6).ToString()
                          );
            }

            // Validation complete, keep a reference to the raw table.
            this.RawTable = table;

            // Attach the enumerable row collection.
            this._Rows = new RowCollection <T1, T2, T3, T4, T5, T6>(this);
        }