public IActionResult Get(int page = 0, int pageSize = 50) { if (pageSize > 200 || pageSize <= 0) { pageSize = 50; } if (page > count / pageSize) { page = count / pageSize; } else if (page < 0) { page = 0; } List <TEntity> data = _repository.Get(page, pageSize, null) as List <TEntity>; List <Encapsulation> tmp = new List <Encapsulation>(); data.ForEach(e => { tmp.Add(new Encapsulation { Url = createUrl(e.Id), Data = e }); }); var result = new ListEncapsulation { Total = count, Pages = count / pageSize, Page = page, Prev = createUrl(null, page - 1, pageSize), Next = createUrl(null, page + 1, pageSize), Url = createUrl(null, page, pageSize), Data = tmp }; return(Ok(result)); }
public override IActionResult Get(int page = 0, int pageSize = 50, int byScore = 0) { if (pageSize > 200 || pageSize <= 0) { pageSize = 50; } if (page > count / pageSize) { page = count / pageSize; } else if (page < 0) { page = 0; } Task <List <Post> > data; if (byScore == 1) { data = _repository.Get(page, pageSize, (e) => e.OrderByDescending(f => f.score)) as Task <List <Post> >; } else { data = _repository.Get(page, pageSize, null) as Task <List <Post> >; } List <Encapsulation> tmp = new List <Encapsulation>(); data.Result.ForEach(e => { tmp.Add(new Encapsulation { Url = createUrl(e.Id), Data = e }); }); var result = new ListEncapsulation { Total = count, Pages = count / pageSize, Page = page, Prev = createUrl(null, page - 1, pageSize), Next = createUrl(null, page + 1, pageSize), Url = createUrl(null, page, pageSize), Data = tmp }; return(Ok(result)); }
public IActionResult GetAnswersForPost(int parentId, int page = 0, int pageSize = 50) { int count = this._dataService.GetPostRepository().GetNumberAnswerToPost(parentId).Result; if (pageSize > 200 || pageSize <= 0) { pageSize = 50; } if (page > count / pageSize) { page = count / pageSize; } else if (page < 0) { page = 0; } List <int> data = _dataService.GetPostRepository().GetAnswersToPost(parentId, page, pageSize).Result; List <Encapsulation> tmp = new List <Encapsulation>(); data.ForEach(e => { tmp.Add(new Encapsulation { Url = "", Data = new Post { Id = e } }); }); var result = new ListEncapsulation { Total = count, Pages = count / pageSize, Page = page, Prev = makeURL(null, page - 1, pageSize, "parentId/" + parentId.ToString(), count), Next = makeURL(null, page + 1, pageSize, "parentId/" + parentId.ToString(), count), Url = makeURL(null, page, pageSize, "parentId/" + parentId.ToString(), count), Data = tmp }; return(Ok(result)); }
public IActionResult SearchInPosts(string query = "", int page = 0, int pageSize = 50) { var data = _dataService.GetProcedures().SearchInPosts(query); if (pageSize > 200 || pageSize <= 0) { pageSize = 50; } if (page > data.Count / pageSize) { page = data.Count / pageSize; } else if (page < 0) { page = 0; } List <Encapsulation> tmp = data .Skip(page * pageSize) .Take(pageSize) .Select(e => new Encapsulation { Url = "", Data = new Post { Id = e } }) .ToList(); var result = new ListEncapsulation { Total = data.Count, Pages = data.Count / pageSize, Page = page, Prev = makeURL(null, page - 1, pageSize, $"searchInPosts/{query}", data.Count), Next = makeURL(null, page + 1, pageSize, $"searchInPosts/{query}", data.Count), Url = makeURL(null, page, pageSize, $"searchInPosts/{query}", data.Count), Data = tmp }; return(Ok(result)); }
public override IActionResult Get(int page = 0, int pageSize = 50, int order = 0) { if (pageSize > 200 || pageSize <= 0) { pageSize = 50; } if (page > count / pageSize) { page = count / pageSize; } else if (page < 0) { page = 0; } Task <List <QueryHistory> > data = _repository.Get(page, pageSize, e => e.OrderBy(f => f.CreationDate)) as Task <List <QueryHistory> >; List <Encapsulation> tmp = new List <Encapsulation>(); data.Result.ForEach(e => { tmp.Add(new Encapsulation { Url = createUrl(e.Id), Data = e }); }); var result = new ListEncapsulation { Total = count, Pages = count / pageSize, Page = page, Prev = createUrl(null, page - 1, pageSize), Next = createUrl(null, page + 1, pageSize), Url = createUrl(null, page, pageSize), Data = tmp }; return(Ok(result)); }