public IQueryable <Account> Search(IQueryable <Account> query, AccountFilters filters) { if (!string.IsNullOrWhiteSpace(filters.Name)) { query = query.Where(o => o.Name.Contains(filters.Name)); } return(query); }
public AccountFilters GetFilters() { var filters = new AccountFilters() { Page = Convert.ToInt32(HttpContext.Request.Query["page"]), Limit = Convert.ToInt32(HttpContext.Request.Query["limit"]), Name = HttpContext.Request.Query["name"], }; return(filters); }
public async Task <ResponseModel <AccountViewModel> > GetList(AccountFilters filters, SortCol sortCol, AccountViewModel current) { var query = _context.Account.Where(o => o.Id != 0 && o.CompanyId == current.CompanyId); query = Search(query, filters); query = Sort(query, sortCol); var vms = await query.Skip((filters.Page - 1) *filters.Limit).Take(filters.Limit) .ProjectTo <AccountViewModel>().ToListAsync(); ResponseModel <AccountViewModel> result = new ResponseModel <AccountViewModel>(); result.status = 0; result.message = ""; result.total = query.Count(); result.data = vms; return(result); }
public IActionResult GetAll([FromQuery] AccountFilters filters) { return(Ok(AccountRepository.GetAll(filters).Select(a => MapAccountResponseFrom(a)))); }