Esempio n. 1
0
        public DataTable GetProdutos(string connection, ABUtil.ABCommandArgs AbArgs)
        {
            try
            {
                DataTable Produtos = cache["Produtos"] as DataTable;

                WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.TAT2Request, "GetProdutos  - TB196 ", AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                //Vai lêr à tabela
                if (Produtos == null)
                {
                    OdbcConnection con = new OdbcConnection(connection);
                    DataSet        ds  = new DataSet();

                    try
                    {
                        OdbcDataAdapter ad = new OdbcDataAdapter("SELECT CELEMTAB1, GELEM30, NELEMC01, NELEMC02 FROM TB196 where NELEMC01 != '' AND NELEMC13 = 'S'  order by NELEMC01", con); //Tabela geral TB196
                        ad.Fill(ds);
                    }
                    finally
                    {
                        con.Close();
                    }

                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.TAT2Request, "Setting cache for [Produtos]", AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                    //Set Cache
                    System.Runtime.Caching.CacheItemPolicy policy = new System.Runtime.Caching.CacheItemPolicy();
                    policy.AbsoluteExpiration = DateTimeOffset.Now.AddDays(1);
                    cache.Set("Produtos", ds.Tables[0], policy);

                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.TAT2Request, "Retun value count: " + ds.Tables[0].Rows.Count, AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                    return(ds.Tables[0]);
                }
                //Devolver valor em cache
                else
                {
                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.TAT2Request, "Cache found for [Produtos] : " + Produtos.Rows.Count, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                    return(Produtos);
                }
            }
            catch (Exception ex)
            {
                WriteLog.Log(System.Diagnostics.TraceLevel.Error, MultilinhasObjects.LogTypeName.TAT2Request, ex, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                DataTable dt = new DataTable();

                return(dt);
            }
        }
Esempio n. 2
0
        public static Dictionary <string, string>[] GetRows(bool useCache = true)
        {
            System.Runtime.Caching.ObjectCache cache = MemoryCache.Default;
            CacheItemPolicy policy = new CacheItemPolicy();

            policy.AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(1);

            if (useCache && cache["FWK_ConfigSettings"] != null)
            {
                return(cache["FWK_ConfigSettings"] as Dictionary <string, string>[]);
            }

            var result = new List <Dictionary <string, string> >();

            using (var conn = new SqlConnection(Jics))
            {
                const string scmd = "select * from [dbo].FWK_ConfigSettings;";
                using (var cmd = new SqlCommand(scmd, conn))
                {
                    conn.Open();
                    var r = cmd.ExecuteReader();

                    if (!r.HasRows)
                    {
                        throw new Exception("No data from FWK_ConfigSettings");
                    }

                    while (r.Read())
                    {
                        var row = new Dictionary <string, string>();
                        for (var i = 0; i < r.FieldCount; ++i)
                        {
                            row[r.GetName(i)] = r[i] as string;
                        }
                        result.Add(row);
                    }
                }
            }

            cache.Set("FWK_ConfigSettings", result.ToArray(), policy);
            return(cache["FWK_ConfigSettings"] as Dictionary <string, string>[]);
        }