Пример #1
0
        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();
        }
Пример #2
0
        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();
        }