public PerformerVM[] GetLastTwoSingers() { List <Performer> allSingers = new List <Performer>(); if (_lastBestAlbums == null) { return(null); } foreach (var entertainment in _lastBestAlbums) { Performer[] allEntertainmentsSingers = Performer.GetSingerByEntertainment(entertainment.EntertainmentDL); if (allEntertainmentsSingers != null) { foreach (var singer in allEntertainmentsSingers) { if (allSingers.FindAll((sing) => sing.Id == singer.Id).Count == 0) { allSingers.Add(singer); } } } if (allSingers.Count == 0) { return(null); } } Performer[] twoPerformers = allSingers.OrderByDescending(singer => Entertainment.AverageCriticPointForEntertainments(Entertainment.GetEntertainmentByPerformer(singer))).Take(2).ToArray(); List <PerformerVM> result = new List <PerformerVM>(); foreach (var performer in twoPerformers) { result.Add(new PerformerVM(performer)); } return(result.ToArray()); }