Пример #1
0
        public void DefinirNovaDescricao(string criador, Ata ata, string novaDescricao)
        {
            if (ata.Status == StatusAta.Aprovada)
            {
                throw new StatusAtaDeReuniaoInvalidoException(StatusAta.Finalizada, StatusAta.Aprovada);
            }

            if (string.IsNullOrWhiteSpace(novaDescricao))
            {
                throw new DescricaoNaoPodeSerNulaException();
            }

            if (ata.Status == StatusAta.Finalizada)
            {
                _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();
        }
Пример #2
0
        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;
        }