public void ConfirmarEscritorio()
        {
            if (Status != EStatusMensagemPublica.EscritorioInteressado)
            {
                AddNotification("Status", "Não é possível confirmar o vínculo em uma mensagem fora de análise");
                throw new DomainException(this);
            }

            Status = EStatusMensagemPublica.ConfirmadaPeloCliente;
        }
        public void RejeitarEscritorio()
        {
            if (Status != EStatusMensagemPublica.EscritorioInteressado)
            {
                AddNotification("Status", "Não é possível rejeitar o vínculo em uma mensagem fora de análise");
                throw new DomainException(this);
            }

            CodigoEscritorio = Guid.Empty;
            Status           = EStatusMensagemPublica.Publica;
        }
        public void AssociarEscritorio(Guid codigoEscritorio)
        {
            if (Status != EStatusMensagemPublica.Publica)
            {
                AddNotification("Status", "Não é possível associar um escritório para uma mensagem não pública");
                throw new DomainException(this);
            }

            CodigoEscritorio = codigoEscritorio;
            Status           = EStatusMensagemPublica.EscritorioInteressado;
        }
        public MensagemPublica(Guid codigoEscritorio,
                               string nomeCliente,
                               Email contatoCliente,
                               CPF cpfCliente,
                               Descricao mensagem)
        {
            CodigoEscritorio = codigoEscritorio;
            NomeCliente      = nomeCliente;
            ContatoCliente   = contatoCliente;
            CpfCliente       = cpfCliente;
            Mensagem         = mensagem;
            Status           = EStatusMensagemPublica.Publica;

            Validar();
        }