/// <summary> /// Busca os tipos de resultados, de acordo com o curso, o currículo e o período. /// </summary> /// <param name="cur_id">ID do curso</param> /// <param name="crr_id">ID do currículo</param> /// <param name="crp_id">ID do período</param> /// <returns></returns> public static List <Struct_TipoResultado> SelecionaTipoResultado(int cur_id, int crr_id, int crp_id, EnumTipoLancamento tipoLancamento, int tds_id = -1) { List <Struct_TipoResultado> dados = null; if (HttpContext.Current != null) { // Chave padrão do cache - nome do método + parâmetros. string chave = RetornaChaveCache_TipoResultado(cur_id, crr_id, crp_id, tipoLancamento, tds_id); object cache = HttpContext.Current.Cache[chave]; if (cache == null) { dados = SelecionaTipoResultado(cur_id, crr_id, crp_id, (byte)tipoLancamento, tds_id); // Adiciona cache com validade de 6h. HttpContext.Current.Cache.Insert(chave, dados, null, DateTime.Now.AddMinutes(GestaoEscolarUtilBO.MinutosCacheMedio) , System.Web.Caching.Cache.NoSlidingExpiration); } else { dados = (List <Struct_TipoResultado>)cache; } } if (dados == null) { // Se não carregou pelo cache, seleciona os dados do banco. dados = SelecionaTipoResultado(cur_id, crr_id, crp_id, (byte)tipoLancamento, tds_id); } return(dados); }
/// <summary> /// Retorna a chave do cache utilizada para a consulta de tipos de resultados. /// </summary> /// <param name="cur_id">ID do curso</param> /// <param name="crr_id">ID do currículo</param> /// <param name="crp_id">ID do período</param> /// <param name="tipoLancamento">Tipo de lançamento</param> /// <param name="tds_id">Tipo de disciplina</param> /// <returns></returns> public static string RetornaChaveCache_TipoResultado(int cur_id, int crr_id, int crp_id, EnumTipoLancamento tipoLancamento, int tds_id) { return(string.Format("{0}_{1}_{2}_{3}_{4}_{5}", Cache_TipoResultado, cur_id, crr_id, crp_id, (byte)tipoLancamento, tds_id)); }