public IEnumerable <TableDataRecord> Query(IOEngine io, string tableName, string entityId, string parentIdFilter = null, IQueryCollection queryParams = null) { var td = io.Tables[tableName].GetData(entityId); td.Records.ParentIdFilter = parentIdFilter; var result = td.Records.ToList(); if (queryParams != null && queryParams.ContainsKey("select")) { string selectedFieldsList = queryParams["select"]; var selectedFields = selectedFieldsList.Split(','); foreach (var tdr in result) { tdr.Properties = new Dictionary <string, object>(); foreach (var p in selectedFields) { if (io.Tables[tableName].Fields.ContainsKey(p.ToLower())) { tdr.Properties.Add(_dataModelRepository.GetFieldName(tableName, p), tdr.get_ItemConverted(p)); } } } } return(result); }
public IEnumerable <IDictionary <string, object> > GetLibrary(IOEngine io, string libraryName) { var list = new List <Dictionary <string, object> >(); var datatable = io.Library.GetDataTable(libraryName); var idx = 0; foreach (DataRow row in datatable.Rows) { var val = new Dictionary <string, object>(); val["recordId"] = idx; foreach (DataColumn col in datatable.Columns) { val[col.ColumnName] = row[col.ColumnName]; } list.Add(val); idx++; } return(list); }
static void Main(string[] args) { AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += new ResolveEventHandler(CurrentDomain_ReflectionOnlyAssemblyResolve); var mainFolder = @"C:\Peloton\WellView"; var assembly = Assembly.LoadFrom(mainFolder + @"\system\bin\Peloton.AppFrame.IO.dll"); var library = Assembly.LoadFrom(mainFolder + @"\system\bin\Peloton.AppFrame.Library.dll"); var io = new IOEngine(mainFolder + @"\system", mainFolder + @"\custom", mainFolder + @"\user", "All Data", "", "US"); io.Connect(DBMS.SQLCompact, mainFolder + @"\user\database\wv10.0 sample.sdf", "", "", "", true); var dt = io.Library.GetDataTable("libcascomp"); var firstEntity = io.Search("SELECT idwell from wvwellheader", new List <object>()).FirstOrDefault(); var td = io.Tables["wvjob"].GetData(firstEntity); var tdrc = td.Records; var f = tdrc[0]; var lastRecordId = tdrc.Last().UniqueId; var tdr = tdrc[lastRecordId]; var doesContain = tdrc.Contains(lastRecordId); var removedRecord = tdrc.Remove(lastRecordId); td.Update(true); Console.WriteLine("Done!"); }
public void Delete(IOEngine io, string tableName, string entityId, string uniqueId) { var td = io.Tables[tableName].GetData(entityId); if (td.Records.Contains(uniqueId)) { td.Records.Remove(uniqueId); td.Update(true); } }
private static void Start() { if (Instance != null) { return; } Instance = new IOEngine(); Instance.thread = new Thread(Instance.Main); Instance.thread.Start(); #if UNITY_EDITOR AssemblyReloadEvents.beforeAssemblyReload += Instance.OnBeforeAssemblyReload; #endif }
public TableDataRecord Create(IOEngine io, string parentTableName, string tableName, string entityId, string parentId, IDictionary <string, object> properties) { properties = new Dictionary <string, object>(properties, StringComparer.OrdinalIgnoreCase); TableData td; TableDataRecord tdr; if (io.TableMain.Key == tableName) { entityId = io.AddEntity(); td = io.Tables[tableName].GetData(entityId); tdr = td.Records[entityId]; } else { td = io.Tables[tableName].GetData(entityId); tdr = td.Records.Add(parentId); } var newUniqueId = tdr.UniqueId; foreach (var p in properties.Where(prop => io.Tables[tableName].Fields.ContainsKey(prop.Key))) { try { tdr.set_ItemConverted(p.Key.ToLower(), p.Value); } catch (Exception e) { Console.WriteLine(e); } } td.Update(true); td.Refresh(); tdr = td.Records[newUniqueId]; tdr.Properties = new Dictionary <string, object>(); foreach (var p in io.Tables[tableName.ToLower()].Fields.Keys) { tdr.Properties.Add(_dataModelRepository.GetFieldName(tableName, p), tdr.get_ItemConverted(p)); } return(tdr); }
public TableDataRecord Update(IOEngine io, string tableName, string entityId, string uniqueId, IDictionary <string, object> properties) { properties = new Dictionary <string, object>(properties, StringComparer.OrdinalIgnoreCase); var td = io.Tables[tableName].GetData(entityId); var tdr = td.Records[uniqueId]; foreach (var f in io.Tables[tableName].Fields) { try { tdr.set_ItemConverted(f.Key, properties.ContainsKey(f.Key) ? properties[f.Key] : null); } catch (Exception e) { Console.WriteLine(e); } } td.Update(true); td.Refresh(); tdr = td.Records[uniqueId]; tdr.Properties = new Dictionary <string, object>(); foreach (var p in io.Tables[tableName.ToLower()].Fields.Keys) { tdr.Properties.Add(_dataModelRepository.GetFieldName(tableName, p), tdr.get_ItemConverted(p)); } return(tdr); }
public TableDataRecord Get(IOEngine io, string tableName, string entityId, string uniqueId, IQueryCollection queryParams = null) { var td = io.Tables[tableName].GetData(entityId); var tdr = td.Records[uniqueId]; tdr.Properties = new Dictionary <string, object>(); if (queryParams != null && queryParams.ContainsKey("select")) { string selectedFieldsList = queryParams["select"]; var selectedFields = selectedFieldsList.Split(','); foreach (var p in selectedFields) { if (io.Tables[tableName].Fields.ContainsKey(p.ToLower())) { tdr.Properties.Add(_dataModelRepository.GetFieldName(tableName, p), tdr.get_ItemConverted(p)); } } } else { foreach (var p in io.Tables[tableName.ToLower()].Fields.Keys) { if (io.Tables[tableName].Fields.ContainsKey(p.ToLower())) { tdr.Properties.Add(_dataModelRepository.GetFieldName(tableName, p), tdr.get_ItemConverted(p)); } } } return(tdr); }
public void CheckIn(IOEngine io) { _pool.PutObject(io); }
public IList <string> SearchEntities(IOEngine io, string sql, List <object> parameters) { var result = io.Search(sql, parameters); return(result); }
public TableMeta GetTable(IOEngine io, string tableName) { return(new TableMeta(io.Tables[tableName])); }
public IList <string> GetTables(IOEngine io) { return(io.Tables.Keys.OrderBy(t => t).ToList()); }
private void Initialize(IStartupOptions startOptions) { LogInformation("Initializing core.."); if (File.Exists(startOptions.ConfigFile)) { LogInformation("Loading configuration."); //The IOManager is not initialized yet, so read the data directly. Settings = JsonConvert.DeserializeObject <MetaServerSettings>(File.ReadAllText(startOptions.ConfigFile)); } else { LogInformation("Initializing new configuration."); Settings = new MetaServerSettings(startOptions.RootPath) { //TODO: Add additional startup options. }; } #region Create Directory Structure. if (Directory.Exists(Settings.RootPath) == false) { Directory.CreateDirectory(Settings.RootPath); } if (Directory.Exists(Settings.TransactionPath) == false) { Directory.CreateDirectory(Settings.TransactionPath); } #endregion //Settings.LoginFile if (File.Exists(Settings.ConfigFile) == false) { //The IOManager is not initialized yet, so write the data directly. File.WriteAllText(Settings.ConfigFile, JsonConvert.SerializeObject(Settings)); } if (File.Exists(Settings.LoginFile) == false) { var loginCatalog = new MetaLoginCollection(); #if DEBUG var defaultLogin = new MetaLogin("root"); defaultLogin.SetPassword("p@ssWord!"); loginCatalog.Add(defaultLogin); #endif //The IOManager is not initialized yet, so write the data directly. File.WriteAllText(Settings.LoginFile, JsonConvert.SerializeObject(loginCatalog)); } LogInformation("Initializing security engine."); Security = new SecurityEngine(this); LogInformation("Initializing IO engine."); IO = new IOEngine(this); LogInformation("Initializing schema engine."); Schema = new SchemaEngine(this); LogInformation("Initializing session engine."); Session = new SessionEngine(this); LogInformation("Initializing latch engine."); Latch = new LatchEngine(this); LogInformation("Initializing transaction engine."); Transaction = new TransactionEngine(this); LogInformation("Initializing document engine."); Document = new DocumentEngine(this); LogInformation("Initializing query engine."); Query = new QueryEngine(this); LogInformation("Starting transaction recovery."); Transaction.Recover(); LogInformation("Transaction recovery complete."); }