Ejemplo n.º 1
0
        public ActionResult <Publication> Post(Guid autorId, string title, string content, Guid topicId)
        {
            var resultValidator = new UserExistValidator().Validate(autorId);

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

            User autor = userRepository.GetById(autorId);

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

            Topic topic = topicRepository.GetById(topicId);

            Publication publication = new Publication(autor, title, content, topic);

            resultValidator = new PublicationValidator().Validate(publication);
            if (!resultValidator.IsValid)
            {
                return(BadRequest(resultValidator.Errors));
            }

            publicationRepository.Create(publication);

            return(CreatedAtAction("Get", new { id = publication.Id }, publication));
        }
Ejemplo 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));
        }
Ejemplo n.º 3
0
        public ActionResult <User> Get(Guid id)
        {
            var resultValidation = new UserExistValidator().Validate(id);

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

            return(Ok(userRepository.GetById(id)));
        }
Ejemplo n.º 4
0
        public void TestValidationUserExistUser()
        {
            var userFirst  = UserBuilder.New().Build();
            var userSecond = UserBuilder.New().Build();

            new UserRepository().Create(userFirst);
            var resultValidationFirst  = new UserExistValidator().Validate(userFirst.Id);
            var resultValidationSecond = new UserExistValidator().Validate(userSecond.Id);

            Assert.True(resultValidationFirst.IsValid);
            Assert.False(resultValidationSecond.IsValid);
        }
Ejemplo n.º 5
0
        public ActionResult <User> Put(Guid id, string name, string email, string password)
        {
            var resultValidation = new UserExistValidator().Validate(id);

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

            User user = new User(id, name, email, password);

            resultValidation = new UserValidator().Validate(user);

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

            return(Ok(userRepository.Update(user)));
        }