public ActionResult Edit([Bind(Include = "Track,Artists,Genres")] TrackEditTemplate template)
 {
     if (ModelState.IsValid)
     {
         trackRepository.UpdateTrack(template.Track);
         trackRepository.UpdateArtistsOfTrack(template.Track.Id, template.Artists);
         trackRepository.UpdateGenresOfTrack(template.Track.Id, template.Genres);
         return(RedirectToAction("Index"));
     }
     return(View(template));
 }
 public ActionResult Create([Bind(Include = "Track,Artists,Genres")] TrackEditTemplate template)
 {
     if (ModelState.IsValid)
     {
         trackRepository.CreateTrack(template.Track);
         trackRepository.UpdateArtistsOfTrack(template.Track.Id, template.Artists);
         trackRepository.UpdateGenresOfTrack(template.Track.Id, template.Genres);
         return(RedirectToAction("Index"));
     }
     ViewBag.Artists = new MultiSelectList(artistRepository.GetAllArtists(), "Id", "Name", template.Artists);
     ViewBag.Genres  = new MultiSelectList(genreRepository.GetAllGenres(), "Id", "Name", template.Genres);
     return(View(template));
 }
        // GET: Tracks/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Track track = trackRepository.GetTrackById(id);

            if (track == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Artists = new MultiSelectList(artistRepository.GetAllArtists(), "Id", "Name", trackRepository.GetArtistsOfTrack(id.Value).Select(a => a.Id));
            ViewBag.Genres  = new MultiSelectList(genreRepository.GetAllGenres(), "Id", "Name", trackRepository.GetGenresOfTrack(id.Value).Select(a => a.Id));
            ViewBag.Albums  = trackRepository.GetAlbumsOfTrack(id.Value);
            TrackEditTemplate template = new TrackEditTemplate();

            template.Track = track;
            return(View(template));
        }