Пример #1
0
        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());
        }