Esempio n. 1
0
        /// <summary>
        /// O método carrega as orientações curriculares da turma.
        /// </summary>
        public void CarregarHabilidades(
            int cur_id,
            int crr_id,
            int crp_id,
            long tur_id,
            long tud_id,
            int cal_id,
            byte tdt_posicao,
            int tnt_id,
            int tpc_id
            )
        {
            DataTable dtOrientacaoCurricular;

            // se a avaliacao tive uma avaliacao pai relacionada, mostrar apenas as habilidades selecionadas na avaliacao pai
            CLS_TurmaNota avaRelacionada = CLS_TurmaNotaBO.GetSelectRelacionadaPai(tud_id, tnt_id);

            if (avaRelacionada.tnt_id > 0)
            {
                dtOrientacaoCurricular = CLS_PlanejamentoOrientacaoCurricularBO.SelecionaPorTurmaPeriodoDisciplinaAvaliacao
                                             (cur_id, crr_id, crp_id, -1, tpc_id, tur_id, tud_id, cal_id, tdt_posicao, false, __SessionWEB.__UsuarioWEB.Usuario.ent_id, avaRelacionada.tnt_id);
            }
            else
            {
                dtOrientacaoCurricular = CLS_PlanejamentoOrientacaoCurricularBO.SelecionaPorTurmaPeriodoDisciplina
                                             (cur_id, crr_id, crp_id, -1, tpc_id, tur_id, tud_id, cal_id, tdt_posicao, false, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
            }

            VS_tnt_id  = tnt_id;
            VS_idAluno = string.Empty;

            //Carrega as habilidades cadastradas para a avaliacao e atualiza o datatable
            listHabilidades = new List <sOrientacaoAlcancada>();
            if (VS_tnt_id > 0)
            {
                CLS_TurmaNotaOrientacaoCurricularBO.SelecionaPorAvaliacao(tud_id, VS_tnt_id).ForEach(
                    p => listHabilidades.Add(new sOrientacaoAlcancada {
                    ocr_id = p.ocr_id, id = p.toc_id, alcancado = p.toc_alcancado
                })
                    );
            }

            List <sOrientacaoNivelAprendizado> dtOrientacaoNiveisAprendizadoAux = new List <sOrientacaoNivelAprendizado>();

            if (dtOrientacaoCurricular.Rows.Count > 0)
            {
                string ocr_ids = string.Join(";", (from DataRow dr in dtOrientacaoCurricular.Rows
                                                   let chave = dr["Chave"].ToString()
                                                               let idsChave = chave.Split(';')
                                                                              let ocr_id = idsChave.Length > 1 ? idsChave[1] : ""
                                                                                           where !string.IsNullOrEmpty(ocr_id)
                                                                                           select ocr_id).Distinct().ToArray());

                dtOrientacaoNiveisAprendizadoAux = ORC_OrientacaoCurricularNivelAprendizadoBO.SelecionaPorOrientacaoNivelAprendizado(ocr_ids, 0, null, ApplicationWEB.AppMinutosCacheLongo);
            }

            CarregarHabilidades(dtOrientacaoCurricular, tdt_posicao, dtOrientacaoNiveisAprendizadoAux);
        }