/// <summary> /// Carrega o combo com os formatos de avaliação padrão ativo ou de um formato específico. /// </summary> /// <param name="fav_id">Id do formato de avaliação</param> public void CarregarPorRegrasSemPeriodo_SeriadoAvaliacoes ( int fav_id , int qtdeAvaliacaoPeriodica , bool seriadoAvaliacoes ) { try { ddlCombo.Items.Clear(); ddlCombo.DataSource = ACA_FormatoAvaliacaoBO.SelecionaPor_RegrasCurriculoPeriodo(fav_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, qtdeAvaliacaoPeriodica, seriadoAvaliacoes); ddlCombo.Items.Insert(0, new ListItem("-- Selecione um formato de avaliação --", "-1", true)); ddlCombo.AppendDataBoundItems = true; ddlCombo.DataBind(); } catch (Exception e) { // Grava o erro e mostra pro usuário. ApplicationWEB._GravaErro(e.InnerException); lblMessage.Text = "Erro ao tentar carregar " + lblTitulo.Text.Replace('*', ' ').ToLower() + "."; lblMessage.Visible = true; } }
/// <summary> /// Carrega o combo com os formatos de avaliação padrão ativo ou de um formato específico. /// Valida regras do curso /// </summary> /// <param name="fav_id">Id do formato de avaliação</param> /// <param name="cur_id">ID do curso</param> /// <param name="crr_id">ID do currículo</param> /// <param name="crp_id">ID do curriculoPeriodo</param> public void CarregarPorRegrasCurso (int fav_id, int cur_id, int crr_id, int crp_id, Nullable <bool> tur_docenteEspecialista) { try { ACA_Curriculo crr = new ACA_Curriculo { cur_id = cur_id, crr_id = crr_id }; ACA_CurriculoBO.GetEntity(crr); // Verifica se o curso tem regime de matrícula seriado por avaliações. if ((ACA_CurriculoRegimeMatricula)crr.crr_regimeMatricula == ACA_CurriculoRegimeMatricula.SeriadoPorAvaliacoes) { // Se curso seriado por avaliações, usa o outro método de carregar, para usar as regras específicas. CarregarPorRegrasCurso_SeriadoAvaliacoes(fav_id, crr.crr_qtdeAvaliacaoProgressao, cur_id, crr_id, crp_id, tur_docenteEspecialista); } else { ddlCombo.Items.Clear(); object lista; string doc_especialista = tur_docenteEspecialista == null ? string.Empty : tur_docenteEspecialista.ToString(); string chave = string.Format("FormatoAvaliacao_{0};{1};{2};{3};{4}", fav_id, cur_id, crr_id, crp_id, doc_especialista); object cache = Cache[chave]; if (cache == null) { // Carrega do banco para guardar em cache. DataTable dt = ACA_FormatoAvaliacaoBO.SelecionaPor_RegrasCurriculoPeriodo (fav_id, cur_id, crr_id, crp_id, tur_docenteEspecialista, __SessionWEB.__UsuarioWEB.Usuario.ent_id); lista = (from DataRow dr in dt.Rows select new { fav_nome = dr["fav_nome"].ToString() , fav_id = dr["fav_id"].ToString() }).ToList(); // Adiciona cache com validade de 1 hora. Cache.Insert(chave, lista, null, DateTime.Now.AddHours(1), System.Web.Caching.Cache.NoSlidingExpiration); } else { lista = cache; } ddlCombo.DataSource = lista; _MostrarMessageSelecione = true; ddlCombo.DataBind(); } } catch (Exception e) { // Grava o erro e mostra pro usuário. ApplicationWEB._GravaErro(e.InnerException); lblMessage.Text = "Erro ao tentar carregar " + lblTitulo.Text.Replace('*', ' ').ToLower() + "."; lblMessage.Visible = true; } }