public async Task <FileResult> M3uForRelease(Guid id) { var user = await this.CurrentUserModel(); var release = await this.ReleaseService.ById(user, id, new string[1] { "tracks" }); if (release == null || release.IsNotFoundResult) { Response.StatusCode = (int)HttpStatusCode.NotFound; } var m3u = M3uHelper.M3uContentForTracks(release.Data.Medias.SelectMany(x => x.Tracks)); return(File(System.Text.Encoding.Default.GetBytes(m3u), "audio/mpeg-url")); }
public async Task <FileResult> M3uForTrack(Guid id) { var user = await CurrentUserModel().ConfigureAwait(false); var track = await TrackService.ById(user, id, null).ConfigureAwait(false); if (track?.IsNotFoundResult != false) { Response.StatusCode = (int)HttpStatusCode.NotFound; } var release = await ReleaseService.ById(user, track.Data.Release.Id, new string[1] { "tracks" }).ConfigureAwait(false); if (release?.IsNotFoundResult != false) { Response.StatusCode = (int)HttpStatusCode.NotFound; } var m3u = M3uHelper.M3uContentForTracks( release.Data.Medias.SelectMany(x => x.Tracks).Where(x => x.Id == id)); return(File(Encoding.Default.GetBytes(m3u), "audio/mpeg-url")); }