Exemplo n.º 1
0
        public ActionResult <Publication> Put(Guid id, string title, string content, Guid topicId)
        {
            var resultValidation = new PublicationExistValidator().Validate(id);

            if (!resultValidation.IsValid)
            {
                return(BadRequest(resultValidation.Errors));
            }

            resultValidation = new TopicExistValidator().Validate(topicId);
            if (!resultValidation.IsValid)
            {
                return(BadRequest(resultValidation.Errors));
            }

            Topic       topic          = topicRepository.GetById(topicId);
            Publication oldPublication = publicationRepository.GetById(id);
            Publication newPublication = new Publication(id, oldPublication.Autor, title, content, oldPublication.DateCreated, oldPublication.Comments, topic);

            resultValidation = new PublicationValidator().Validate(newPublication);

            if (!resultValidation.IsValid)
            {
                return(BadRequest(resultValidation.Errors));
            }

            return(Ok(publicationRepository.Update(newPublication)));
        }
Exemplo n.º 2
0
        public ActionResult <Comment> Post(Guid autorId, string content, Guid publicationId)
        {
            var resultValidation = new UserExistValidator().Validate(autorId);

            if (!resultValidation.IsValid)
            {
                return(BadRequest(resultValidation.Errors));
            }

            var autor = userRepository.GetById(autorId);

            resultValidation = new PublicationExistValidator().Validate(publicationId);

            if (!resultValidation.IsValid)
            {
                return(BadRequest(resultValidation.Errors));
            }

            Comment comment = new Comment(autor, content, publicationId);

            resultValidation = new CommentValidator().Validate(comment);

            if (!resultValidation.IsValid)
            {
                return(BadRequest(resultValidation.Errors));
            }

            commentRepository.Create(comment);

            return(CreatedAtAction("Get", new { id = comment.Id }, comment));
        }
Exemplo n.º 3
0
        public void TestValidationPublicationNotExistOnDB()
        {
            var badPublication = PublicationBuilder.New().Build();

            var resultValidation = new PublicationExistValidator().Validate(badPublication.Id);

            Assert.False(resultValidation.IsValid);
        }
Exemplo n.º 4
0
        public void TestValidationPublicationExistOnDB()
        {
            var okPublication = PublicationBuilder.New().Build();

            new PublicationRepository().Create(okPublication);

            var resultValidation = new PublicationExistValidator().Validate(okPublication.Id);

            Assert.True(resultValidation.IsValid);
        }
Exemplo n.º 5
0
        public ActionResult <Publication> Get(Guid id)
        {
            var resultValidation = new PublicationExistValidator().Validate(id);

            if (!resultValidation.IsValid)
            {
                return(BadRequest(resultValidation.Errors));
            }

            return(Ok(publicationRepository.GetById(id)));
        }