/// <summary> /// Let the user select an existing annotation and edit it /// </summary> /// <returns></returns> public static MetaTable OpenExistingAnnotationTable( UserObject uo) { if (uo == null) // prompt if not supplied { uo = UserObjectOpenDialog.ShowDialog(UserObjectType.Annotation, "Open Annotation"); } if (uo == null) { return(null); } if (!Permissions.UserHasWriteAccess(SS.I.UserName, uo)) { MessageBoxMx.ShowError("You are not authorized to edit this annotation table."); return(null); } UserDataEditor editor = new UserDataEditor(); UserObject uo2 = editor.Edit(uo); if (uo2 == null) { return(null); } string tName = "ANNOTATION_" + uo.Id.ToString(); MetaTable mt = MetaTableCollection.Get(tName); // return new version of metatable return(mt); }
/// <summary> /// Command line to import user data file /// </summary> /// <param name="args"></param> /// <returns></returns> public static string ImportFile( string args) { UserDataEditor editor = new UserDataEditor(); return(editor.ImportFile(args)); }
/// <summary> /// Build a basic database query for the user database /// </summary> /// <param name="uo"></param> /// <returns></returns> internal static bool BuildDatabaseQuery( UserObject uo) { List <UserObject> luo = UserDataEditor.GetUcdbUserObjects(uo.Id); if (luo == null || luo.Count == 0) { MessageBoxMx.ShowError("No tables found for database"); return(false); } Query q = new Query(); foreach (UserObject uo2 in luo) { if (!UserObject.IsMetaTableType(uo2.Type)) { continue; } string mtName = uo2.Type.ToString() + "_" + uo2.Id; MetaTable mt = MetaTableCollection.Get(mtName); if (mt == null) { continue; } QueryTable qt = new QueryTable(mt); q.AddQueryTable(qt); } QbUtil.NewQuery(uo.Name); QbUtil.SetCurrentQueryInstance(q); return(true); }
/// <summary> /// Create a new user database /// </summary> /// <returns></returns> public static UserObject CreateNewUserDatabase() { UserDataEditor editor = new UserDataEditor(); UserObject uo = new UserObject(UserObjectType.UserDatabase); uo = editor.Edit(uo); return(uo); }
/// <summary> /// Create a new annotation /// </summary> /// <returns></returns> public static MetaTable CreateNewAnnotationTable() { UserDataEditor editor = new UserDataEditor(); UserObject uo = new UserObject(UserObjectType.Annotation); uo = editor.Edit(uo); if (uo == null) { return(null); } string tName = "ANNOTATION_" + uo.Id.ToString(); MetaTable mt = MetaTableCollection.Get(tName); return(mt); }
public static UserObject OpenExistingUserDatabase( UserObject uo) { if (uo == null) // prompt if not supplied { uo = UserObjectOpenDialog.ShowDialog(UserObjectType.UserDatabase, "Open User Compound Database"); } if (uo == null) { return(null); } UserDataEditor editor = new UserDataEditor(); uo = editor.Edit(uo); return(uo); }
private void EditDatabase_Click(object sender, EventArgs e) { UcdbDatabase ucdb, ucdb2; UserObject uo; DataRow dr; UserDataEditor editor; long databaseId; string headerString; int ri, li; if (!GetFocusedUo(out ri, out dr, out ucdb, out uo)) { return; } editor = new UserDataEditor(); uo = editor.Edit(uo); if (uo == null) { return; // edit cancelled } ucdb2 = Udbs.SelectDatabaseHeader(ucdb.DatabaseId); // get new form of database if (ucdb2 == null) { return; // shouldn't happen } if (ucdb2.PendingStatus == UcdbWaitState.ModelPredictions) { ucdb2.PendingUpdateDate = DateTime.Now; // assume started } if (Lex.Eq(uo.ParentFolder, ucdb.NameSpace) && Lex.Eq(uo.Name, ucdb.Name)) // no name change, same database { SetupDataRow(dr, ucdb2); } else // saved as new database (not currently supported) { dr = DataTable.NewRow(); SetupDataRow(dr, ucdb2); DataTable.Rows.Add(dr); } }
/// <summary> /// Create a new database /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void NewDatabase_Click(object sender, EventArgs e) { UserDataEditor editor; Dictionary <long, UserObject> uoDict = null; UcdbDatabase ucdb, ucdb2; UserObject uo; DataRow dr; long databaseId; string headerString; int li; editor = new UserDataEditor(); uo = new UserObject(UserObjectType.UserDatabase); uo = editor.Edit(uo); if (uo == null) { return; // edit cancelled } databaseId = Int64.Parse(uo.Content); // get the database id ucdb = Udbs.SelectDatabaseHeader(databaseId); if (ucdb == null) { return; // shouldn't happen } for (int ri = 0; ri < DataTable.Rows.Count; ri++) { dr = DataTable.Rows[ri]; ucdb2 = (UcdbDatabase)dr["Ucdb"]; if (Lex.Eq(ucdb2.NameSpace, ucdb.NameSpace) && Lex.Eq(ucdb2.Name, ucdb.Name)) { // remove any database same name DataTable.Rows.RemoveAt(ri); RenumberRows(); break; } } dr = DataTable.NewRow(); SetupDataRow(dr, ucdb); DataTable.Rows.Add(dr); }