예제 #1
0
 public Eleicao(
     DateTime dataInicio,
     int duracaoGestao,
     DateTime?terminoMandatoAnterior,
     Usuario usuarioCriacao,
     Estabelecimento estabelecimento,
     Grupo grupo,
     Conta conta)
 {
     DataInicio             = dataInicio.Date;
     DuracaoGestao          = duracaoGestao;
     TerminoMandatoAnterior = terminoMandatoAnterior;
     Estabelecimento        = estabelecimento ?? throw new CustomException("O estabelecimento deve ser informado.");
     if (Estabelecimento.EleicoesDoAnoCorrente.Any())
     {
         throw new CustomException($"Já há uma eleição cadastrada para este estabelecimento no ano de {Gestao}.");
     }
     if (Estabelecimento.EleicoesEmAndamento.Any())
     {
         throw new CustomException($"Existe uma eleição aberta para este estabelecimento.");
     }
     Usuario          = usuarioCriacao ?? throw new CustomException("O usuário de criação deve ser informado.");
     _grupo           = grupo ?? estabelecimento.Grupo ?? throw new CustomException("O grupo deve ser informado.");
     Conta            = conta ?? throw new CustomException("O usuário de criação da eleição deve estar vinculado à uma conta.");;
     _dimensionamento = new Dimensionamento(0, 0, 0, 0);
     Configuracao     = new ConfiguracaoEleicao(true, true, true);
 }
예제 #2
0
 public Eleicao(
     DateTime dataInicio,
     int duracaoGestao,
     DateTime?terminoMandatoAnterior,
     Usuario usuarioCriacao,
     Estabelecimento estabelecimento,
     Grupo grupo) : this(dataInicio, duracaoGestao, terminoMandatoAnterior, usuarioCriacao, estabelecimento, grupo, usuarioCriacao?.Conta)
 {
 }