コード例 #1
0
        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"));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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());
        }