private static ReportEsitoItem RetrieveReportEsitoFromReader(SqlDataReader reader) { ReportEsitoItem reItem = new ReportEsitoItem(); reItem.Esito = reader.GetString(0); reItem.Percentuale = reader.GetInt32(1); return(reItem); }
public ReportEsito RecuperaReportEsitoVIA() { ReportEsito reportEsito = null; List <ReportEsitoItem> reportEsitoItems = null; MemoryCache cache = MemoryCache.Default; String cacheKey = "reportEsitoVIA"; reportEsito = cache[cacheKey] as ReportEsito; if (reportEsito == null) { lock (_lockReportEsitoVIA) { reportEsito = cache[cacheKey] as ReportEsito; if (reportEsito == null) { reportEsito = new ReportEsito(); SqlServerExecuteObject sseo = null; SqlDataReader reader = null; //rows = 0; sseo = new SqlServerExecuteObject(); sseo.CommandText = "dbo.SP_RecuperaReportGrafici"; sseo.CommandType = CommandType.StoredProcedure; sseo.SqlParameters.AddWithValue("@TipoReport", 3); reader = SqlProvider.ExecuteReaderObject(sseo); reportEsitoItems = new List <ReportEsitoItem>(); while (reader.Read()) { ReportEsitoItem retrievedReportEsito = RetrieveReportEsitoFromReader(reader); reportEsito.ListaEsiti.Add(retrievedReportEsito); } if (reader != null) { reader.Close(); reader.Dispose(); } CacheItemPolicy policy = new CacheItemPolicy(); policy.AbsoluteExpiration = DateTime.Now.AddMinutes(1); cache.Add(cacheKey, reportEsito, policy); } } } return(reportEsito); }