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));
        }
Example #3
0
 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);
     }
 }