public ActionResult Track(int politicianId, int trackId = 0) { var config = ConfigHelper.GetConfig(); var person = config.Persons.FirstOrDefault(p => p.Id == politicianId); if (person == null) { ViewBag.Error = "Person wasn't found"; Response.RedirectToRoute("/Error"); return(null); } var neededTrack = new Track(); if (trackId != 0) { neededTrack = person.Tracks.FirstOrDefault(track => track.Id == trackId); } var trackDto = TrackMapper.MapTrack(neededTrack); trackDto.PoliticianId = person.Id; trackDto.PoliticianName = person.Name; return(View(trackDto)); }
public ActionResult Track(HttpPostedFileBase audioFile, TrackDto trackDto) { var personRepo = new PersonRepository(); var parliamentManager = new ParliamentManager(); var person = personRepo.GetAll().FirstOrDefault(p => p.Id == trackDto.PoliticianId); if (person == null) { ViewBag.Error = "Person wasn't found"; Response.RedirectToRoute("/Error"); return(null); } trackDto.PoliticianName = person.Name; trackDto = parliamentManager.FillAudioFile(audioFile, trackDto); var trackToUpdate = TrackMapper.MapTrackDto(trackDto); var updatedTrack = personRepo.UpsertTrack(trackDto.PoliticianId, trackToUpdate); TempData["Notifications"] = "Added..."; return(RedirectToAction("Track", new { politicianId = person.Id, trackId = updatedTrack.Id })); }
public Album BrowseAlbum(string link) { Login(); logger.Debug("Album Browse started for link {0}", link); const string prefix = "spotify:album:"; using (var album = session.ParseLink(prefix + link).As<IAlbum>()) using (var browse = album.Browse()) { browse.WaitForCompletion(); if (!browse.IsComplete) { logger.Error("Album Browse timed out"); return null; } var albumResult = new AlbumMapper().Map(album, true); var trackMapper = new TrackMapper(); var tracks = browse.Tracks .Select(t => trackMapper.Map(t, false, true)) .ToArray(); albumResult.Tracks = tracks; logger.Info("Album Browse completed for link {0}", link); return albumResult; } }