예제 #1
0
        public ActionResult Create(ComentarioDTO comentario)
        {
            if (ModelState.IsValid)
            {
                var novoNovocomentario = new Comentario { Texto = comentario.Texto,
                Post = db.Posts.Find(comentario.PostId)};
                db.Comentarios.Add(novoNovocomentario);
                db.SaveChanges();
                return RedirectToAction("Details", "Post", new { id = comentario.PostId });
            }

            return View(comentario);
        }
예제 #2
0
        // POST api/Comentario
        public HttpResponseMessage PostComentario(ComentarioDTO comentario)
        {
            if (ModelState.IsValid)
            {
                var novoComentario = new Comentario { Texto = comentario.Texto, Post = db.Posts.Find(comentario.PostId) };
                db.Comentarios.Add(novoComentario);
                db.SaveChanges();

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, novoComentario);
                response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = novoComentario.ComentarioId }));
                return response;
            }
            else
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest);
            }
        }
예제 #3
0
        // PUT api/Comentario/5
        public HttpResponseMessage PutComentario(int id, Comentario comentario)
        {
            if (ModelState.IsValid && id == comentario.ComentarioId)
            {
                db.Entry(comentario).State = EntityState.Modified;

                try
                {
                    db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    return Request.CreateResponse(HttpStatusCode.NotFound);
                }

                return Request.CreateResponse(HttpStatusCode.OK);
            }
            else
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest);
            }
        }