Example #1
0
        public static string ExportSongsAboveDuration(MusicHubDbContext context, int duration)
        {
            var songsAboveDuration = context.Songs
                                     //.ToArray()  //for judge
                                     .Where(x => x.Duration.TotalSeconds > duration)
                                     .Select(x => new ExportSongsAboveDurationDTO
            {
                Name              = x.Name,
                WriterName        = x.Writer.Name,
                PerformerName     = x.SongPerformers.FirstOrDefault().Performer.FirstName + ' ' + x.SongPerformers.FirstOrDefault().Performer.LastName,
                AlbumProducerName = x.Album.Producer.Name,
                Duration          = x.Duration.ToString("c"),
            }).OrderBy(x => x.Name)
                                     .ThenBy(x => x.WriterName)
                                     .ThenBy(x => x.PerformerName)
                                     .ToArray();

            var result = XmlConverter.Serialize(songsAboveDuration, "Songs");

            return(result);
        }
        public static string ExportSongsAboveDuration(MusicHubDbContext context, int duration)
        {
            var songs = context.Songs
                        .Where(s => s.Duration.TotalSeconds > duration)
                        .Select(s => new SongXmlOutputModel
            {
                SongName  = s.Name,
                Writer    = s.Writer.Name,
                Performer = s.SongPerformers.FirstOrDefault().Performer.FirstName + " "
                            + s.SongPerformers.FirstOrDefault().Performer.LastName,
                AlbumProducer = s.Album.Producer.Name,
                Duration      = s.Duration.ToString("c")
            })
                        .OrderBy(s => s.SongName)
                        .ThenBy(s => s.Writer)
                        .ThenBy(s => s.Performer)
                        .ToList();

            string xml = XmlConverter.Serialize(songs, "Songs");

            return(xml);
        }
Example #3
0
        public static string ExportSongsAboveDuration(MusicHubDbContext context, int duration)
        {
            var songs = context.Songs
                        .Where(s => s.Duration.TotalSeconds > duration)
                        .Select(s => new ExportSongDurationDTO
            {
                SongName  = s.Name,
                Writer    = s.Writer.Name,
                Performer = s.SongPerformers.Select(sp => sp.Performer.FirstName + " " + sp.Performer.LastName).FirstOrDefault(),

                AlbumProducer = s.Album.Producer.Name,
                Duration      = s.Duration.ToString("c", CultureInfo.InvariantCulture)
            })
                        .OrderBy(s => s.SongName)
                        .ThenBy(s => s.Writer)
                        .ThenBy(s => s.Performer)
                        .ToArray();

            var xml = XmlConverter.Serialize(songs, "Songs");

            return(xml);
        }
Example #4
0
        public static string ExportSongsAboveDuration(MusicHubDbContext context, int duration)
        {
            var rootElement    = "Songs";
            var wantedDuration = TimeSpan.FromSeconds(duration);
            var targetSongs    = context.Songs
                                 .Where(x => x.Duration > wantedDuration)
                                 .Select(x => new ExportSongsAboveDurationDto
            {
                SongName      = x.Name,
                Writer        = x.Writer.Name,
                Performer     = x.SongPerformers.FirstOrDefault().Performer.FirstName + " " + x.SongPerformers.FirstOrDefault().Performer.LastName,
                AlbumProducer = x.Album.Producer.Name,
                Duration      = x.Duration.ToString("c")
            })
                                 .OrderBy(x => x.SongName)
                                 .ThenBy(x => x.Writer)
                                 .ThenBy(x => x.Performer)
                                 .ToList();
            var resultXml = XmlConverter.Serialize(targetSongs, rootElement);

            return(resultXml);
        }