Esempio n. 1
0
        //private static readonly string _webCacheKey = "CategorieNotizie";

        private static ReportTipologiaItem RetrieveReportTipologiaFromReader(SqlDataReader reader)
        {
            ReportTipologiaItem retrievedReportTipologia = new ReportTipologiaItem();

            retrievedReportTipologia.Tipologia = TipologiaRepository.Instance.RecuperaTipologia(reader.GetInt32(1));
            retrievedReportTipologia.TotaliTipi.Add(1, reader.GetInt32(2));
            retrievedReportTipologia.TotaliTipi.Add(2, reader.GetInt32(3));
            retrievedReportTipologia.TotaliTipi.Add(9, reader.GetInt32(4));
            return(retrievedReportTipologia);
        }
Esempio n. 2
0
        public ReportTipologia RecuperaReportTipologia()
        {
            ReportTipologia            reportTipologia      = null;
            List <ReportTipologiaItem> reportTipologieItems = null;
            MemoryCache cache    = MemoryCache.Default;
            String      cacheKey = "reportTipologia";

            reportTipologia = cache[cacheKey] as ReportTipologia;

            if (reportTipologia == null)
            {
                lock (_lockReportTipologia)
                {
                    reportTipologia = cache[cacheKey] as ReportTipologia;
                    if (reportTipologia == null)
                    {
                        reportTipologia = new ReportTipologia();

                        //SqlConnection connection = null;
                        //SqlCommand command = null;
                        //SqlDataReader reader = null;

                        SqlServerExecuteObject sseo   = null;
                        SqlDataReader          reader = null;
                        //rows = 0;

                        sseo             = new SqlServerExecuteObject();
                        sseo.CommandText = "dbo.SP_RecuperaReportGrafici";
                        sseo.CommandType = CommandType.StoredProcedure;
                        sseo.SqlParameters.AddWithValue("@TipoReport", 1);
                        reader = SqlProvider.ExecuteReaderObject(sseo);
                        reportTipologieItems = new List <ReportTipologiaItem>();
                        while (reader.Read())
                        {
                            ReportTipologiaItem retrievedReportTipologiaItem = RetrieveReportTipologiaFromReader(reader);
                            reportTipologia.RtpItem.Add(retrievedReportTipologiaItem);
                        }
                        if (reader != null)
                        {
                            reader.Close();
                            reader.Dispose();
                        }
                        reportTipologia.TipoProvvedimento.Add(1, TipoProvvedimentoRepository.Instance.RecuperaTipoProvvedimento(1));
                        reportTipologia.TipoProvvedimento.Add(2, TipoProvvedimentoRepository.Instance.RecuperaTipoProvvedimento(2));
                        reportTipologia.TipoProvvedimento.Add(9, TipoProvvedimentoRepository.Instance.RecuperaTipoProvvedimento(9));

                        foreach (ReportTipologiaItem rtp in reportTipologia.RtpItem)
                        {
                            if (rtp.Tipologia.Macrotipologia.ID == 1)
                            {
                                reportTipologia.ReportMT.MT1Via   = reportTipologia.ReportMT.MT1Via + rtp.TotaliTipi[1] + rtp.TotaliTipi[1];
                                reportTipologia.ReportMT.MT1ViaLO = reportTipologia.ReportMT.MT1ViaLO + rtp.TotaliTipi[9];
                            }
                            else if (rtp.Tipologia.Macrotipologia.ID == 2)
                            {
                                reportTipologia.ReportMT.MT2Via   = reportTipologia.ReportMT.MT2Via + rtp.TotaliTipi[2] + rtp.TotaliTipi[2];
                                reportTipologia.ReportMT.MT2ViaLO = reportTipologia.ReportMT.MT2ViaLO + rtp.TotaliTipi[9];
                            }
                        }

                        CacheItemPolicy policy = new CacheItemPolicy();
                        policy.AbsoluteExpiration = DateTime.Now.AddMinutes(1);
                        cache.Add(cacheKey, reportTipologia, policy);
                    }
                }
            }



            return(reportTipologia);
        }