public async Task <PagedResult <ContactDto> > GetContactsAsync(ContactQueryParamsDto queryParams) { var userId = this.GetCurrentUserId(); var contacts = await _contactDataService .GetContactsByUserAsync(userId, queryParams); var result = contacts.Project <Contact, ContactDto>(_mapper.ConfigurationProvider); return(result); }
public async Task <PagedResult <Contact> > GetContactsByUserAsync(int userId, ContactQueryParamsDto queryParams) { var contactsQuery = _dbContext.Contacts .Where(c => c.UserId == userId); if (!string.IsNullOrWhiteSpace(queryParams.FilterText)) { contactsQuery = contactsQuery.Where(c => c.FirstName.Contains(queryParams.FilterText) || c.LastName.Contains(queryParams.FilterText)); } return(await contactsQuery .AsNoTracking() .GetPagedAsync(queryParams.PageNumber, queryParams.PageSize)); }