public DeptModel Get(
     Context context,
     SiteSettings ss,
     Sqls.TableTypes tableType    = Sqls.TableTypes.Normal,
     SqlColumnCollection column   = null,
     SqlJoinCollection join       = null,
     SqlWhereCollection where     = null,
     SqlOrderByCollection orderBy = null,
     SqlParamCollection param     = null,
     bool distinct = false,
     int top       = 0)
 {
     Set(context, ss, Rds.ExecuteTable(
             context: context,
             statements: Rds.SelectDepts(
                 tableType: tableType,
                 column: column ?? Rds.DeptsDefaultColumns(),
                 join: join ?? Rds.DeptsJoinDefault(),
                 where : where ?? Rds.DeptsWhereDefault(this),
                 orderBy: orderBy,
                 param: param,
                 distinct: distinct,
                 top: top)));
     return(this);
 }
        private EnumerableRowCollection <DataRow> Get(
            SqlColumnCollection column   = null,
            SqlJoinCollection join       = null,
            SqlWhereCollection where     = null,
            SqlOrderByCollection orderBy = null,
            SqlParamCollection param     = null,
            Sqls.TableTypes tableType    = Sqls.TableTypes.Normal,
            bool distinct    = false,
            int top          = 0,
            int offset       = 0,
            int pageSize     = 0,
            bool history     = false,
            bool countRecord = false,
            IEnumerable <Aggregation> aggregations = null)
        {
            var statements = new List <SqlStatement>
            {
                Rds.SelectDepts(
                    dataTableName: "Main",
                    column: column ?? Rds.DeptsDefaultColumns(),
                    join: join ?? Rds.DeptsJoinDefault(),
                    where : where,
                    orderBy: orderBy,
                    param: param,
                    tableType: tableType,
                    distinct: distinct,
                    top: top,
                    offset: offset,
                    pageSize: pageSize,
                    countRecord: countRecord)
            };

            if (aggregations != null)
            {
                statements.AddRange(Rds.DeptsAggregations(
                                        aggregations: aggregations,
                                        join: join ?? Rds.DeptsJoinDefault(),
                                        where : where));
            }
            var dataSet = Rds.ExecuteDataSet(
                transactional: false,
                statements: statements.ToArray());

            Aggregations.Set(dataSet, aggregations);
            return(dataSet.Tables["Main"].AsEnumerable());
        }
        private EnumerableRowCollection <DataRow> Get(
            Context context,
            SqlColumnCollection column   = null,
            SqlJoinCollection join       = null,
            SqlWhereCollection where     = null,
            SqlOrderByCollection orderBy = null,
            SqlParamCollection param     = null,
            Sqls.TableTypes tableType    = Sqls.TableTypes.Normal,
            bool distinct = false,
            int top       = 0,
            int offset    = 0,
            int pageSize  = 0)
        {
            var statements = new List <SqlStatement>
            {
                Rds.SelectDepts(
                    dataTableName: "Main",
                    column: column ?? Rds.DeptsDefaultColumns(),
                    join: join ?? Rds.DeptsJoinDefault(),
                    where : where,
                    orderBy: orderBy,
                    param: param,
                    tableType: tableType,
                    distinct: distinct,
                    top: top,
                    offset: offset,
                    pageSize: pageSize),
                Rds.SelectCount(
                    tableName: "Depts",
                    tableType: tableType,
                    join: join ?? Rds.DeptsJoinDefault(),
                    where : where)
            };
            var dataSet = Repository.ExecuteDataSet(
                context: context,
                transactional: false,
                statements: statements.ToArray());

            TotalCount = Rds.Count(dataSet);
            return(dataSet.Tables["Main"].AsEnumerable());
        }