public ActionResult AddAlbum(int?id) { // Attempt to get the associated object var a = m.ArtistGetByIdWithDetail(id.GetValueOrDefault()); if (a == null) { return(HttpNotFound()); } else { // Prepare the form var form = new AlbumAddForm(); // Artist name form.ArtistName = a.Name; // Attention 12 - Prepare all the select item lists // Genre list form.GenreList = new SelectList(m.GenreGetAll(), dataValueField: "Name", dataTextField: "Name"); // Collection of one int identifier // TODO fix this //var selectedValues = new List<int> { a.Id }; // Artist list form.ArtistList = new MultiSelectList( items: m.ArtistGetAll(), dataValueField: "Id", dataTextField: "Name", selectedValues: new List <int> { a.Id }); // Track list form.TrackList = new MultiSelectList( items: m.TrackGetAllByArtistId(a.Id), dataValueField: "Id", dataTextField: "Name"); // Attention 13 - Study the view code too return(View(form)); } }
public ActionResult Create(int?id) { // Attempt to fetch the matching object var a = m.ArtistGetById(id.GetValueOrDefault()); if (a == null) { return(HttpNotFound()); } else { ViewBag.ArtistName = a.Name; ViewBag.ArtistId = a.Id; var form = new AlbumAddForm(); var artistsSelected = new List <int> { a.Id }; form.ArtistList = new MultiSelectList (items: m.ArtistGetAll(), dataValueField: "Id", dataTextField: "Name", selectedValues: artistsSelected, disabledValues: artistsSelected); form.TrackList = new MultiSelectList (items: m.TrackGetAll(), dataValueField: "Id", dataTextField: "Name"); form.GenreList = new SelectList (items: m.GenreGetAll(), dataValueField: "Name", dataTextField: "Name"); return(View(form)); } }