Exemplo n.º 1
0
        public async Task <PlayList> GetTracksById(int playlistId)
        {
            var list        = new PlayList();
            var playListSql = @"select playlist_id as Id,name as Name from playlist where playlist_id = @0 order by playlist_id;";
            var tracks      = @"SELECT track.track_id as Id,track.name as Name ,(track.milliseconds / 60000)::decimal as Duration ,(track.bytes / 1048576 )::decimal(10,3) as Bytes,track.unit_price::decimal as Price,track.composer as Composer from playlist_track inner join track on track.track_id = playlist_track.track_id where playlist_track.playlist_id = @0 order by composer;";

            using (var reader = await _runner.OpenReaderAsync(playListSql + tracks, playlistId))
            {
                if (reader.ReadAsync() != null)
                {
                    list = reader.ToSingle <PlayList>();
                    await reader.NextResultAsync();

                    list.Tracks = reader.ToList <Track>();
                }
            }
            return(list);
        }