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)); }
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)); }
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)); }