public IHttpActionResult Create(SongResponseModel song)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var addedSongId = this.songs.Add(song.Title, song.ReleaseDate, song.Genre, song.AlbumId);

            return(this.Ok(song));
        }
        public IHttpActionResult Update(int id, SongResponseModel song)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var updatedSongId = this.songs.Update(id, song.Title, song.ReleaseDate, song.Genre, song.AlbumId);

            if (updatedSongId == null)
            {
                return(this.NotFound());
            }

            return(this.Ok(updatedSongId));
        }
Ejemplo n.º 3
0
        public IHttpActionResult Post(SongResponseModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(ModelState));
            }

            var song = new Song
            {
                Title = model.Title,
                Genre = model.Genre
            };

            this.db.Songs.Add(song);
            this.db.SaveChanges();

            return(this.Created(this.Url.ToString(), song));
        }
Ejemplo n.º 4
0
        public IHttpActionResult Post([FromBody] SongResponseModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var song = new Song
            {
                Title    = model.Title,
                Year     = model.Year,
                Duration = model.Duration
            };

            this.data.Songs.Add(song);
            this.data.SaveChanges();

            return(this.Ok(song.Id));
        }
Ejemplo n.º 5
0
        public IHttpActionResult Put(int id, [FromBody] SongResponseModel model)
        {
            var song = data.Songs
                       .Find(x => x.Id == id)
                       .FirstOrDefault();

            if (song == null)
            {
                return(this.BadRequest("No song with that Id was found!"));
            }

            song.Title    = model.Title;
            song.Duration = model.Duration;
            song.Year     = model.Year;

            this.data.Songs.Update(song);
            this.data.SaveChanges();

            return(this.Ok(song));
        }
Ejemplo n.º 6
0
        public IHttpActionResult Update(int id, SongResponseModel model)
        {
            if (this.ModelState.IsValid)
            {
                return(this.BadRequest(ModelState));
            }

            var song = db.Songs.GetById(id);

            if (song == null)
            {
                return(this.BadRequest("There is no song with this Id!"));
            }

            song.Title = model.Title;
            song.Genre = model.Genre;

            this.db.Songs.Update(song);
            this.db.SaveChanges();

            return(this.Ok(song));
        }
Ejemplo n.º 7
0
        public IHttpActionResult AddSong(int id, int artistId, SongResponseModel song)
        {
            if (!this.ModelState.IsValid)
            {
                return BadRequest(this.ModelState);
            }

            var artist = this.data.Artists
                .All()
                .FirstOrDefault(a => a.Id == artistId);

            if (artist == null)
            {
                return BadRequest("Artist not exist - invalid id");
            }

            var album = this.data.Albums
                .All()
                .FirstOrDefault(a => a.Id == id && a.Artists.FirstOrDefault(ar => ar.Id == artistId) != null);

            if (album == null)
            {
                return BadRequest("Album not exist - invalid id");
            }

            var songToAdd = new Song
            {
                Title = song.Title,
                Year = song.Year,
                DurationInSeconds = song.DurationInSeconds,
                Genre = (MusicGanre)Enum.Parse(typeof(MusicGanre), song.Genre),
                ArtistId = artistId
            };

            album.Songs.Add(songToAdd);
            this.data.Albums.SaveChanges();

            return Ok(song);
        }
Ejemplo n.º 8
0
        public IHttpActionResult AddSong(int id, int artistId, SongResponseModel song)
        {
            if (!this.ModelState.IsValid)
            {
                return(BadRequest(this.ModelState));
            }

            var artist = this.data.Artists
                         .All()
                         .FirstOrDefault(a => a.Id == artistId);

            if (artist == null)
            {
                return(BadRequest("Artist not exist - invalid id"));
            }

            var album = this.data.Albums
                        .All()
                        .FirstOrDefault(a => a.Id == id && a.Artists.FirstOrDefault(ar => ar.Id == artistId) != null);

            if (album == null)
            {
                return(BadRequest("Album not exist - invalid id"));
            }

            var songToAdd = new Song
            {
                Title             = song.Title,
                Year              = song.Year,
                DurationInSeconds = song.DurationInSeconds,
                Genre             = (MusicGanre)Enum.Parse(typeof(MusicGanre), song.Genre),
                ArtistId          = artistId
            };

            album.Songs.Add(songToAdd);
            this.data.Albums.SaveChanges();

            return(Ok(song));
        }