예제 #1
0
        public ActionResult <PlaylistApiModel> Put([FromRoute] int id, [FromBody] PlaylistApiModel input)
        {
            try
            {
                if (input == null)
                {
                    return(BadRequest());
                }
                if (_chinookSupervisor.GetPlaylistById(id) == null)
                {
                    return(NotFound());
                }

                // var errors = JsonConvert.SerializeObject(ModelState.Values
                //     .SelectMany(state => state.Errors)
                //     .Select(error => error.ErrorMessage));
                // Debug.WriteLine(errors);

                if (_chinookSupervisor.UpdatePlaylist(input))
                {
                    return(Ok(input));
                }

                return(StatusCode(500));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }
예제 #2
0
        public async Task <ActionResult <PlaylistApiModel> > Put(int id, [FromBody] PlaylistApiModel input,
                                                                 CancellationToken ct = default)
        {
            try
            {
                if (input == null)
                {
                    return(BadRequest());
                }
                if (await _chinookSupervisor.GetPlaylistByIdAsync(id, ct) == null)
                {
                    return(NotFound());
                }

                var errors = JsonConvert.SerializeObject(ModelState.Values
                                                         .SelectMany(state => state.Errors)
                                                         .Select(error => error.ErrorMessage));
                Debug.WriteLine(errors);

                if (await _chinookSupervisor.UpdatePlaylistAsync(input, ct))
                {
                    return(Ok(input));
                }

                return(StatusCode(500));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }
        public PlaylistApiModel AddPlaylist(PlaylistApiModel newPlaylistApiModel)
        {
            var playlist = newPlaylistApiModel.Convert();

            playlist = _playlistRepository.Add(playlist);
            newPlaylistApiModel.PlaylistId = playlist.PlaylistId;
            return(newPlaylistApiModel);
        }
        public async Task <PlaylistApiModel> AddPlaylistAsync(PlaylistApiModel newPlaylistViewModel,
                                                              CancellationToken ct = default)
        {
            var playlist = new Playlist
            {
                Name = newPlaylistViewModel.Name
            };

            playlist = await _playlistRepository.AddAsync(playlist, ct);

            newPlaylistViewModel.PlaylistId = playlist.PlaylistId;
            return(newPlaylistViewModel);
        }
        public bool UpdatePlaylist(PlaylistApiModel playlistApiModel)
        {
            var playlist = _playlistRepository.GetById(playlistApiModel.PlaylistId);

            if (playlist == null)
            {
                return(false);
            }
            playlist.PlaylistId = playlistApiModel.PlaylistId;
            playlist.Name       = playlistApiModel.Name;

            return(_playlistRepository.Update(playlist));
        }
        public async Task <bool> UpdatePlaylistAsync(PlaylistApiModel playlistApiModel,
                                                     CancellationToken ct = default)
        {
            var playlist = await _playlistRepository.GetByIdAsync(playlistApiModel.PlaylistId, ct);

            if (playlist == null)
            {
                return(false);
            }
            playlist.PlaylistId = playlistApiModel.PlaylistId;
            playlist.Name       = playlistApiModel.Name;

            return(await _playlistRepository.UpdateAsync(playlist, ct));
        }
        public async Task <PlaylistApiModel> AddPlaylistAsync(PlaylistApiModel newPlaylistApiModel,
                                                              CancellationToken ct = default)
        {
            /*var playlist = new Playlist
             * {
             *  Name = newPlaylistApiModel.Name
             * };*/

            var playlist = newPlaylistApiModel.Convert();

            playlist = await _playlistRepository.AddAsync(playlist, ct);

            newPlaylistApiModel.PlaylistId = playlist.PlaylistId;
            return(newPlaylistApiModel);
        }
예제 #8
0
        public ActionResult <PlaylistApiModel> Post([FromBody] PlaylistApiModel input)
        {
            try
            {
                if (input == null)
                {
                    return(BadRequest());
                }

                return(StatusCode(201, _chinookSupervisor.AddPlaylist(input)));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }
예제 #9
0
        public async Task <ActionResult <PlaylistApiModel> > Post([FromBody] PlaylistApiModel input,
                                                                  CancellationToken ct = default)
        {
            try
            {
                if (input == null)
                {
                    return(BadRequest());
                }

                return(StatusCode(201, await _chinookSupervisor.AddPlaylistAsync(input, ct)));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }
예제 #10
0
        public HttpResponseMessage Post(PlaylistApiModel playlistApi)
        {
            try
            {
                var userId = Extensions.QueryUserId(playlistApi.username);

                var movieId = Extensions.QueryMovieId(playlistApi.movieTitle);

                this.RemoveMovieFromPlaylist(userId, movieId);

                return(this.Request.CreateResponse(HttpStatusCode.OK));
            }
            catch (Exception e)
            {
                return(this.Request.CreateResponse(HttpStatusCode.InternalServerError));
            }
        }
예제 #11
0
        public HttpResponseMessage Patch(PlaylistApiModel playlistApi)
        {
            try
            {
                var userId = Extensions.QueryUserId(playlistApi.username);

                this.AddMovieToPlaylist(userId, playlistApi.movieId);

                //If the queryResult is positive it return HTTPStatusCode.Ok else 500
                return(this.Request.CreateResponse(HttpStatusCode.OK));
            }
            catch (Exception e)
            {
                return(this.Request.CreateResponse(HttpStatusCode.InternalServerError));
            }

            return(this.Request.CreateResponse(HttpStatusCode.InternalServerError));
        }