Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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));
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
            }
        }
Пример #8
0
/// <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);
        }