public IHttpActionResult Postmensagem(mensagem mensagem)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            db.mensagem.Add(mensagem);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (mensagemExists(mensagem.id))
                {
                    return Conflict();
                }
                else
                {
                    throw;
                }
            }



            return CreatedAtRoute("DefaultApi", new { id = mensagem.id }, mensagem);
        }
    private void SalvarMensagem(MensagemVO vo){
        mensagem msg = new mensagem();
        msg.id = Guid.NewGuid();
        msg.id_usuario = new Guid(vo.IdUsuario);
        msg.id_conversa = new Guid(vo.IdConversa);
        msg.texto = vo.Texto;
        msg.dt_envio = DateTime.Now;

        bool ehProfessor = false;

        using (Modelo db = new Modelo())
        {
            db.mensagem.Add(msg);
            db.SaveChanges();

            usuario u = db.usuario.Where(usu => usu.id.ToString() == vo.IdUsuario).FirstOrDefault();
            ehProfessor = u.tipo == "P";

        }

        if (ehProfessor)
            EnviarNotificacao(vo);
        else
            EnviarMensagemNoSocket(vo);
                
    }