예제 #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));
        }
        public ActionResult <Publication> Post(Guid autorId, string title, string content, Guid topicId)
        {
            var user  = userRepository.GetById(autorId);
            var topic = topicRepository.GetById(topicId);

            Publication publication = new Publication()
            {
                Autor       = user,
                Title       = title,
                Content     = content,
                Comments    = new List <Comment>(),
                DateCreated = DateTime.Now,
                Topic       = topic
            };

            return(publicationRepository.Create(publication));
        }