Ejemplo n.º 1
0
        public async Task <PagedList <MemeVM> > GetPagedUsersFavourites(int page, int itemsPerPage, System.Security.Claims.ClaimsPrincipal user)
        {
            string userId   = user.Claims.First(c => c.Type == "UserID").Value;
            var    MemeList = await _favouriteService.GetUsersFavourites(userId);

            List <MemeVM> listVM  = new List <MemeVM>();
            var           resList = new PagedList <MemeVM>();

            foreach (var m in MemeList)
            {
                listVM.Add(await MapMemeVM(m, user));
            }

            //available pages
            resList.PageCount = (int)Math.Ceiling(((double)listVM.Count() / itemsPerPage));

            listVM = listVM.Skip((page - 1) * itemsPerPage).Take(itemsPerPage).ToList();

            resList.ItemsPerPage = itemsPerPage;
            resList.Page         = page;
            resList.TotalItems   = listVM.Count();
            resList.Items        = listVM;
            return(resList);
        }