public TrackWithGenreGetAll ( ) : IEnumerable |
||
return | IEnumerable |
// GET: Playlists/Edit/5 public ActionResult Edit(int?id) { // Study the Edit view // Attempt to fetch the matching object var o = m.PlaylistGetByIdWithDetails(id.GetValueOrDefault()); if (o == null) { return(HttpNotFound()); } else { // Create a form var form = new PlaylistEditTracksForm(); // Configure its properties // Alternatively, could create a mapper etc. form.PlaylistId = o.PlaylistId; form.Name = o.Name; form.TracksNowOnPlaylist = o.Tracks.OrderBy(t => t.Name); // Attention - 2 - Modified form-building strategy in the controller... // Need some data to enable a customized view // Look in the view... // Build a checkbox group, of genres, with the onchange event handled // Build a track list, with "display: none" to initially hide the rows // Turn them on as each genre is checked/selected // Call the method to get all tracks, with genre name form.TrackList = m.TrackWithGenreGetAll(); // Now, go through the tracks-now-on-the-playlist, // and set the "selected" property foreach (var item in form.TracksNowOnPlaylist) { form.TrackList.SingleOrDefault(t => t.TrackId == item.TrackId).Selected = true; } // Get the genre list, to display in the UI form.GenreList = m.GenreGetAll(); return(View(form)); } }