Exemplo n.º 1
0
 public CursoAberto(
     string codigo, Curso curso, decimal preco, TipoDeCursoAberto tipoDeCursoAberto,
     string empresa, DateTime?periodoInicialParaMatricula, DateTime?periodoFinalParaMatricula,
     DateTime inicioDoCurso, DateTime fimDoCurso)
 {
     Validar(curso, preco, tipoDeCursoAberto, empresa, periodoInicialParaMatricula, periodoFinalParaMatricula, inicioDoCurso, fimDoCurso);
     Atribuir(codigo, curso, preco, tipoDeCursoAberto, empresa, periodoInicialParaMatricula, periodoFinalParaMatricula, inicioDoCurso, fimDoCurso);
 }
Exemplo n.º 2
0
        public void Setup()
        {
            _codigo            = "XPTO";
            _preco             = 1000m;
            _empresa           = "Empresa";
            _tipoDeCursoAberto = TipoDeCursoAberto.Publico;
            _curso             = FluentBuilder <Curso> .New().Build();

            _periodoInicialParaMatricula = DateTime.Now.AddDays(-1);
            _periodoFinalParaMatricula   = DateTime.Now;
            _dataDeInicioDoCurso         = DateTime.Now.AddDays(+1);
            _dataDeFimDoCurso            = DateTime.Now.AddDays(+10);
            _cursoAberto = FluentBuilder <CursoAberto> .New().Build();
        }
Exemplo n.º 3
0
 private void Atribuir(
     string codigo,
     Curso curso,
     decimal preco,
     TipoDeCursoAberto tipoDeCursoAberto,
     string empresa,
     DateTime?periodoInicialParaMatricula,
     DateTime?periodoFinalParaMatricula,
     DateTime inicioDoCurso,
     DateTime fimDoCurso)
 {
     Codigo  = codigo;
     Curso   = curso;
     Preco   = preco;
     Tipo    = tipoDeCursoAberto;
     Empresa = empresa;
     PeriodoInicialParaMatricula = periodoInicialParaMatricula;
     PeriodoFinalParaMatricula   = periodoFinalParaMatricula;
     InicioDoCurso = inicioDoCurso;
     FimDoCurso    = fimDoCurso;
 }
Exemplo n.º 4
0
 private static void Validar(Curso curso,
                             decimal preco,
                             TipoDeCursoAberto tipoDeCursoAberto,
                             string empresa,
                             DateTime?periodoInicialParaMatricula,
                             DateTime?periodoFinalParaMatricula,
                             DateTime inicioDoCurso,
                             DateTime fimDoCurso)
 {
     ExcecaoDeDominio.Quando(curso == null, "Curso é obrigatório");
     ExcecaoDeDominio.Quando(preco <= 0, "Preço do curso inválido");
     ExcecaoDeDominio.Quando(tipoDeCursoAberto == TipoDeCursoAberto.Nenhum, "Tipo de curso aberto é obrigatório");
     ExcecaoDeDominio.Quando(tipoDeCursoAberto == TipoDeCursoAberto.Publico && !periodoInicialParaMatricula.HasValue, "Período inicial para matricula é obrigatório");
     ExcecaoDeDominio.Quando(tipoDeCursoAberto == TipoDeCursoAberto.Publico && !periodoFinalParaMatricula.HasValue, "Período final para matricula é obrigatório");
     ExcecaoDeDominio.Quando(tipoDeCursoAberto == TipoDeCursoAberto.Fechado && string.IsNullOrEmpty(empresa), "Empresa é obrigatório quando tipo é fechado");
     ExcecaoDeDominio.Quando(periodoInicialParaMatricula > periodoFinalParaMatricula, "Período inicial é maior que período final para matricula");
     ExcecaoDeDominio.Quando(inicioDoCurso <= DateTime.MinValue, "Data de inicio do curso é obrigatório");
     ExcecaoDeDominio.Quando(inicioDoCurso < periodoFinalParaMatricula, "Data de inicio do curso menor que período final para matricula");
     ExcecaoDeDominio.Quando(fimDoCurso <= DateTime.MinValue, "Data de fim do curso é obrigatório");
     ExcecaoDeDominio.Quando(inicioDoCurso > fimDoCurso, "Data de inicio do curso maior que data de fim do curso");
 }