Example #1
0
        /// <summary>
        /// Fetches a cached query model object from the cache
        /// </summary>
        /// <param name="key">Saved Query Id</param>
        /// <returns>Table query object</returns>
        public PCAxis.Query.TableQuery FetchQueryModel(string key, bool createCopy = false)
        {
            var queryModelCacheKey = key + QueryModelKeySuffix;

            if (!_cacheEnabled)
            {
                return(null);
            }

            if (_coherenceChecker != null)
            {
                if (!_coherenceChecker())
                {
                    Clear();
                }
            }

            if (!_cache.Contains(queryModelCacheKey))
            {
                return(null);
            }

            var queryModel = (PCAxis.Query.TableQuery)_cache[queryModelCacheKey];

            if (createCopy)
            {
                PCAxis.Query.TableQuery newModel = queryModel.CreateCopy();


                return(newModel);
            }
            else
            {
                return(queryModel);
            }
        }
Example #2
0
        /// <summary>
        /// Adds a query model to the cache
        /// </summary>
        /// <param name="key">Saved Query ID</param>
        /// <param name="queryModel">Table query object</param>
        /// <param name="timeStamp">Time when the table query object was created</param>
        public void StoreQueryModel(string key, PCAxis.Query.TableQuery queryModel, DateTime timeStamp)
        {
            var queryModelCacheKey = key + QueryModelKeySuffix;

            StoreObject(queryModelCacheKey, queryModel, timeStamp);
        }