public static NODEDWG SetUp(string currentDWGPath) { string databasePath = GoodiesPath.GetDatabasePathFromDwgPath(currentDWGPath); NODEDWG node; if (string.IsNullOrEmpty(databasePath)) { SQLiteConnection connection = PlumbingDatabaseManager.OpenSqliteConnection(databasePath); node = ReadPNote.ReadDataPNode(connection); } else { while (string.IsNullOrEmpty(databasePath)) { databasePath = GoodiesPath.GetDatabasePathFromDwgPath(currentDWGPath); MessageBox.Show("This file is not path of any project.", "Project Not Found", MessageBoxButtons.OK); ProgramManagerForm form = new ProgramManagerForm(""); form.Show(); } SQLiteConnection connection = PlumbingDatabaseManager.OpenSqliteConnection(databasePath); node = ReadPNote.ReadDataPNode(connection); } return(node); }
public void ReadData() { string dwgPath = Application.DocumentManager.MdiActiveDocument.Name; string dbPath = GoodiesPath.GetDatabasePathFromDwgPath(dwgPath); if (string.IsNullOrEmpty(dbPath)) { MessageBox.Show("Couldn't find the database!"); return; } SQLiteConnection connection = PlumbingDatabaseManager.OpenSqliteConnection(dbPath); connection.Open(); using (SQLiteTransaction sqlTr = connection.BeginTransaction()) { //P_NODE_EDIT.TestingFunction.testing1(ConstantName.TEMPPATH); ReadPNote.ReadDataPNode(connection); sqlTr.Commit(); connection.Close(); } GC.Collect(); GC.WaitForPendingFinalizers(); }
public void RunTest3() { string dwgPath = Application.DocumentManager.MdiActiveDocument.Name; string dbPath = GoodiesPath.GetDatabasePathFromDwgPath(dwgPath); if (string.IsNullOrEmpty(dbPath)) { MessageBox.Show("Couldn't find the database!"); return; } SQLiteConnection connection = PlumbingDatabaseManager.OpenSqliteConnection(dbPath); connection.Open(); using (SQLiteTransaction sqlTr = connection.BeginTransaction()) { WritePNote.WriteScheduleTableToNote(connection); sqlTr.Commit(); connection.Close(); } GC.Collect(); GC.WaitForPendingFinalizers(); }
private static NODEDWG GetData(Database db, SQLiteConnection connection) { NODEDWG note = new NODEDWG(); using (Transaction tr = db.TransactionManager.StartTransaction()) { BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead); BlockTableRecord btr = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForRead); foreach (ObjectId id in btr) { DBObject obj = tr.GetObject(id, OpenMode.ForRead); if (obj is BlockReference) { BlockReference bref = (BlockReference)obj; if (Goodies.IsBlockInTheDrawing(bref)) { if (bref.IsDynamicBlock) { string brefName = Goodies.GetDynamicName(bref); if (brefName.Equals(ConstantName.FixtureInformationArea)) { FixtureBeingUsedArea dbA = new FixtureBeingUsedArea(bref); if (dbA.model != null) { note.FixtureBoxSet.Add(dbA); } } } else if (bref.Name == ConstantName.FixtureDetailsBox) { FixtureDetails FD = new FixtureDetails(bref, tr); if (FD.model != null) { note.FixtureDetailSet.Add(FD); } } else if (bref.Name == ConstantName.InsertPoint) { InsertPoint IP = new InsertPoint(bref, tr); if (IP.model != null) { note.InsertPointSet.Add(IP); } } else if (bref is Table) { TableData tb = new TableData(bref, tr, db); if (tb.model != null) { note.TableDataSet.Add(tb); } } } } } List <FixtureDetails> newFixs = new List <FixtureDetails>(); foreach (FixtureBeingUsedArea fba in note.FixtureBoxSet) { foreach (FixtureDetails fd in note.FixtureDetailSet) { if (fba.IsInsideTheBox(fd)) { newFixs.Add(fd); } } } note.FixtureDetailSet.Clear(); foreach (FixtureDetails fd in newFixs) { note.FixtureDetailSet.Add(fd); } } //Write to Database string currentdwgPath = db.Filename; string dbPath = GoodiesPath.GetDatabasePathFromDwgPath(currentdwgPath); if (string.IsNullOrEmpty(dbPath)) { MessageBox.Show("Could Not Find Database."); } note.file = DBDwgFile.GetPNote(connection); note.file.modifieddate = GoodiesPath.GetModifiedOfFile(GoodiesPath.GetFullPathFromRelativePath(note.file.relativePath, connection)).Ticks; if (note.file == null) { MessageBox.Show($"Can't find this {currentdwgPath} in databse."); return(null); } foreach (FixtureBeingUsedArea fixtureBox in note.FixtureBoxSet) { fixtureBox.model.file = note.file; } foreach (FixtureDetails fd in note.FixtureDetailSet) { fd.model.file = note.file; } foreach (InsertPoint ip in note.InsertPointSet) { ip.model.file = note.file; } foreach (TableData table in note.TableDataSet) { table.model.file = note.file; } DBDwgFile.DeleteRow(connection, note.file.relativePath); note.WriteToDataBase(connection); return(note); }