diff --git a/PROMS/VEPROMS User Interface/Properties/Settings.Designer.cs b/PROMS/VEPROMS User Interface/Properties/Settings.Designer.cs index bd5a097a..4f2ee3a4 100644 --- a/PROMS/VEPROMS User Interface/Properties/Settings.Designer.cs +++ b/PROMS/VEPROMS User Interface/Properties/Settings.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.4211 +// Runtime Version:2.0.50727.4216 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -243,5 +243,17 @@ namespace VEPROMS.Properties { this["QATItems"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string DefaultDB { + get { + return ((string)(this["DefaultDB"])); + } + set { + this["DefaultDB"] = value; + } + } } } diff --git a/PROMS/VEPROMS User Interface/Properties/Settings.settings b/PROMS/VEPROMS User Interface/Properties/Settings.settings index 9609026a..295099da 100644 --- a/PROMS/VEPROMS User Interface/Properties/Settings.settings +++ b/PROMS/VEPROMS User Interface/Properties/Settings.settings @@ -59,5 +59,8 @@ + + + \ No newline at end of file diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 0695bd4c..0176417b 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -174,10 +174,14 @@ namespace VEPROMS if (parameter.StartsWith("/DB=")) Database.SelectedDatabase = parameter.Substring(4); } + if (Properties.Settings.Default["DefaultDB"] != string.Empty) + Database.LastDatabase = Properties.Settings.Default.DefaultDB; if (!FormatInfo.HasLatestChanges()) throw new Exception("Inconsistent Formats"); if (!ItemAuditInfo.IsChangeManagerVersion()) throw new Exception("Inconsistent Data"); + Properties.Settings.Default.DefaultDB = Database.SelectedDatabase; + Properties.Settings.Default.Save(); VETreeNode tn = VETreeNode.GetFolder(1); tv.Nodes.Add(tn); tv.NodePSI += new vlnTreeViewPSIEvent(tv_NodePSI); diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/Database.cs b/PROMS/VEPROMS.CSLA.Library/Generated/Database.cs index fa5d759d..e8da4f0d 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/Database.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/Database.cs @@ -96,18 +96,41 @@ namespace VEPROMS.CSLA.Library set { _VEPROMS_Connection = value; } } private static string _SelectedDatabase; - public static string SelectedDatabase { get { return Database._SelectedDatabase; } set { Database._SelectedDatabase = value; } } + private static string _LastDatabase="NoDefault"; + public static string LastDatabase + { + get { return Database._LastDatabase; } + set { Database._LastDatabase = value; } + } private static string ChooseDatabase(string constr) + { + if (LastDatabase != "NoDefault" && LastDatabase != "") + { + if (System.Windows.Forms.MessageBox.Show("Open " + LastDatabase, "Reopen Last Database", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) + { + SelectedDatabase = LastDatabase; + return constr.Replace("{MENU}", _SelectedDatabase); + } + } + System.Windows.Forms.ContextMenuStrip cms = BuildDatabaseMenu(constr); + while (_SelectedDatabase == null) + { + cms.Show(new System.Drawing.Point((System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width - cms.Width) / 2, (System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height - cms.Height) / 2)); + System.Windows.Forms.Application.DoEvents(); + } + return constr.Replace("{MENU}", _SelectedDatabase); + } + private static System.Windows.Forms.ContextMenuStrip BuildDatabaseMenu(string constr) { string tmp = constr.Replace("{MENU}", "master"); SqlConnection cn = new SqlConnection(tmp); cn.Open(); -// SqlDataAdapter da = new SqlDataAdapter("select name from sysdatabases where name like 'VEP%' order by name", cn); + // SqlDataAdapter da = new SqlDataAdapter("select name from sysdatabases where name like 'VEP%' order by name", cn); SqlDataAdapter da = new SqlDataAdapter("select name, case when object_id(name + '..Items') is null then 'Not PROMS' when object_id(name + '..Revisions') is not null then 'Approval' when object_id(name + '..ContentAudits') is not null then 'Change Manager' else 'Original' end functionality from sysdatabases where name not in ('master','model','msdb','tempdb') order by name", cn); DataSet ds = new DataSet(); da.Fill(ds); @@ -120,15 +143,10 @@ namespace VEPROMS.CSLA.Library tsmi.Font = new System.Drawing.Font(tsmi.Font, System.Drawing.FontStyle.Bold); foreach (DataRow dr in ds.Tables[0].Rows) { - if(dr["functionality"].ToString() == "Approval") + if (dr["functionality"].ToString() == "Approval") cms.Items.Add(dr["name"].ToString(), null, new EventHandler(Database_Click)); } - while (_SelectedDatabase == null) - { - cms.Show(new System.Drawing.Point((System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width - cms.Width) / 2, (System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height - cms.Height) / 2)); - System.Windows.Forms.Application.DoEvents(); - } - return constr.Replace("{MENU}", _SelectedDatabase); + return cms; } static void Database_Click(object sender, EventArgs e)