/// <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); } }
/// <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); }