public PagedResponse <RatedDto> Execute(RatedQuery request) { var query = Context.Rateds.AsQueryable(); query = query.Where(r => r.IsDeleted == false); if (request.Name != null) { query = query.Where(r => r.Name.ToLower().Contains(request.Name.ToLower())); } var totalCount = query.Count(); query = query.Skip((request.PageNumber - 1) * request.PerPage).Take(request.PerPage); var pagesCount = (int)Math.Ceiling((double)totalCount / request.PerPage); return(new PagedResponse <RatedDto> { CurrentPage = request.PageNumber, PagesCount = pagesCount, TotalCount = totalCount, Data = query.Select(r => new RatedDto { Id = r.Id, Name = r.Name }) }); }
public IActionResult Get([FromQuery] RatedQuery query) { try { return(Ok(getRateds.Execute(query))); } catch (Exception e) { return(StatusCode(500, e)); } }
// GET: Rateds public ActionResult Index([FromQuery] RatedQuery query) { try { return(View(executor.ExecuteQuery(getRateds, query))); } catch (EntityNotAllowedException) { return(RedirectToAction("PageNotFound", "Redirections")); } catch (Exception e) { TempData["error"] = e.Message; } return(RedirectToAction("Home", "Index")); }