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()); }
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))); }