public void GerarAta(string criador, int numeroAta, string codigoCipa, string local, DateTime inicio, DateTime termino) { if (Status == StatusAgendamento.Realizado || Status == StatusAgendamento.Cancelado) { throw new StatusAgendamentoNaoPermiteAlteracaoException(); } if (Ata != null) { throw new AtaDeReuniaoJaGeradaException(); } Ata = new Ata(criador, numeroAta, codigoCipa, local, inicio, termino); Status = StatusAgendamento.Realizado; }
public void DefinirNovaDescricao(string criador, Ata ata, string novaDescricao) { if (string.IsNullOrWhiteSpace(novaDescricao)) { throw new DescricaoNaoPodeSerNulaException(); } if (ata.Status == StatusAta.Aprovada) { _alteracoes.Add(new Alteracao(CreationDate, CreationUser, Descricao, Versao)); Versao++; foreach (var participante in ata.Participantes) { participante.DarConsent(ata.Status, false, $"Consent automático por alteração na descrição do assunto {Numero.ToString()}."); } } CreationDate = DateTime.UtcNow; CreationUser = criador; Descricao = novaDescricao.Trim(); }