public ReportTipoProvvedimento RecuperaReportTipoProvvedimento() { ReportTipoProvvedimento reportTipoProvvedimento = null; List <ReportTipoProvvedimentoItem> reportTipoProvvedimentoItem = null; MemoryCache cache = MemoryCache.Default; String cacheKey = "reportTipoProvvedimento"; reportTipoProvvedimento = cache[cacheKey] as ReportTipoProvvedimento; if (reportTipoProvvedimento == null) { lock (_lockReportProvvedimento) { reportTipoProvvedimento = cache[cacheKey] as ReportTipoProvvedimento; if (reportTipoProvvedimento == null) { reportTipoProvvedimento = new ReportTipoProvvedimento(); SqlServerExecuteObject sseo = null; SqlDataReader reader = null; //rows = 0; sseo = new SqlServerExecuteObject(); sseo.CommandText = "dbo.SP_RecuperaReportGrafici"; sseo.CommandType = CommandType.StoredProcedure; sseo.SqlParameters.AddWithValue("@TipoReport", 2); reader = SqlProvider.ExecuteReaderObject(sseo); reportTipoProvvedimentoItem = new List <ReportTipoProvvedimentoItem>(); while (reader.Read()) { ReportTipoProvvedimentoItem retrievedReportTipoProvvedimentoItem = RetrieveReportTipoProvvedimentoFromReader(reader); reportTipoProvvedimento.RtpItem.Add(retrievedReportTipoProvvedimentoItem); } if (reader != null) { reader.Close(); reader.Dispose(); } reportTipoProvvedimento.TipoProvvedimento.Add(1, TipoProvvedimentoRepository.Instance.RecuperaTipoProvvedimento(1)); reportTipoProvvedimento.TipoProvvedimento.Add(2, TipoProvvedimentoRepository.Instance.RecuperaTipoProvvedimento(2)); reportTipoProvvedimento.TipoProvvedimento.Add(9, TipoProvvedimentoRepository.Instance.RecuperaTipoProvvedimento(9)); CacheItemPolicy policy = new CacheItemPolicy(); policy.AbsoluteExpiration = DateTime.Now.AddMinutes(1); cache.Add(cacheKey, reportTipoProvvedimento, policy); } } } return(reportTipoProvvedimento); }
private static ReportTipoProvvedimentoItem RetrieveReportTipoProvvedimentoFromReader(SqlDataReader reader) { ReportTipoProvvedimentoItem retrievedReportTipoProvvedimento = null; retrievedReportTipoProvvedimento = new ReportTipoProvvedimentoItem(); retrievedReportTipoProvvedimento.Anno = reader.GetInt32(0); //retrievedReportTipoProvvedimento.TipoProvvedimento.Add(1, TipoProvvedimentoRepository.Instance.RecuperaTipoProvvedimento(1)); //retrievedReportTipoProvvedimento.TipoProvvedimento.Add(2, TipoProvvedimentoRepository.Instance.RecuperaTipoProvvedimento(2)); //retrievedReportTipoProvvedimento.TipoProvvedimento.Add(9, TipoProvvedimentoRepository.Instance.RecuperaTipoProvvedimento(9)); //retrievedReportTipoProvvedimento.Totale = reader.GetInt32(2); retrievedReportTipoProvvedimento.TotaliTipi.Add(1, reader.GetInt32(1)); retrievedReportTipoProvvedimento.TotaliTipi.Add(2, reader.GetInt32(2)); retrievedReportTipoProvvedimento.TotaliTipi.Add(9, reader.GetInt32(3)); return(retrievedReportTipoProvvedimento); }