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))); }
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)); }
public void TestValidationPublicationNotExistOnDB() { var badPublication = PublicationBuilder.New().Build(); var resultValidation = new PublicationExistValidator().Validate(badPublication.Id); Assert.False(resultValidation.IsValid); }
public void TestValidationPublicationExistOnDB() { var okPublication = PublicationBuilder.New().Build(); new PublicationRepository().Create(okPublication); var resultValidation = new PublicationExistValidator().Validate(okPublication.Id); Assert.True(resultValidation.IsValid); }
public ActionResult <Publication> Get(Guid id) { var resultValidation = new PublicationExistValidator().Validate(id); if (!resultValidation.IsValid) { return(BadRequest(resultValidation.Errors)); } return(Ok(publicationRepository.GetById(id))); }