Example #1
0
        public async Task <Resposta <bool> > Handle(RemoverCargoComando request, CancellationToken cancellationToken)
        {
            var erro = _validador.Validar(request);

            if (!string.IsNullOrEmpty(erro))
            {
                return(new Resposta <bool>(erro));
            }

            var resultado = false;

            await _contexto.IniciarTransacao();

            var disciplinas = await _cargoDisciplinaRepositorio.Listar(lnq => lnq.CodigoCargo == request.Codigo);

            foreach (var disciplina in disciplinas)
            {
                await _cargoDisciplinaRepositorio.Remover(lnq => lnq.Codigo == disciplina.Codigo);
            }

            resultado = _cargoRepositorio.Remover(lnq => lnq.Codigo == request.Codigo).Result;

            _contexto.FecharTransacao();

            return(new Resposta <bool>(resultado));
        }
Example #2
0
        private async Task <HorarioIndividualRelatorioData> GerarDadosRelatorioIndividual(GerarHorarioIndividualRelatorioConsulta request)
        {
            var professor = await _professorRepositorio.Consultar(lnq => lnq.Codigo == request.CodigoProfessor);

            var cargos = await _cargoRepositorio.Listar(lnq => lnq.CodigoProfessor == request.CodigoProfessor &&
                                                        lnq.Ano == request.Ano &&
                                                        lnq.Semestre == request.Semestre);

            if (cargos == null || cargos.Count <= 0)
            {
                return(new HorarioIndividualRelatorioData());
            }

            var cargosId = cargos.Select(lnq => lnq.Codigo);

            var disciplinasCargo = await _cargoDisciplinaRepositorio.Listar(lnq => cargosId.Contains(lnq.CodigoCargo));

            return(new HorarioIndividualRelatorioData
            {
                Ano = request.Ano,
                Semestre = request.Semestre.RetornarDescricao(),
                Cargo = cargos.Select(lnq => $"Cargo: {lnq.Numero} - Edital: {lnq.Edital}").Join(", "),
                Professor = professor.Nome,
                DisciplinasMinistradas = await ListarDisciplinasMinistradas(disciplinasCargo),
                Aulas = await CarregarAulas(disciplinasCargo)
            });
        }
Example #3
0
        public async Task <Resposta <List <CargoDisciplinaViewModel> > > Handle(ListarTodasDisciplinasCargoConsulta request, CancellationToken cancellationToken)
        {
            var erro = _validador.Validar(request);

            if (!string.IsNullOrEmpty(erro))
            {
                return(new Resposta <List <CargoDisciplinaViewModel> >(erro));
            }

            var resultado = await _repositorio.Listar(lnq => lnq.CodigoCargo == request.CodigoCargo);

            var disciplinasCurriculo = new List <CargoDisciplinaViewModel>();

            foreach (var cargoDisciplina in resultado)
            {
                var disciplina = await _repositorio.RetornarDisciplina(cargoDisciplina.CodigoCurriculoDisciplina);

                var curriculoDisciplina = await _repositorio.RetornarCurriculoDisciplina(cargoDisciplina.CodigoCurriculoDisciplina);

                var cargoDisciplinaViewModel = new CargoDisciplinaViewModel
                {
                    Codigo      = cargoDisciplina.Codigo,
                    CodigoCargo = cargoDisciplina.CodigoCargo,
                    CodigoCurriculoDisciplina = cargoDisciplina.CodigoCurriculoDisciplina,
                    CursoDescricao            = $"{curriculoDisciplina.Curso.Descricao} - {curriculoDisciplina.Ano}",
                    TurnoDescricao            = cargoDisciplina.Turno.Descricao,
                    CodigoTurno     = cargoDisciplina.CodigoTurno,
                    Descricao       = cargoDisciplina.Descricao ?? disciplina.Descricao,
                    CodigoCurriculo = curriculoDisciplina.Codigo
                };

                disciplinasCurriculo.Add(cargoDisciplinaViewModel);
            }

            return(new Resposta <List <CargoDisciplinaViewModel> >(disciplinasCurriculo));
        }