public async Task <IEnumerable <FilteredUser> > SearchAsync(int residenitalId, string name) { var columnsToFilter = ColumnFilter.GetNames <UserEf>(x => x.Name, x => x.LastName, x => x.Email); var entities = await _repository.AsNoTracking() .Where(x => x.ResidentialId == residenitalId) .Contains(name, columnsToFilter).ToListAsync(); return(_mapper.Map <IEnumerable <FilteredUser> >(entities)); }
public async Task <PaginatedList <ExpenseCategory> > GetAllAsync(int residentialId, Parameter parameter) { var columnsToFilter = ColumnFilter.GetNames <ExpenseCategoryEf>(x => x.Name, x => x.Description); var query = _repository.AsNoTracking() .Where(x => x.ResidentialId == residentialId) .Contains(parameter.Filter, columnsToFilter).ApplySort(parameter.SortBy, parameter.IsSortDesc); var totalOfItems = await query.CountAsync(); var entities = await query.Take(parameter.Page, parameter.ItemsPerPage).ToListAsync(); var models = _mapper.Map <IEnumerable <ExpenseCategory> >(entities); return(new PaginatedList <ExpenseCategory>(models, totalOfItems)); }
public async Task <PaginatedList <User> > GetAllAsync(int residenitalId, Parameter parameter) { var columnsToFilter = ColumnFilter.GetNames <UserEf>(x => x.Name, x => x.LastName, x => x.Email); var query = _repository.AsNoTracking() .Where(x => x.ResidentialId == residenitalId) .Include(x => x.Residential).Include(x => x.UserRoles).ThenInclude(x => x.Role) .Contains(parameter.Filter, columnsToFilter).ApplySort(parameter.SortBy, parameter.IsSortDesc); var totalOfItems = await query.CountAsync(); var entities = await query.Take(parameter.Page, parameter.ItemsPerPage).ToListAsync(); var models = _mapper.Map <IEnumerable <User> >(entities); return(new PaginatedList <User>(models, totalOfItems)); }