public PagedResponse <WriterDto> Execute(WriterQuery request) { var query = Context.Writers.AsQueryable(); query = query.Where(w => w.IsDeleted == false); if (request.Name != null) { query = query.Where(w => w.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 <WriterDto> { CurrentPage = request.PageNumber, PagesCount = pagesCount, TotalCount = totalCount, Data = query.Select(w => new WriterDto { Id = w.Id, Name = w.Name }) }); }
// GET: Writers public ActionResult Index([FromQuery] WriterQuery query) { try { return(View(executor.ExecuteQuery(getWriters, query))); } catch (EntityNotAllowedException) { return(RedirectToAction("PageNotFound", "Redirections")); } catch (Exception e) { TempData["error"] = e.Message; } return(RedirectToAction("Home", "Index")); }
public IActionResult Get([FromQuery] WriterQuery query) { try { return(Ok(getWriters.Execute(query))); } catch (Exception e) { return(StatusCode(500, new { Errors = new List <string> { e.Message } })); } }