public ActionResult Generate(FormCollection collection) { var performerIds = collection.GetValues("performers")?.Select(int.Parse) ?? new List <int>(); var genreIds = collection.GetValues("genres")?.Select(int.Parse) ?? new List <int>(); var compositionsOfSelectedPerformers = performerRepository.GetAll() .Where(performer => performerIds.Contains(performer.Id)).SelectMany(performer => performer.Albums) .SelectMany(album => album.Compositions).ToList(); var compositionOfGenres = compositionRepository.GetAll().Where(composition => genreIds.Contains(composition.Genre.Id)).ToList(); var allCompositions = compositionsOfSelectedPerformers.Union(compositionOfGenres).Distinct().GroupBy(composition => composition.Albums.First().Performer); return(View("Playlist", allCompositions)); }
public IEnumerable <Composition> DonneTous() { return(_compositionRepository.GetAll()); }
public override ActionResult SearchByStartPart(string searchPart) { var instances = compositionRepository.GetAll().Where(performer => performer.Name.StartsWith(searchPart)); return(View("SearchResults", instances)); }