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);
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 4
0
 public IActionResult GetAll([FromQuery] AccountFilters filters)
 {
     return(Ok(AccountRepository.GetAll(filters).Select(a => MapAccountResponseFrom(a))));
 }