public IActionResult Create(TrackCreatePostViewModel model) { if (model.AlbumId == null) { return(BadRequest(string.Format( Constants.EntityPropertyMissingError, "Album", "ID"))); } var album = AlbumService.GetAlbumById(model.AlbumId); string artist = model.Artist; string title = model.TrackTitle; if (TrackService.Exists(artist, title)) { model.Data[Constants.ErrorKey] = string.Format( Constants.EntityExistsError, "Track", $"{artist} - {title}"); model.MusicGenres = Enumerator .GetTextValues(typeof(MusicGenre)) .Select(displayName => new MusicGenreViewModel() { DisplayName = displayName }); return(View(model)); } var genre = Enumerator.ToEnumOrDefault <MusicGenre>(model.Genre); decimal price = decimal.Parse(model.Price); TrackService.AddTrack(artist, title, genre, model.Link, price); var track = TrackService.GetTrackByName(artist, title); AlbumTrackService.AddAlbumTrack(album.Id, track.Id); model.TrackId = track.Id.ToString(); return(RedirectTo(string.Format(Constants.TrackDetailsViewRoute, model.AlbumId, model.TrackId))); }
public ActionResult Add(Track track) { if (ModelState.IsValid) { var status = _trackService.AddTrack(track) ? "Saved Successfully!" : "Could not Save!"; return(Json(status)); } return(View(track)); }
public ActionResult Add(Track track) { if (ModelState.IsValid) { var result = _trackService.AddTrack(track); ViewBag.HasSaved = result; } return(View(track)); }
public IActionResult Create(TrackCreatePostViewModel model) { Guid albumId = Guid.Parse(model.AlbumId); var album = AlbumService.GetAlbum(albumId); string artist = model.Artist; string title = model.TrackTitle; if (TrackService.Exists(artist, title)) { model.Error = string.Format(Constants.TrackExistsError, artist, title); return(View(model)); } string genreDisplayName = model.Genre; var genre = Enumerator.ToEnumOrDefault <MusicGenre>(genreDisplayName); string trackUrl = model.Link; decimal price = decimal.Parse(model.Price); TrackService.AddTrack(artist, title, genre, trackUrl, price); var track = TrackService.GetTrack(artist, title); AlbumTrackService.AddAlbumTrack(album.Id, track.Id); model.TrackId = track.Id.ToString(); return(RedirectTo(string.Format(Constants.TrackDetailsViewRoute, albumId.ToString(), track.Id.ToString()))); }
public void AddTrack([FromBody] Track track) { _trackService.AddTrack(track); }
public async Task <TrackResponse> StartTrack(AddTrackRequest trackRequest) { var tracker = trackRequest.To <LiveTracker>(); return(await _trackService.AddTrack(tracker)); }