public Ata(string criador, int numero, string codigoCipa, string local, DateTime inicio, DateTime termino) : this() { if (numero <= 0) { throw new NumeroDeIdentificacaoInvalidoException(); } if (string.IsNullOrWhiteSpace(codigoCipa)) { throw new CodigoNaoPodeSerNuloException(); } if (termino < inicio) { throw new DataNaoPodeSerNoPassadoException(); } Id = Guid.NewGuid(); CreationDate = DateTime.UtcNow; CreationUser = criador; Codigo = $"{codigoCipa}-ATA-{numero.ToString().PadLeft(3, '0')}"; CodigoCipa = codigoCipa; Numero = numero; Local = local?.Trim(); Inicio = inicio; Termino = termino; Status = StatusAta.EmEdicao; Finalizacao = Acao.GetEmpty(); Aprovacao = Acao.GetEmpty(); Fechamento = Acao.GetEmpty(); }
public void Reabrir() { if (Status != StatusAta.Finalizada) { throw new StatusAtaDeReuniaoInvalidoException(StatusAta.Finalizada, Status); } foreach (var participante in Participantes) { participante.DarConsent(Status, false, "Consent automático por reabertura da ata."); } Status = StatusAta.EmEdicao; Finalizacao = Acao.GetEmpty(); Aprovacao = Acao.GetEmpty(); }