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()); } }
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()); } }
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)); }
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); }