internal IDataSetStore FindDataCache(IDataflowObject df, IDataStructureObject kf, List <DataCriteria> Criterias, ref Dictionary <string, List <DataChacheObject> > DataCache, bool useAttr, out string DBFileName) { DataChacheObject findCache = null; Dictionary <string, List <string> > Criteri = new Dictionary <string, List <string> >(); Criterias.ForEach(c => Criteri.Add(c.component, c.values)); DBFileName = null; if (DataCache != null) { string DfID = Utils.MakeKey(df); if (DataCache.ContainsKey(DfID)) { List <DataChacheObject> singleDataCache = DataCache[DfID]; findCache = singleDataCache.Find(dc => DictionaryEqual(dc.Criterias, Criteri)); Dictionary <string, List <string> > CriteriDataCache = new Dictionary <string, List <string> >(); if (singleDataCache.Count > 0) { CriteriDataCache = singleDataCache.FirstOrDefault().Criterias; } bool pippo = false; if (CriteriDataCache.Count > 0) { pippo = DictionaryContain(singleDataCache.FirstOrDefault().Criterias, Criteri); } if (pippo) { findCache = singleDataCache.FirstOrDefault(); } } } if (findCache != null) { if (!string.IsNullOrEmpty(findCache.DBFileName) && File.Exists(findCache.DBFileName)) { #region Connessione e Creazione DB SQLLite string ConnectionString = string.Format(CultureInfo.InvariantCulture, Constants.FileDBSettingsFormat, findCache.DBFileName); var info = new DBInfo(ConnectionString); string tempTable = "table_" + Utils.MakeKey(df).Replace("+", "_").Replace(".", ""); IDataSetStore store = new DataSetStoreDB(info, tempTable, kf, false, useAttr); //DBFileName = findCache.DBFileName; store.SetCriteria(Criterias); return(store); #endregion } return(null); } return(null); }
public DataPaging(DataChacheObject findCache) { CurrentPageIndex = 1; PageNumber = 0; PagingFileDirectory = new DirectoryInfo(findCache.PagingDataDirectory); if (!PagingFileDirectory.Exists) PagingFileDirectory.Create(); else { FileInfo[] pagine = PagingFileDirectory.GetFiles(); PageNumber = pagine.Length; } }
public DataPaging(DataChacheObject findCache) { CurrentPageIndex = 1; PageNumber = 0; PagingFileDirectory = new DirectoryInfo(findCache.PagingDataDirectory); if (!PagingFileDirectory.Exists) { PagingFileDirectory.Create(); } else { FileInfo[] pagine = PagingFileDirectory.GetFiles(); PageNumber = pagine.Length; } }