public IEnumerable <Project> GetProjects()
        {
            PagingParameterModel pagingParameterModel = new PagingParameterModel();
            //Retourne la liste des projets
            List <Project> lsprojects = objProject.FindAll();
            var            projets    = lsprojects.AsQueryable().OrderBy(x => x.Nom);
            //Obtenir le nombre de lignes
            int count = projets.Count();

            //Le paramétre a passé de la chaine de requete si elle est nulle alors la valeur par défaut de pageNumber sera : 1
            int CurrentPage = pagingParameterModel.pageNumber;
            //Le paramétre a passé de la chaine de requete si elle est nulle alors la valeur par défaut de pageSize sera : 3
            int PageSize = pagingParameterModel.pageSize;
            //Afficher la total aux enregistrements
            int TotalCunt = count;
            //Calcul du nombre total de page
            int TotalPages = (int)Math.Ceiling(count / (double)PageSize);
            //Retourne la liste des client aprés l'applicaiton de la pagination
            var item = projets.Skip((CurrentPage - 1) * PageSize).Take(PageSize).ToList();
            //Si CurrentPage est sup à 1 : cela signifie qu'il a previousPage
            var previousPage = CurrentPage < 1 ? "Oui" : "non";

            //Si TotalPages est sup à CurrentPage : cela signifie qu'il a nectPage
            var nextPage = CurrentPage < TotalPages ? "Oui" : "non";

            //Object que je vais envoyer en Header
            var paginationMetadata = new
            {
                totalCount  = TotalPages,
                currentPage = CurrentPage,
                totalPages  = TotalPages,
                previousPage,
                nextPage
            };

            // Definition du Header

            HttpContext.Response.Headers.Add("Paging-Headers", JsonConvert.SerializeObject(paginationMetadata));
            // Nouvelle liste
            return(item.OrderBy(x => x.Id));
        }
예제 #2
0
 public ActionResult <List <Project> > Index()
 {
     return(objProject.FindAll());
 }