public async Task <IList <AuthorWithPublishedBooksCount> > ExecuteQuery(SearchAuthorInput input) { var query = (IQueryable <Author>)_dbContext.Authors; if (!string.IsNullOrEmpty(input.Name)) { query = query.Where(a => a.Name.Contains(input.Name)); } return(await query .ProjectTo <AuthorWithPublishedBooksCount>(_mapper.ConfigurationProvider) .ToListAsync()); }
public IEnumerable <Author> Search(SearchAuthorInput input) { var parameters = new { CreateDateStart = input.CreateDateInterval?.Start, CreateDateEnd = input.CreateDateInterval?.End, UpdateDateStart = input.UpdateDateInterval?.Start, UpdateDateEnd = input.UpdateDateInterval?.End, QueryText = input.QueryText }; return(base.Search(parameters)); }
public ActionResult <List <Author> > Search(SearchAuthorInput input) { try { var dataModels = _repository.Search(input); var viewModels = _mapper.Map <List <Author> >(dataModels); return(viewModels); } catch (Exception ex) { var messageResponse = _errorGenerator.GetMessageResponse <Author, SearchAuthorInput>(ActionType.List, input, ex); Log.Error(messageResponse.LogTemplate, messageResponse.Message, input); throw new Exception(messageResponse.Message); } }