Beispiel #1
0
        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));
        }