public IEnumerable <Author> GetAuthors(AuthorResourseParameter authorResourseParameter)
        {
            if (string.IsNullOrWhiteSpace(authorResourseParameter.MainCategory) &&
                string.IsNullOrWhiteSpace(authorResourseParameter.SearchQuery))
            {
                return(GetAuthors());
            }

            var collections = _context.Authors as IQueryable <Author>;

            if (!string.IsNullOrWhiteSpace(authorResourseParameter.MainCategory))
            {
                var mainCategory = authorResourseParameter.MainCategory.Trim();
                collections = collections.Where(a => a.MainCategory == mainCategory);
            }

            if (!string.IsNullOrWhiteSpace(authorResourseParameter.SearchQuery))
            {
                var searchQuery = authorResourseParameter.MainCategory.Trim();

                return(collections.Where(a => a.MainCategory.Contains(searchQuery) ||
                                         a.FirstName.Contains(searchQuery) ||
                                         a.LastName.Contains(searchQuery)

                                         ));
            }

            return(collections.ToList());
        }
Ejemplo n.º 2
0
        public ActionResult <IEnumerable <authorDto> > GetAuthors(
            [FromQuery] AuthorResourseParameter authorResourseParameter)
        {
            //throw new Exception("Test exception");
            var authorsFromRepo = _courseLibraryRepository.GetAuthors(authorResourseParameter);

            //var authors = new List<authorDto>();

            //foreach (var author in authorsFromRepo)
            //{
            //    authors.Add(new authorDto()
            //    {
            //        Id = author.Id,
            //        FirstName = $"{author.FirstName}{author.LastName}",
            //        MainCategory = author.MainCategory,
            //        Age = author.DateOfBirth.GetCurrentAge()
            //    });

            //AutoMapper replaces above code:


            return(Ok(_mapper.Map <IEnumerable <authorDto> >(authorsFromRepo)));
        }