public HttpResponseMessage GetAudioStream(int id)
 {
     //WebApiValidation.Validate(Request);
     var musicTrack = MusicData.GetMusicTrackDetailsFromId(id);
     var audioFilePath = new ResourceProvider().GetPath(RapResource.MusicTracks, musicTrack.LinkLocation);
     return RapFileStreamPlayer.Get(audioFilePath);
 }
 public HttpResponseMessage UploadWav(UploadModel file)
 {
     Contract.Requires(file != null);
     try
     {
         var fullPath = new ResourceProvider().GetPath(RapResource.RapBattleAudio, file.Name);
         File.WriteAllBytes(fullPath, file.ByteArray);
         return new HttpResponseMessage(HttpStatusCode.Created);
     }
     catch (Exception)
     {
         return new HttpResponseMessage(HttpStatusCode.BadRequest);
     }
 }
 public HttpResponseMessage Music(int id)
 {
     WebApiValidation.Validate(Request);
     var musicTrack = MusicData.GetMusicTrackDetailsFromId(id);
     var localFilePath = new ResourceProvider().GetPath(RapResource.MusicTracks) +
                         musicTrack.LinkLocation;
     if (String.IsNullOrEmpty(musicTrack.LinkLocation) || !musicTrack.CanDownload)
     {
         return Request.CreateResponse(HttpStatusCode.BadRequest);
     }
     var result = Request.CreateResponse(HttpStatusCode.OK);
     result.Content = new StreamContent(new FileStream(localFilePath, FileMode.Open, FileAccess.Read));
     result.Content.Headers.ContentDisposition =
         new ContentDispositionHeaderValue("attachment")
         {
             FileName =
                 string.Format("{0} - {1}{2}",
                     UserMembershipHelper.GetDisplayNameFromID(musicTrack.UserId),
                     musicTrack.SongName, Path.GetExtension(musicTrack.LinkLocation))
         };
     return result;
 }
 public HttpResponseMessage GetAudioStream(string id)
 {
     var audioBattleFilePath = new ResourceProvider().GetPath(RapResource.RapBattleAudio, id + ".wav");
     return RapFileStreamPlayer.Get(audioBattleFilePath);
 }