public async Task <ActionResult> EditSong(EditSongModel editingSong) { if (ModelState.IsValid) { Artist artist = db.Artists.FirstOrDefault(p => p.Name == editingSong.ArtistName); if (artist == null) { artist = db.Artists.Add(new Artist { Name = editingSong.ArtistName }); } Song song = db.Songs.FirstOrDefault(p => p.Id == editingSong.Id); song.Cover = editingSong.Cover; song.Name = editingSong.Name; song.Src = editingSong.Src; song.ArtistId = artist.Id; db.Entry(song).State = EntityState.Modified; await db.SaveChangesAsync(); } return(RedirectToAction("SongList")); }
public IHttpActionResult Update(EditSongModel model) { IHttpActionResult httpActionResult; Songs Songs = db.Songs.FirstOrDefault(x => x.Id == model.id); if (Songs == null) { error.Add("Not Found"); httpActionResult = new ErrorActionResult(Request, HttpStatusCode.NotFound, error); } if (string.IsNullOrEmpty(model.Name)) { error.Add("Name is required"); httpActionResult = new ErrorActionResult(Request, HttpStatusCode.BadRequest, error); } else { Songs.Name = model.Name ?? model.Name; Songs.KeyIds = model.KeyIds ?? model.KeyIds; db.Entry(Songs).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); httpActionResult = Ok(new SongsModel(Songs)); } return(httpActionResult); }
public async Task <ActionResult> EditSong(int?id) { if (id == null) { return(HttpNotFound()); } Song song = await db.Songs.FirstOrDefaultAsync(p => p.Id == id); if (song != null) { EditSongModel editingSong = new EditSongModel { Id = song.Id, ArtistName = song.Artist.Name, Name = song.Name, Cover = song.Cover, Src = song.Src }; return(View(editingSong)); } return(new HttpNotFoundResult()); }