예제 #1
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));
        }
예제 #2
0
 private async Task <Disciplina> ConsultarDisciplinaCurriculo(long codigoCurriculoDisciplina)
 {
     return(await _cargoDisciplinaRepositorio.RetornarDisciplina(codigoCurriculoDisciplina));
 }