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); }
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(); } }
public bool PossuiAlgumaPendencia() { return(Status != StatusAta.Aprovada || Participantes.Any(p => !p.PossuiConsentValido) || Ausentes.Any(a => !a.PossuiConsentValido)); }