private void rptListeArticle_Load(object sender, EventArgs e) { try { ListeArticle rpt = new ListeArticle(); SqlCommand cmd = new SqlCommand(@"SELECT Article.designation AS Article, Article.pu, categorie_Article.designation FROM Article INNER JOIN categorie_Article ON Article.id_categorie = categorie_Article.id", Factory.Instance.connectDB()); SqlDataAdapter sa = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); sa.Fill(ds, "doc"); rpt.SetDataSource(ds.Tables["doc"]); rptListeArt.ReportSource = rpt; rptListeArt.Refresh(); sa.Dispose(); ds.Dispose(); cmd.Dispose(); } catch (Exception exc) { MessageBox.Show(exc.Message, "Erreur de l'afichage du rapport", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
public async Task<ActionResult<IEnumerable<Article>>> GetArticletesting(int nbPage, string chainetest, int idTag) //="" have by default { string sortorder = chainetest.Substring(0, 4); //ordre de sorting string searchString = chainetest.Substring(4); //recherche int nbPerPage = NB_PER_PAGE; List<Article> ListeArticle; List<Article> rowArticles; if (searchString.Length > 0) { //*************ARTICLES+RECHERCHE //check si un tag est setté if (idTag != 0) { ListeArticle = await _context.Article .Where(d => d.IsactiveArticle == true) .Where(s => s.TitreArticle.Contains(searchString)) .Include(p => p.IdNavigation) .Include(p => p.Referencer) .Where(p => p.Referencer.Any(x => x.IdTag == idTag)) .ToListAsync(); } else { ListeArticle = await _context.Article.Where(d => d.IsactiveArticle == true).Where(s => s.TitreArticle.Contains(searchString)).Include(p => p.IdNavigation).ToListAsync(); } //*************ARTICLES+RECHERCHE } else { //*************ARTICLES if (idTag != 0) { ListeArticle = await _context.Article .Where(d => d.IsactiveArticle == true) .Include(p => p.IdNavigation) .Include(p => p.Referencer) .Where(p => p.Referencer.Any(x => x.IdTag == idTag)) .ToListAsync(); } else { ListeArticle = await _context.Article.Where(d => d.IsactiveArticle == true).Include(p => p.IdNavigation).ToListAsync(); } //*************ARTICLES } //*************SORTAGE IEnumerable<Article> intermediateListeArticle = ListeArticle; switch (sortorder) { case "ztoa": intermediateListeArticle = intermediateListeArticle.OrderByDescending(s => s.TitreArticle); break; case "atoz": intermediateListeArticle = intermediateListeArticle.OrderBy(s => s.TitreArticle); break; case "desc": intermediateListeArticle = intermediateListeArticle.OrderByDescending(s => s.DatepublicationArticle); break; case "dasc": intermediateListeArticle = intermediateListeArticle.OrderBy(s => s.DatepublicationArticle); break; default: intermediateListeArticle = intermediateListeArticle.OrderBy(s => s.TitreArticle); break; } ListeArticle = intermediateListeArticle.ToList(); //*************SORTAGE //*************PAGINATION if (nbPage > GetPageNbTotalBySearch(ListeArticle)) { nbPage = GetPageNbTotalBySearch(ListeArticle); } if (nbPage < 1) { nbPage = 1; } if (nbPage * nbPerPage > GetArticleNbTotalBySearch(ListeArticle)) { nbPerPage -= nbPage * nbPerPage - GetArticleNbTotalBySearch(ListeArticle); } rowArticles = ListeArticle.GetRange((nbPage - 1) * nbPerPage, nbPerPage); //*************PAGINATION return rowArticles; }