Example #1
0
        public List <T> GetAllByQuery <T>(IBussinessContext context, IQuery query) where T : class, new()
        {
            dbHelper.CheckKey <T>();
            using (MySqlDataAdapter adapter = dbHelper.CreateAdapter(context.Connection as MySqlConnection, dbHelper.Model2SQL <T>(query)))
            {
                DataTable table = new DataTable();
                adapter.Fill(table);
                IList <T> models = ModelConvertHelper <T> .ConvertToModel(table);

                return(models.ToList());
            }
        }
Example #2
0
        public List <T> GetAllByQuery <T>(IQuery query, IOrder order) where T : class, new()
        {
            dbHelper.CheckKey <T>();
            CheckConnectionOpen();
            using (MySqlDataAdapter adapter = dbHelper.CreateAdapter(connection, dbHelper.Model2SQL <T>(query, order)))
            {
                DataTable table = new DataTable();
                adapter.Fill(table);
                IList <T> models = ModelConvertHelper <T> .ConvertToModel(table);

                return(models.ToList());
            }
        }
Example #3
0
        public T Get <T>(IBussinessContext context, object id) where T : class, new()
        {
            dbHelper.CheckKey <T>();
            using (MySqlDataAdapter adapter = dbHelper.CreateAdapter(context.Connection as MySqlConnection, dbHelper.Model2SQL <T>(Model2Db.Query, id)))
            {
                DataTable table = new DataTable();
                adapter.Fill(table);
                IList <T> models = ModelConvertHelper <T> .ConvertToModel(table);

                if (models.Any())
                {
                    return(models.First());
                }
            }
            return(default(T));
        }
Example #4
0
        public IPager <T> GetPagesByQuery <T>(int pageIndex, int pageSize, IQuery query, IOrder order) where T : class, new()
        {
            dbHelper.CheckKey <T>();
            CheckConnectionOpen();
            DataPager <T> pager = new DataPager <T>();

            using (MySqlCommand command = dbHelper.CreateCommand(connection, dbHelper.Model2SQL <T>(Model2Db.Count, query)))
            {
                pager.Total     = Convert.ToInt32(command.ExecuteScalar());
                pager.TotalPage = pager.Total / pageSize;
                pager.PageNum   = pageSize;
                if (pageIndex <= 0)
                {
                    pager.CurrentPage = 1;
                }
                else if (pageIndex >= pager.TotalPage)
                {
                    pager.CurrentPage = pager.TotalPage;
                }
                else
                {
                    pager.CurrentPage = pageIndex;
                }
            }

            using (MySqlDataAdapter adapter = dbHelper.CreateAdapter(connection, dbHelper.Model2SQL <T>(pager, query, order)))
            {
                DataTable table = new DataTable();
                adapter.Fill(table);
                IList <T> models = ModelConvertHelper <T> .ConvertToModel(table);

                pager.Data = models.ToList();
            }

            return(pager);
        }