예제 #1
0
        public void Aprovar(string ator)
        {
            if (Status != StatusAta.Finalizada)
            {
                throw new StatusAtaDeReuniaoInvalidoException(StatusAta.Finalizada, Status);
            }

            if (Participantes.Any(p => !p.PossuiConsentValido))
            {
                throw new AtaDeReuniaoSemConsentFavoravelDeTodosParticipantesException();
            }

            if (Ausentes.Any(a => !a.PossuiConsentValido))
            {
                throw new AtaDeReuniaoSemConsentFavoravelDeTodosAusentesException();
            }

            Status    = StatusAta.Aprovada;
            Aprovacao = new Acao(DateTime.Now, ator);
        }
예제 #2
0
        private void CertificarQueAtaEstaAptaParaFechamento()
        {
            if (!PossuiAlgumaPendencia())
            {
                return;
            }

            if (Status != StatusAta.Aprovada)
            {
                throw new StatusAtaDeReuniaoInvalidoException(StatusAta.Aprovada, Status);
            }

            if (Participantes.Any(p => !p.PossuiConsentValido))
            {
                throw new AtaDeReuniaoSemConsentFavoravelDeTodosParticipantesException();
            }

            if (Ausentes.Any(a => !a.PossuiConsentValido))
            {
                throw new AtaDeReuniaoSemConsentFavoravelDeTodosAusentesException();
            }
        }
예제 #3
0
 public bool PossuiAlgumaPendencia()
 {
     return(Status != StatusAta.Aprovada || Participantes.Any(p => !p.PossuiConsentValido) || Ausentes.Any(a => !a.PossuiConsentValido));
 }