コード例 #1
0
        public PublicationDto UpdatePublicationById(int publicationId, PublicationUpdateInputModel body)
        {
            // Validate that given publication exists
            var publication = _publications.FirstOrDefault(p => p.Id == publicationId);

            if (publication == null)
            {
                throw new ResourceNotFoundException($"Publication with id: {publicationId} was not found");
            }

            // Check if given publication has values if it has values change the old value to the new value
            // if it doesn't we keep the old value so that all other values do not become null
            publication.EditorFirstName = string.IsNullOrEmpty(body.EditorFirstName) ? publication.EditorFirstName : body.EditorFirstName;
            publication.EditorLastName  = string.IsNullOrEmpty(body.EditorLastName) ? publication.EditorLastName : body.EditorLastName;
            publication.Title           = string.IsNullOrEmpty(body.Title) ? publication.Title : body.Title;
            publication.Journal         = string.IsNullOrEmpty(body.Journal) ? publication.Journal : body.Journal;
            publication.Isbn            = string.IsNullOrEmpty(body.Isbn) ? publication.Isbn : body.Isbn;
            publication.Year            = body.Year.HasValue ? publication.Year : body.Year;
            publication.Type            = string.IsNullOrEmpty(body.Type) ?  publication.Type : body.Type;

            return(new PublicationDto()
            {
                EditorFirstName = publication.EditorFirstName,
                EditorLastName = publication.EditorLastName,
                Title = publication.Title,
                Isbn = publication.Isbn,
                Year = publication.Year,
                Type = publication.Type
            });
        }
コード例 #2
0
        public IActionResult UpdatePublicationById(int publication_id, [FromBody] PublicationUpdateInputModel body)
        {
            if (!ModelState.IsValid)
            {
                throw new ModelFormatException("Model not properly formatted");
            }
            var publication = _publicationService.UpdatePublicationById(publication_id, body);

            return(Ok(publication));
        }
コード例 #3
0
        public void UpdatePublicationById_WhenUpdatedWithExistingId_ReturnsOkResult()
        {
            var publication = new PublicationUpdateInputModel()
            {
                EditorFirstName = "Lárus",
            };

            var okResult = _controller.UpdatePublicationById(1, publication);

            var result = Assert.IsType <OkObjectResult>(okResult);

            Assert.Equal(200, result.StatusCode);
        }
コード例 #4
0
 public PublicationDto UpdatePublicationById(int publicationId, PublicationUpdateInputModel body)
 => new PublicationDto(_publicationRepo.UpdatePublicationById(publicationId, body));