Esempio n. 1
0
        public async Task <IActionResult> CreateCollection([FromBody] CreateCollectionRequest request)
        {
            User user = await this.users.GetById(request.Uid);

            if (user == null)
            {
                return(BadRequest(new ErrorResponse {
                    Error = "Invalid User Id."
                }));
            }

            MovieCollection collectionToAdd = new MovieCollection
            {
                User        = user,
                Name        = request.Name,
                Description = request.Description
            };

            if ((await this.movieCollections.CollectionNameExists(collectionToAdd)))
            {
                return(Conflict(new ErrorResponse {
                    Error = "Collection name already in use."
                }));
            }

            MovieCollection addedCollection = await this.movieCollections.Add(collectionToAdd);

            MovieCollectionResponse response = this.mapper.Map <MovieCollectionResponse>(addedCollection);

            return(CreatedAtAction("GetCollectionById", new { collectionId = response.Id }, response));
        }
Esempio n. 2
0
        public async Task <IActionResult> GetCollectionById([FromRoute] int collectionId)
        {
            MovieCollection foundCollection = await this.movieCollections.GetById(collectionId);

            if (foundCollection == null)
            {
                return(NotFound(new ErrorResponse {
                    Error = "Invalid collectionId"
                }));
            }

            MovieCollectionResponse response = this.mapper.Map <MovieCollectionResponse>(foundCollection);

            return(Ok(response));
        }
Esempio n. 3
0
        public async Task <IActionResult> UpdateCollection([FromBody] UpdateCollectionRequest request)
        {
            MovieCollection collectionToUpdate = await this.movieCollections.GetById(request.Id);

            if (collectionToUpdate == null)
            {
                return(NotFound(new ErrorResponse {
                    Error = "Invalid collection Id."
                }));
            }

            collectionToUpdate.Name        = request.Name;
            collectionToUpdate.Description = request.Description;

            MovieCollection movieCollection = await this.movieCollections.Update(collectionToUpdate);

            MovieCollectionResponse response = this.mapper.Map <MovieCollectionResponse>(movieCollection);

            return(Ok(response));
        }