From 8deb18fe9c81220806ca93df984e206b62b3ed96 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Thu, 15 Feb 2018 13:50:41 +0100 Subject: [PATCH] Procedure numbers displayed in procedureComboBox in MainWnd. --- TBF/Forms/PreviousResultsDlg.cs | 3 +- TBF/LocalSettings.cs | 1 + TBF/MainWnd.cs | 70 ++++++++++++++++++++------------- 3 files changed, 45 insertions(+), 29 deletions(-) diff --git a/TBF/Forms/PreviousResultsDlg.cs b/TBF/Forms/PreviousResultsDlg.cs index 57eadb198..a68ed4985 100644 --- a/TBF/Forms/PreviousResultsDlg.cs +++ b/TBF/Forms/PreviousResultsDlg.cs @@ -79,7 +79,8 @@ namespace TBF.Forms if (batch.BatchNr == data.BatchNr) { TBF.UiBridge.Bridge.BatchNr = batch.BatchNr; - Program.MainWnd.UpdateProcedure(batch.ProcedureName); + + Program.MainWnd.ReloadProcedures(batch.ProcedureName); TBF.UiBridge.Bridge.Ui2Bench(TBF.UiBridge.UI2BenchCmd.ReloadBatch); break; } diff --git a/TBF/LocalSettings.cs b/TBF/LocalSettings.cs index 0873e1ca7..bfdc658a0 100644 --- a/TBF/LocalSettings.cs +++ b/TBF/LocalSettings.cs @@ -50,6 +50,7 @@ namespace TBF /// [XmlElementAttribute("LastProcedure")] public string LastProcedureName; + public int LastProcedureNr; public int BatchNr; public double RealDensity; /// water density [kg/m3] diff --git a/TBF/MainWnd.cs b/TBF/MainWnd.cs index 2e62682bf..4ae98d02a 100644 --- a/TBF/MainWnd.cs +++ b/TBF/MainWnd.cs @@ -254,7 +254,7 @@ namespace TBF } } - procedureComboBox.Text = Program.LocalSettings.LastProcedureName; + procedureComboBox.Text = string.Format("{0} {1}", Program.LocalSettings.LastProcedureNr, Program.LocalSettings.LastProcedureName); ProcedureName = Program.LocalSettings.LastProcedureName; rightHorizSplitContainer.SplitterDistance = Program.LocalSettings.RightPaneHorizSplitterDistance; topVerticalSplitContainer.SplitterDistance = Program.LocalSettings.TopPaneVerticalSplitterDistance; @@ -441,35 +441,46 @@ namespace TBF /// Read the database and re-initialize procedureComboBox items. /// Try to preserve the original selection. /// - public void ReloadProcedures() + public void ReloadProcedures() + { + ReloadProcedures(procedureComboBox.Text.Substring(procedureComboBox.Text.IndexOf(" ") + 2)); + } + + public void ReloadProcedures(string procedureNameToSelect) { if (procedureComboBox.Enabled) { - string oriProcName = procedureComboBox.Text; - IList procedures = Config.FluentCommon.CreateSession(Users.Entities.DBKind.Config) - .QueryOver() - .Where(x => (x.ProcedureState == ProcedureState.Active)) - .OrderBy(x => x.ItemNr).Asc - .List(); - + .QueryOver() + .Where(x => (x.ProcedureState == ProcedureState.Active)) + .OrderBy(x => x.ItemNr).Asc + .List(); + bool procedureSet = false; procedureComboBox.Items.Clear(); - foreach (var proc in procedures) procedureComboBox.Items.Add(proc.Name); + foreach (var proc in procedures) + { + string itemText = string.Format("{0} {1}", proc.ItemNr + 1, proc.Name); + procedureComboBox.Items.Add(itemText); + if (procedureNameToSelect == proc.Name) + { + procedureComboBox.Text = itemText; + ProcedureName = procedureNameToSelect; + procedureSet = true; + } + } - if (procedureComboBox.Items.Contains(oriProcName)) + if (!procedureSet) { - procedureComboBox.Text = oriProcName; - ProcedureName = oriProcName; - } - else if (procedures.Count > 0) - { - procedureComboBox.Text = procedures[0].Name; - ProcedureName = procedures[0].Name; - } - else - { - procedureComboBox.Text = string.Empty; - ProcedureName = null; + if (procedures.Count > 0) + { + procedureComboBox.Text = string.Format("{0} {1}", procedures[0].ItemNr + 1, procedures[0].Name); + ProcedureName = procedures[0].Name; + } + else + { + procedureComboBox.Text = string.Empty; + ProcedureName = null; + } } ProceduresUpdated = false; @@ -484,12 +495,14 @@ namespace TBF private void procedureComboBox_SelectedIndexChanged(object sender, EventArgs e) { - UpdateProcedure(procedureComboBox.Text); + int ix = procedureComboBox.Text.IndexOf(" "); + int procNr = int.Parse(procedureComboBox.Text.Substring(0, ix)); + string procName = procedureComboBox.Text.Substring(ix + 2); + UpdateProcedure(procNr, procName); } - public void UpdateProcedure(string procedureName) + public void UpdateProcedure(int procedureNr, string procedureName) { - procedureComboBox.Text = procedureName; ProcedureName = procedureName; BenchControlPanel.ReloadTests(); if (CurrentProcedure != null && CurrentProcedure.Description != null) @@ -500,9 +513,10 @@ namespace TBF { testProgressControls.ProcedureSelectedInUI(this, new UiBridge.ProcedureSelectedEventArgs(CurrentProcedure)); } - if (!string.IsNullOrEmpty(ProcedureName)) + if (!string.IsNullOrEmpty(procedureName)) { - Program.LocalSettings.LastProcedureName = ProcedureName; + Program.LocalSettings.LastProcedureName = procedureName; + Program.LocalSettings.LastProcedureNr = procedureNr; Program.LocalSettings.Save(); } }