/// <summary>
        /// Возвращает список программ для отображения
        /// </summary>
        /// <returns></returns>
        public PaginationApi GetProgramsList(PaginationUI pagination)
        {
            var query =
                from el in _context.NnmclubItems
                join post in _context.SoftPosts on el.Id equals post.NnmclubItemId
                where el.Actual == true
                orderby el.Created descending
                select new ListItem
            {
                Created       = el.Created,
                Name          = el.Name,
                NnmClubItemId = el.Id
            };
            IList <ListItem> lst = query
                                   .Page(pagination.CurrentPage, pagination.CountItem)
                                   .ToList();

            var result = new PaginationApi
            {
                List    = lst,
                MaxPage = query.PageCount(pagination.CountItem)
            };

            return(result);
        }
示例#2
0
        async void GetList(int currentPage)
        {
            var pagination = new PaginationUI
            {
                CountItem   = 50,
                CurrentPage = currentPage
            };
            string json    = JsonConvert.SerializeObject(pagination);
            var    content = new StringContent(json, Encoding.UTF8, "application/json");
            var    result  = await HttpClient.PostAsync("https://localhost:44334/UIContent/GetPrograms", content);

            if (result.IsSuccessStatusCode)
            {
                var contents = await result.Content.ReadAsStringAsync();

                PaginationApi resultType = JsonConvert.DeserializeObject <PaginationApi>(contents);
                _programsList = resultType.List;
                _maxPage      = resultType.MaxPage;
                StateHasChanged();
            }
            else
            {
                _programsList = new List <ListItem>();
            }
        }
        public ActionResult <PaginationApi> GetPrograms(PaginationUI pagination)
        {
            if (pagination.CountItem < 1 || pagination.CurrentPage < 1)
            {
                pagination.CurrentPage = 1;
                pagination.CountItem   = 50;
            }
            PaginationApi result = _contentService.GetProgramsList(pagination);

            return(Ok(result));
        }