Beispiel #1
0
        public AulaComandoBaseValidador(ISalaRepositorio salaRepositorio,
                                        IHorarioAulaRepositorio horarioAulaRepositorio,
                                        ICargoDisciplinaRepositorio cargoDisciplinaRepositorio)
        {
            _salaRepositorio            = salaRepositorio;
            _horarioRepositorio         = horarioAulaRepositorio;
            _cargoDisciplinaRepositorio = cargoDisciplinaRepositorio;

            ValidatorOptions.CascadeMode = CascadeMode.StopOnFirstFailure;

            RuleFor(lnq => lnq.CodigoSala)
            .NotEmpty()
            .WithMessage("O código da sala não pode ser vazio.");

            RuleFor(lnq => lnq.CodigoHorario)
            .NotEmpty()
            .WithMessage("O código do horário não pode ser vazio.");

            RuleFor(lnq => lnq.CodigoDisciplina)
            .NotEmpty()
            .WithMessage("O código da disciplina não pode ser vazio.");

            When(ValidarSeCamposComandoForamInformados, () =>
            {
                RuleFor(lnq => lnq)
                .MustAsync(ValidarSeSalaExiste)
                .WithMessage(c => $"Não foi encontrada uma sala com o código {c.CodigoSala}.")

                .MustAsync(ValidarSeHorarioExiste)
                .WithMessage(c => $"Não foi encontrado um horário com o código {c.CodigoHorario}")

                .MustAsync(ValidarSeDisciplinaExiste)
                .WithMessage(c => $"Não foi encontrada uma disciplina de cargo com o código {c.CodigoDisciplina}.");
            });
        }
Beispiel #2
0
 public CriarHorarioAulaComandoHandler(IHorarioAulaRepositorio horarioAulaRepositorio,
                                       IValidador <CriarHorarioAulaComando> validador,
                                       IMapper mapper)
 {
     _mapper    = mapper;
     _validador = validador;
     _horarioAulaRepositorio = horarioAulaRepositorio;
 }
Beispiel #3
0
 public AtualizarHorarioAulaComandoHandler(IHorarioAulaRepositorio horarioAulaRepositorio,
                                           IValidador <AtualizarHorarioAulaComando> validador,
                                           IMapper mapper)
 {
     _horarioAulaRepositorio = horarioAulaRepositorio;
     _validador = validador;
     _mapper    = mapper;
 }
Beispiel #4
0
 public LancarAulasComandoValidador(ISalaRepositorio salaRepositorio,
                                    IHorarioAulaRepositorio horarioAulaRepositorio,
                                    ICargoDisciplinaRepositorio cargoDisciplinaRepositorio)
     : base(salaRepositorio, horarioAulaRepositorio, cargoDisciplinaRepositorio)
 {
     RuleFor(lnq => lnq.Reservas)
     .NotEmpty()
     .WithMessage("Não foram informadas reservas.");
 }
Beispiel #5
0
 public ListarHorarioAulaConsultaHandler(IHorarioAulaRepositorio horarioAulaRepositorio,
                                         IMapper mapper,
                                         IUsuarioResolverService usuarioResolverService,
                                         IUsuarioRepositorio usuarioRepositorio)
 {
     _horarioAulaRepositorio = horarioAulaRepositorio;
     _mapper = mapper;
     _usuarioResolverService = usuarioResolverService;
     _usuarioRepositorio     = usuarioRepositorio;
 }
Beispiel #6
0
        public RemoverHorarioComandoValidador(IHorarioAulaRepositorio horarioAulaRepositorio)
        {
            _horarioAulaRepositorio = horarioAulaRepositorio;

            ValidatorOptions.CascadeMode = CascadeMode.StopOnFirstFailure;

            RuleFor(lnq => lnq.CodigoHorario)
            .NotEmpty()
            .WithMessage("O código do horário não foi informado.")

            .MustAsync(ValidarSeHorarioExiste)
            .WithMessage(c => $"Não foi encontrado um horário com o código {c.CodigoHorario}.");
        }
Beispiel #7
0
        public AtualizarHorarioAulaComandoValidador(ITurnoRepositorio turnoRepositorio,
                                                    ICurriculoRepositorio curriculoRepositorio,
                                                    IHorarioAulaRepositorio horarioAulaRepositorio) : base(turnoRepositorio, curriculoRepositorio)
        {
            _horarioAulaRepositorio = horarioAulaRepositorio;

            RuleFor(lnq => lnq.Codigo)
            .NotEmpty()
            .WithMessage("O campo códgo não pode ser vazio.")

            .MustAsync(ValidarSeHorarioExiste)
            .WithMessage(c => $"Não foi encontrado um horário com o código {c.Codigo}.");
        }
