예제 #1
0
        public HttpResponseMessage Put(Guid id, [FromBody] BlogDTO blogDTO)
        {
            var blog = BlogApplication.Get(id);

            if (blog == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound, new Note("Blog não encontrado", Note.NoteType.Error)));
            }

            var converter = new BlogConverter();

            converter.Convert(blogDTO, blog);
            try
            {
                BlogApplication.Save(blog);
                return(Request.CreateResponse(HttpStatusCode.OK, new Note("Blog salvo com sucesso", Note.NoteType.Success)));
            }
            catch (InvalidModelState ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new Note("Não foi possível salvar o blog", ex.Details, Note.NoteType.Warning)));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new Note("Não foi possível salvar o blog", ex.Message, Note.NoteType.Error)));
            }
        }
        public void ShouldNotConvertNull()
        {
            var    converter  = new BlogConverter();
            Action conversion = () => converter.ConvertToPost(null);

            conversion.Should().Throw <ArgumentNullException>();
        }
        public void ShouldConvertPost()
        {
            var expectedPost = new Post
            {
                AuthorId = 69,
                Text     = "aaaaa",
                Title    = "bbbbb"
            };

            var converter  = new BlogConverter();
            var actualPost = converter.ConvertToPost(new Models.AddPostDto
            {
                AuthorId = 69,
                Text     = "aaaaa",
                Title    = "bbbbb"
            });

            expectedPost.Should().BeEquivalentTo(actualPost);
        }
예제 #4
0
        public HttpResponseMessage Post(BlogDTO blogDTO)
        {
            var blog      = new Blog();
            var converter = new BlogConverter();

            converter.Convert(blogDTO, blog);

            try
            {
                BlogApplication.Save(blog);
                return(Request.CreateResponse(HttpStatusCode.OK, new Note("Blog adicionar com sucesso", Note.NoteType.Success)));
            }
            catch (InvalidModelState ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new Note("Não foi possível adicionar o blog", ex.Details, Note.NoteType.Warning)));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new Note("Não foi possível adicionar o blog", ex.Message, Note.NoteType.Error)));
            }
        }