public List <Model.Genres> Get(GenresSearchRequest request) { var query = _context.Genres.AsQueryable(); if (!string.IsNullOrWhiteSpace(request?.Name)) { query = query.Where(x => x.Name.Contains(request.Name)); } if (request.Filter.HasValue) { if (request.Filter.Value == (int)ReviewStatus.FilterPendingApproved) { query = query.Where(x => x.Status == ReviewStatus.Pending || x.Status == ReviewStatus.Approved); } else { query = query.Where(x => (int)x.Status == request.Filter.Value); } } query = query.OrderBy(x => x.Name); var list = query.ToList(); var genresList = _mapper.Map <List <Model.Genres> >(list); foreach (var item in genresList) { item.NumberOfSongs = _context.Songs.Count(x => x.GenreId == item.Id); } return(genresList); }
public List <Genre> GetFullList(GenresSearchRequest request) { var genres = GenresRepository.GetGenreList(request.Search).ToList(); return(Mapper.Map <List <Genre> >(genres)); }
public IActionResult GetGenresList([FromQuery] GenresSearchRequest request) { var list = GenreService.GetFullList(request); return(Ok(list)); }