Beispiel #8
0
        public CriarAulaComandoValidador(ISalaRepositorio salaRepositorio,
                                         IHorarioAulaRepositorio horarioAulaRepositorio,
                                         IAulaRepositorio aulaRepositorio,
                                         ICargoRepositorio cargoRepositorio,
                                         ICargoDisciplinaRepositorio cargoDisciplinaRepositorio)
            : base(salaRepositorio, horarioAulaRepositorio, cargoDisciplinaRepositorio)
        {
            _aulaRepositorio  = aulaRepositorio;
            _cargoRepositorio = cargoRepositorio;

            ValidatorOptions.CascadeMode = CascadeMode.StopOnFirstFailure;

            RuleFor(lnq => lnq.Reserva)
            .NotEmpty()
            .WithMessage("Não foi reservado horário e dia da semana para a aula")
            .DependentRules(() =>
            {
                RuleFor(lnq => lnq.Reserva.DiaSemana)
                .NotEmpty()
                .WithMessage("O Dia da semana não pode ser vazio.");

                RuleFor(lnq => lnq.Reserva.Hora)
                .NotEmpty()
                .WithMessage("O campo hora não pode ser vazio.");
            });

            When(lnq => lnq.Desdobramento, () =>
            {
                RuleFor(lnq => lnq.DescricaoDesdobramento)
                .NotEmpty()
                .WithMessage("Não foi informada uma descrição para o desdobramento.");
            });

            When(ValidarSeCamposComandoForamInformados, () =>
            {
                RuleFor(lnq => lnq)

                .MustAsync(ValidarSeHorarioDisponivel)
                .WithMessage(x => $"Não foi possível criar a aula para {x.Reserva.DiaSemana} às {x.Reserva.Hora}h, pois já tem uma aula reservada para esse dia e horário.")

                .MustAsync(ValidarSeCargoDisponivel)
                .WithMessage(x => $"Não foi possível criar a aula, pois o cargo selecionado já está reservado para {x.Reserva.DiaSemana} às {x.Reserva.Hora}h.")

                .MustAsync(ValidarSeProfessorDisponivel)
                .WithMessage(x => $"Não foi possível criar a aula, pois o professor selecionado já está reservado para {x.Reserva.DiaSemana} às {x.Reserva.Hora}h.")

                .MustAsync(ValidarSeSalaDisponivel)
                .WithMessage(x => $"Não foi possível criar a aula, pois a sala selecionada já está reservada para {x.Reserva.DiaSemana} às {x.Reserva.Hora}h.");
            });
        }
Beispiel #9
0
        public RemoverCurriculoComandoValidador(ICurriculoRepositorio repositorio, IHorarioAulaRepositorio horarioAulaRepositorio)
        {
            _repositorio            = repositorio;
            _horarioAulaRepositorio = horarioAulaRepositorio;

            ValidatorOptions.CascadeMode = CascadeMode.StopOnFirstFailure;

            RuleFor(lnq => lnq.CodigoCurriculo)
            .MustAsync(ValidarCurriculoExistente)
            .WithMessage(comando => $"Não foi possível remover o currículo: Currículos com código {comando.CodigoCurriculo} não encontrado!")

            .MustAsync(ValidarSeCurriculoTemDisciplina)
            .WithMessage("Não foi possível remover esse currículo pois tem disciplinas vinculadas a ele.")

            .MustAsync(ValidarSeCurriculoVinculadoEmHorarios)
            .WithMessage("Não foi possível remover esse currículo pois ele está vinculado a horários.");
        }
Beispiel #10
0
 public GerarRelatorioHorarioGeralConsultaHandler(IValidador <GerarHorarioGeralRelatorioConsulta> validador,
                                                  IRelatorioServico relatorioServico,
                                                  IHorarioAulaRepositorio horarioAulaRepositorio,
                                                  IAulaRepositorio aulaRepositorio,
                                                  ITurnoRepositorio turnoRepositorio,
                                                  ICursoRepositorio cursoRepositorio,
                                                  ICurriculoRepositorio curriculoRepositorio,
                                                  ISalaRepositorio salaRepositorio,
                                                  ICargoService cargoService)
 {
     _validador              = validador;
     _relatorioServico       = relatorioServico;
     _horarioAulaRepositorio = horarioAulaRepositorio;
     _turnoRepositorio       = turnoRepositorio;
     _aulaRepositorio        = aulaRepositorio;
     _cursoRepositorio       = cursoRepositorio;
     _curriculoRepositorio   = curriculoRepositorio;
     _salaRepositorio        = salaRepositorio;
     _cargoService           = cargoService;
 }
Beispiel #11
0
        public RemoverTurnoComandoValidador(ITurnoRepositorio repositorio,
                                            ICargoDisciplinaRepositorio cargoDisciplinaRepositorio,
                                            IHorarioAulaRepositorio horarioAulaRepositorio)
        {
            _repositorio = repositorio;
            _cargoDisciplinaRepositorio = cargoDisciplinaRepositorio;
            _horarioAulaRepositorio     = horarioAulaRepositorio;

            ValidatorOptions.CascadeMode = CascadeMode.StopOnFirstFailure;

            RuleFor(lnq => lnq.TurnoId)
            .NotEmpty()
            .WithMessage("O código do turno não pode ser vazio")

            .MustAsync(ValdiarTurnoExistente)
            .WithMessage(lnq => $"Não foi encontrado um turno com o código {lnq.TurnoId}.")

            .MustAsync(ValidarSeTurnoTemVinculoComDisciplinaDeCargo)
            .WithMessage(c => $"Não foi possível remover o turno pois ele está vinculado a disciplina do cargo de código {_cargoDisciplina.CodigoCargo}.")

            .MustAsync(ValidarSeTurnoEstaVinculadoEmHorario)
            .WithMessage("Não foi possível remover o turno pois ele está vinculado em horarios.");
        }
Beispiel #12
0
 public ListarAulaPorHorarioValidador(IHorarioAulaRepositorio horarioAulaRepositorio)
 {
     _horarioAulaRepositorio = horarioAulaRepositorio;
 }
Beispiel #13
0
 public RemoverHorarioComandoHandler(IHorarioAulaRepositorio horarioAulaRepositorio, IValidador <RemoverHorarioComando> validador)
 {
     _horarioAulaRepositorio = horarioAulaRepositorio;
     _validador = validador;
 }