public ActionResult Cadastrar([FromBody]Mensagem mensagem, [FromHeader(Name = "Accept")]string mediaType)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    _mensagemRepository.Cadastrar(mensagem);
                    if (mediaType == CustomMediaTypes.Hateoas)
                    {
                        var mensageDB = _mapper.Map<Mensagem, MensagemDTO>(mensagem);
                        mensageDB.Links.Add(new LinkDTO("self", Url.Link("MensagemCadastrar", null), "POST"));
                        mensageDB.Links.Add(new LinkDTO("atualizacaoParcial", Url.Link("MensagemAtualizacaoParcial", new { id = mensagem.Id }), "PATCH"));

                        return Ok(mensageDB);
                    }
                    else
                    {
                        return Ok(mensagem);
                    }
                }
                catch(Exception e)
                {
                    return UnprocessableEntity(e);
                }
                
            }
            else
            {
                return UnprocessableEntity(ModelState);
            }
        }
Exemplo n.º 2
0
 public ActionResult Cadastrar([FromBody] Mensagem mensagem)
 {
     if (ModelState.IsValid)
     {
         try
         {
             _mensagemRepository.Cadastrar(mensagem);
             return(Ok(mensagem));
         }
         catch (Exception e)
         {
             return(UnprocessableEntity(e));
         }
     }
     else
     {
         return(UnprocessableEntity(ModelState));
     }
 }
Exemplo n.º 3
0
        public ActionResult Cadastrar([FromBody] Mensagem mensagem)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    _mensagemRepository.Cadastrar(mensagem);

                    var mensagemDTO = _mapper.Map <Mensagem, MensagemDTO>(mensagem);
                    mensagemDTO.Links.Add(new LinkDTO("_self", Url.Link("Cadastrar", null), "POST"));
                    mensagemDTO.Links.Add(new LinkDTO("_atualizacaoParcial", Url.Link("AtualizacaoParcial", new { id = mensagem.Id }), "PATCH"));

                    return(Ok(mensagemDTO));
                }
                catch (Exception e)
                {
                    return(UnprocessableEntity(e));
                }
            }
            else
            {
                return(UnprocessableEntity(ModelState));
            }
        }