diff --git a/Common/BackgroundBeep.cs b/Common/BackgroundBeep.cs new file mode 100644 index 000000000..4101c64b0 --- /dev/null +++ b/Common/BackgroundBeep.cs @@ -0,0 +1,37 @@ +/// +/// Copyright (c) 2021 Sensus Slovensko a.s. +/// +using System; +using System.Threading; + +namespace Common +{ + public class BackgroundBeep + { + static Thread beepThread; + static AutoResetEvent signalBeep; + + static BackgroundBeep() + { + signalBeep = new AutoResetEvent(false); + beepThread = new Thread(() => + { + while (true) + { + signalBeep.WaitOne(); /// waits for an event + Console.Beep(500, 400); /// frequency (Hz), duration (ms) + } + }, 1); + beepThread.IsBackground = true; + beepThread.Start(); + } + + /// + /// Invokes one beep in a separate thread (non-blocking function) + /// + public static void Beep() + { + signalBeep.Set(); + } + } +} diff --git a/Common/Common.csproj b/Common/Common.csproj index f254c3413..5e254c157 100644 --- a/Common/Common.csproj +++ b/Common/Common.csproj @@ -41,6 +41,7 @@ + UserControl diff --git a/TBF/BenchControl/DataEntry/S620/CheckItems/Barcode.cs b/TBF/BenchControl/DataEntry/S620/CheckItems/Barcode.cs index 8feb60a3d..606c75e2c 100644 --- a/TBF/BenchControl/DataEntry/S620/CheckItems/Barcode.cs +++ b/TBF/BenchControl/DataEntry/S620/CheckItems/Barcode.cs @@ -131,25 +131,6 @@ namespace TBF.BenchControl.DataEntry.S620.CheckItems break; case CodeType.DateMMYY: - if (part.LifetimeManagement == LifetimeManagement.OneYear) - { - int mmyy; - if (!int.TryParse(scannedCodeTextBox.Text, out mmyy)) - { - error = PartError.WrongPart; - } - else - { - int batteryMonthsSince2000 = 12 * (mmyy % 100) + (mmyy / 100); - int monthsSince2000 = 12 * (DateTime.Now.Year - 2000) + DateTime.Now.Month; - int age = monthsSince2000 - batteryMonthsSince2000; - - if (age < 0 || age > 12 + parent.ExtraBatteryLifetime) - { - error = PartError.WrongPart; - } - } - } break; } } diff --git a/TBF/BenchControl/DataEntry/S620/EntryForm.cs b/TBF/BenchControl/DataEntry/S620/EntryForm.cs index a19712dda..aeff18e2d 100644 --- a/TBF/BenchControl/DataEntry/S620/EntryForm.cs +++ b/TBF/BenchControl/DataEntry/S620/EntryForm.cs @@ -18,6 +18,8 @@ namespace TBF.BenchControl.DataEntry.S620 public bool UsesCameras() { return false; } readonly EntryFormCfg entryFormCfg; + readonly TBF.BenchControl.Output.DB.ProductionTracing.Tracing tracing; + IRegReader[] regReaders; /// @@ -64,11 +66,14 @@ namespace TBF.BenchControl.DataEntry.S620 { } - public EntryForm(Generic.IComponentCfg cfg) + public EntryForm(Generic.IComponentCfg cfg, IList components) : base(cfg) { entryFormCfg = cfg as EntryFormCfg; + tracing = (TBF.BenchControl.Output.DB.ProductionTracing.Tracing)TbfComponents.FindComponent(cfg.ParentName, components); + if (tracing == null) throw new Exception("Cannot find " + Name + " parent"); + disabled = new bool[Config.Data.WMsCount]; wmStartState = new double[Config.Data.WMsCount]; wmStartStateStr = new string[Config.Data.WMsCount]; @@ -120,15 +125,29 @@ namespace TBF.BenchControl.DataEntry.S620 delegate void EntryFormDlgt(EntryForm myRef); /// - void OpenMechanicalMetersDlg(EntryForm myRef) + void OnCycleStart(EntryForm myRef) { - myRef.modelessDlg = new FormForMechanicalMeters(waterMeters, entryFormCfg.SkipFailedMeters); + if (entryFormCfg.ProductionTracing) + { + myRef.modelessDlg = new FormForMechanicalMetersWithTracing(waterMeters, entryFormCfg.MaxWMsCount, entryFormCfg.CloseButton, false); + } + else + { + myRef.modelessDlg = new FormForMechanicalMeters(waterMeters); + } modelessDlg.Show(); } /// - void OpenMechanicalMetersWithTracingDlg(EntryForm myRef) + void OnCycleEnd(EntryForm myRef) { - myRef.modelessDlg = new FormForMechanicalMetersWithTracing(waterMeters, entryFormCfg.SkipFailedMeters); + if (entryFormCfg.ProductionTracing) + { + myRef.modelessDlg = new FormForMechanicalMetersWithTracing(waterMeters, entryFormCfg.MaxWMsCount, entryFormCfg.CloseButton, true); + } + else + { + myRef.modelessDlg = new FormForMechanicalMeters(waterMeters); + } modelessDlg.Show(); } /// @@ -152,17 +171,11 @@ namespace TBF.BenchControl.DataEntry.S620 { default: case CurrentOp.ShowFormAtCycleBeginning: + Program.MainWnd.Invoke(new EntryFormDlgt(OnCycleStart), this); return; case CurrentOp.ShowFormAtCycleEnd: - if (entryFormCfg.ProductionTracing) - { - Program.MainWnd.Invoke(new EntryFormDlgt(OpenMechanicalMetersWithTracingDlg), this); - } - else - { - Program.MainWnd.Invoke(new EntryFormDlgt(OpenMechanicalMetersDlg), this); - } + Program.MainWnd.Invoke(new EntryFormDlgt(OnCycleEnd), this); break; case CurrentOp.EnterTestStartStates: @@ -186,49 +199,39 @@ namespace TBF.BenchControl.DataEntry.S620 if (!resultSaved) /// This is to save the result only once { - if (currentOp == CurrentOp.ShowFormAtCycleEnd) - { - if (!entryFormCfg.ProductionTracing) + if (currentOp == CurrentOp.ShowFormAtCycleBeginning) + { + ICycleBeginOrEndForm dlg = (modelessDlg as ICycleBeginOrEndForm); + if (dlg != null) { - FormForMechanicalMeters dlg = (modelessDlg as FormForMechanicalMeters); - if (dlg != null) + for (int i = 0; i < waterMeters.Count; i++) { - for (int i = 0; i < waterMeters.Count; i++) + if (waterMeters[i] != null) { - if (waterMeters[i] != null) - { - waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i]; - waterMeters[i].SerialNr = dlg.BodyNrText[i]; -#if ORACLE_DB - waterMeters[i].AssignedSerialNr = dlg.AssignedSerialNr[i]; - waterMeters[i].Prefix = dlg.Prefix; - waterMeters[i].Suffix = dlg.Suffix; - waterMeters[i].CompleteSerialNr = dlg.CompleteSerialNr[i]; -#endif - if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder; - } + waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i]; + waterMeters[i].SerialNr = dlg.BodyNrText[i]; } } } - else + } + else if (currentOp == CurrentOp.ShowFormAtCycleEnd) + { + ICycleBeginOrEndForm dlg = (modelessDlg as ICycleBeginOrEndForm); + if (dlg != null) { - FormForMechanicalMetersWithTracing dlg = (modelessDlg as FormForMechanicalMetersWithTracing); - if (dlg != null) + for (int i = 0; i < waterMeters.Count; i++) { - for (int i = 0; i < waterMeters.Count; i++) + if (waterMeters[i] != null) { - if (waterMeters[i] != null) - { - waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i]; - waterMeters[i].SerialNr = dlg.BodyNrText[i]; + waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i]; + waterMeters[i].SerialNr = dlg.BodyNrText[i]; #if ORACLE_DB waterMeters[i].AssignedSerialNr = dlg.AssignedSerialNr[i]; waterMeters[i].Prefix = dlg.Prefix; waterMeters[i].Suffix = dlg.Suffix; waterMeters[i].CompleteSerialNr = dlg.CompleteSerialNr[i]; #endif - if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder; - } + if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder; } } } diff --git a/TBF/BenchControl/DataEntry/S620/EntryFormCfg.cs b/TBF/BenchControl/DataEntry/S620/EntryFormCfg.cs index ece4f1175..557b8735a 100644 --- a/TBF/BenchControl/DataEntry/S620/EntryFormCfg.cs +++ b/TBF/BenchControl/DataEntry/S620/EntryFormCfg.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2020 Sensus Slovensko a.s. +/// Copyright (c) 2020-2021 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; @@ -9,7 +9,7 @@ using TBF.BenchControl.Generic; namespace TBF.BenchControl.DataEntry.S620 { - public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg + public class EntryFormCfg : ComponentCfgBase, Generic.IChildComponentCfg { public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0]; public override XmlSerializer GetSerializer() { return Serializer; } @@ -19,7 +19,8 @@ namespace TBF.BenchControl.DataEntry.S620 /// /// Serialized parameters /// - public bool SkipFailedMeters; + public int MaxWMsCount; + public char CloseButton; public bool ProductionTracing; /// Private parameterless constructor invoked by all other (public) constructors @@ -29,15 +30,21 @@ namespace TBF.BenchControl.DataEntry.S620 : this() { Name = name; + ParentName = "ProductionMonitoring"; Factory = factory; - ParentName = string.Empty; - SkipFailedMeters = false; - ProductionTracing = false; + MaxWMsCount = 20; + CloseButton = '+'; + ProductionTracing = true; } public string ToString(int i) { - return string.Format("Name={0}, SkipFailedMeters={1}, ProductionTracing={2}", Name, SkipFailedMeters, ProductionTracing); + return string.Format("Name={0}, MaxWMsCount={1}, CloseButton={2}, ProductionTracing={3}, Parent={4}", + Name, + MaxWMsCount, + (CloseButton == '+') ? "+" : (CloseButton == '\t') ? "Tab" : "none", + ProductionTracing, + string.IsNullOrEmpty(ParentName) ? "-" : ParentName); } } } diff --git a/TBF/BenchControl/DataEntry/S620/EntryFormCfgCtrl.cs b/TBF/BenchControl/DataEntry/S620/EntryFormCfgCtrl.cs index 703f93334..b21b98eda 100644 --- a/TBF/BenchControl/DataEntry/S620/EntryFormCfgCtrl.cs +++ b/TBF/BenchControl/DataEntry/S620/EntryFormCfgCtrl.cs @@ -11,7 +11,9 @@ namespace TBF.BenchControl.DataEntry.S620 { public partial class EntryFormCfgCtrl : UserControl, IComponentCfgCtrl { - public bool ShowMore { get { return false; } } + ComponentParametersDlg parent; + + public bool ShowMore { get { return false; } } EntryFormCfg config; public IComponentCfg Config @@ -32,12 +34,30 @@ namespace TBF.BenchControl.DataEntry.S620 private void EntryFormCfgCtrl_Load(object sender, EventArgs e) { Localize(); + + parent = ParentForm as ComponentParametersDlg; + if (parent == null) return; + + if (parent.TbfComponents != null) + { + foreach (var cmpnt in parent.TbfComponents) + { + if (TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is Output.DB.ProductionTracing.Factory) + { + parentNameComboBox.Items.Add(cmpnt.Name); + } + } + } + + closeButtonComboBox.Items.Add(""); + closeButtonComboBox.Items.Add("Tab"); + closeButtonComboBox.Items.Add("+"); + Redraw(); } void Localize() { - skipFailedMetersCheckBox.Text = "Preskočiť zlé vodomery pri skenovaní"; productionTracingCheckBox.Text = "Sledovanie výroby"; } @@ -50,21 +70,41 @@ namespace TBF.BenchControl.DataEntry.S620 if (config == null) return; /// Control was not loaded, settings were not changed classNameLabel.Text = config.Factory.ClassName; nameTextBox.Text = config.Name; - skipFailedMetersCheckBox.Checked = config.SkipFailedMeters; + parentNameComboBox.Text = string.IsNullOrEmpty(config.ParentName) ? "---" : config.ParentName; + maxWMsCountTextBox.Text = config.MaxWMsCount.ToString(); + closeButtonComboBox.Text = (config.CloseButton == '+') ? "+" : (config.CloseButton == '\t') ? "Tab" : ""; productionTracingCheckBox.Checked = config.ProductionTracing; } public void Unlock() { nameTextBox.Enabled = true; - skipFailedMetersCheckBox.Enabled = true; + parentNameComboBox.Enabled = true; + maxWMsCountTextBox.Enabled = true; + closeButtonComboBox.Enabled = true; productionTracingCheckBox.Enabled = true; } public CfgUpdateFlags VerifyCfg(ref string message) { + int dummy; CfgUpdateFlags flags = CfgUpdateFlags.None; - return flags; + if (!parentNameComboBox.Items.Contains(parentNameComboBox.Text)) + { + flags |= CfgUpdateFlags.Error; + message += Environment.NewLine + "Invalid 'Parent Name'"; + } + if (!int.TryParse(maxWMsCountTextBox.Text, out dummy) || dummy <= 0 || dummy > 40) + { + flags |= CfgUpdateFlags.Error; + message += Environment.NewLine + "Invalid 'Max. water meters count'"; + } + if (!closeButtonComboBox.Items.Contains(closeButtonComboBox.Text)) + { + flags |= CfgUpdateFlags.Error; + message += Environment.NewLine + "Invalid 'Close button'"; + } + return flags; } public CfgUpdateFlags UpdateCfg() @@ -74,7 +114,9 @@ namespace TBF.BenchControl.DataEntry.S620 if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed config.Name = nameTextBox.Text; - config.SkipFailedMeters = skipFailedMetersCheckBox.Checked; + config.ParentName = parentNameComboBox.Text.Equals("---") ? string.Empty : parentNameComboBox.Text; + config.MaxWMsCount = int.Parse(maxWMsCountTextBox.Text); + config.CloseButton = (closeButtonComboBox.Text == "+") ? '+' : (closeButtonComboBox.Text == "Tab") ? '\t' : '\0'; config.ProductionTracing = productionTracingCheckBox.Checked; return flags; diff --git a/TBF/BenchControl/DataEntry/S620/EntryFormCfgCtrl.designer.cs b/TBF/BenchControl/DataEntry/S620/EntryFormCfgCtrl.designer.cs index f0c18656b..0b704b3c3 100644 --- a/TBF/BenchControl/DataEntry/S620/EntryFormCfgCtrl.designer.cs +++ b/TBF/BenchControl/DataEntry/S620/EntryFormCfgCtrl.designer.cs @@ -34,14 +34,19 @@ namespace TBF.BenchControl.DataEntry.S620 this.nameTextBox = new System.Windows.Forms.TextBox(); this.nameLabel = new System.Windows.Forms.Label(); this.classNameLabel = new System.Windows.Forms.Label(); - this.skipFailedMetersCheckBox = new System.Windows.Forms.CheckBox(); this.productionTracingCheckBox = new System.Windows.Forms.CheckBox(); + this.parentNameComboBox = new System.Windows.Forms.ComboBox(); + this.parentNameLabel = new System.Windows.Forms.Label(); + this.closeButtonComboBox = new System.Windows.Forms.ComboBox(); + this.closeButtonLabel = new System.Windows.Forms.Label(); + this.maxWMsCountTextBox = new System.Windows.Forms.TextBox(); + this.maxWMsCountLabel = new System.Windows.Forms.Label(); this.SuspendLayout(); // // nameTextBox // this.nameTextBox.Enabled = false; - this.nameTextBox.Location = new System.Drawing.Point(93, 57); + this.nameTextBox.Location = new System.Drawing.Point(155, 58); this.nameTextBox.Name = "nameTextBox"; this.nameTextBox.Size = new System.Drawing.Size(130, 20); this.nameTextBox.TabIndex = 2; @@ -49,7 +54,7 @@ namespace TBF.BenchControl.DataEntry.S620 // nameLabel // this.nameLabel.AutoSize = true; - this.nameLabel.Location = new System.Drawing.Point(35, 60); + this.nameLabel.Location = new System.Drawing.Point(18, 61); this.nameLabel.Name = "nameLabel"; this.nameLabel.Size = new System.Drawing.Size(35, 13); this.nameLabel.TabIndex = 1; @@ -58,45 +63,92 @@ namespace TBF.BenchControl.DataEntry.S620 // classNameLabel // this.classNameLabel.AutoSize = true; - this.classNameLabel.Location = new System.Drawing.Point(90, 33); + this.classNameLabel.Location = new System.Drawing.Point(152, 33); this.classNameLabel.Name = "classNameLabel"; this.classNameLabel.Size = new System.Drawing.Size(83, 13); this.classNameLabel.TabIndex = 0; this.classNameLabel.Text = "ComonentName"; // - // skipFailedMetersCheckBox - // - this.skipFailedMetersCheckBox.AutoSize = true; - this.skipFailedMetersCheckBox.Enabled = false; - this.skipFailedMetersCheckBox.Location = new System.Drawing.Point(93, 89); - this.skipFailedMetersCheckBox.Name = "skipFailedMetersCheckBox"; - this.skipFailedMetersCheckBox.Size = new System.Drawing.Size(182, 17); - this.skipFailedMetersCheckBox.TabIndex = 3; - this.skipFailedMetersCheckBox.Text = "Skip failed meters while scanning"; - this.skipFailedMetersCheckBox.UseVisualStyleBackColor = true; - // // productionTracingCheckBox // this.productionTracingCheckBox.AutoSize = true; this.productionTracingCheckBox.Enabled = false; - this.productionTracingCheckBox.Location = new System.Drawing.Point(93, 112); + this.productionTracingCheckBox.Location = new System.Drawing.Point(155, 169); this.productionTracingCheckBox.Name = "productionTracingCheckBox"; this.productionTracingCheckBox.Size = new System.Drawing.Size(112, 17); - this.productionTracingCheckBox.TabIndex = 5; + this.productionTracingCheckBox.TabIndex = 9; this.productionTracingCheckBox.Text = "Production tracing"; this.productionTracingCheckBox.UseVisualStyleBackColor = true; // + // parentNameComboBox + // + this.parentNameComboBox.Enabled = false; + this.parentNameComboBox.FormattingEnabled = true; + this.parentNameComboBox.Location = new System.Drawing.Point(155, 84); + this.parentNameComboBox.Name = "parentNameComboBox"; + this.parentNameComboBox.Size = new System.Drawing.Size(130, 21); + this.parentNameComboBox.TabIndex = 4; + // + // parentNameLabel + // + this.parentNameLabel.AutoSize = true; + this.parentNameLabel.Location = new System.Drawing.Point(18, 87); + this.parentNameLabel.Name = "parentNameLabel"; + this.parentNameLabel.Size = new System.Drawing.Size(67, 13); + this.parentNameLabel.TabIndex = 3; + this.parentNameLabel.Text = "Parent name"; + // + // closeButtonComboBox + // + this.closeButtonComboBox.Enabled = false; + this.closeButtonComboBox.FormattingEnabled = true; + this.closeButtonComboBox.Location = new System.Drawing.Point(155, 137); + this.closeButtonComboBox.Name = "closeButtonComboBox"; + this.closeButtonComboBox.Size = new System.Drawing.Size(130, 21); + this.closeButtonComboBox.TabIndex = 8; + // + // closeButtonLabel + // + this.closeButtonLabel.AutoSize = true; + this.closeButtonLabel.Location = new System.Drawing.Point(18, 140); + this.closeButtonLabel.Name = "closeButtonLabel"; + this.closeButtonLabel.Size = new System.Drawing.Size(66, 13); + this.closeButtonLabel.TabIndex = 7; + this.closeButtonLabel.Text = "Close button"; + // + // maxWMsCountTextBox + // + this.maxWMsCountTextBox.Enabled = false; + this.maxWMsCountTextBox.Location = new System.Drawing.Point(155, 111); + this.maxWMsCountTextBox.Name = "maxWMsCountTextBox"; + this.maxWMsCountTextBox.Size = new System.Drawing.Size(27, 20); + this.maxWMsCountTextBox.TabIndex = 6; + // + // maxWMsCountLabel + // + this.maxWMsCountLabel.AutoSize = true; + this.maxWMsCountLabel.Location = new System.Drawing.Point(18, 114); + this.maxWMsCountLabel.Name = "maxWMsCountLabel"; + this.maxWMsCountLabel.Size = new System.Drawing.Size(123, 13); + this.maxWMsCountLabel.TabIndex = 5; + this.maxWMsCountLabel.Text = "Max. water meters count"; + // // EntryFormCfgCtrl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.maxWMsCountTextBox); + this.Controls.Add(this.maxWMsCountLabel); + this.Controls.Add(this.closeButtonComboBox); + this.Controls.Add(this.closeButtonLabel); + this.Controls.Add(this.parentNameComboBox); + this.Controls.Add(this.parentNameLabel); this.Controls.Add(this.productionTracingCheckBox); - this.Controls.Add(this.skipFailedMetersCheckBox); this.Controls.Add(this.nameTextBox); this.Controls.Add(this.nameLabel); this.Controls.Add(this.classNameLabel); this.Name = "EntryFormCfgCtrl"; - this.Size = new System.Drawing.Size(300, 200); + this.Size = new System.Drawing.Size(333, 200); this.Load += new System.EventHandler(this.EntryFormCfgCtrl_Load); this.ResumeLayout(false); this.PerformLayout(); @@ -108,7 +160,12 @@ namespace TBF.BenchControl.DataEntry.S620 private System.Windows.Forms.TextBox nameTextBox; private System.Windows.Forms.Label nameLabel; private System.Windows.Forms.Label classNameLabel; - private System.Windows.Forms.CheckBox skipFailedMetersCheckBox; private System.Windows.Forms.CheckBox productionTracingCheckBox; + private System.Windows.Forms.ComboBox parentNameComboBox; + private System.Windows.Forms.Label parentNameLabel; + private System.Windows.Forms.ComboBox closeButtonComboBox; + private System.Windows.Forms.Label closeButtonLabel; + private System.Windows.Forms.TextBox maxWMsCountTextBox; + private System.Windows.Forms.Label maxWMsCountLabel; } } diff --git a/TBF/BenchControl/DataEntry/S620/Factory.cs b/TBF/BenchControl/DataEntry/S620/Factory.cs index 09bcb146b..998189adb 100644 --- a/TBF/BenchControl/DataEntry/S620/Factory.cs +++ b/TBF/BenchControl/DataEntry/S620/Factory.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2020 Sensus Slovensko a.s. +/// Copyright (c) 2020-2021 Sensus Slovensko a.s. /// using System.Collections.Generic; using TBF.BenchControl.Generic; @@ -14,7 +14,7 @@ namespace TBF.BenchControl.DataEntry.S620 public IComponent DummyComponent() { return new EntryForm(); } - public IComponent GetComponent(IComponentCfg cfg, IList components) { return new EntryForm(cfg); } + public IComponent GetComponent(IComponentCfg cfg, IList components) { return new EntryForm(cfg, components); } public IComponentCfg DefaultConfig() { return new EntryFormCfg(this.GetType().Namespace.Substring(17), this); } diff --git a/TBF/BenchControl/DataEntry/S620/FormForMechanicalMeters.cs b/TBF/BenchControl/DataEntry/S620/FormForMechanicalMeters.cs index c01084cd3..83ae0e5ab 100644 --- a/TBF/BenchControl/DataEntry/S620/FormForMechanicalMeters.cs +++ b/TBF/BenchControl/DataEntry/S620/FormForMechanicalMeters.cs @@ -13,7 +13,7 @@ using System.Drawing; namespace TBF.BenchControl.DataEntry.S620 { - public partial class FormForMechanicalMeters : Form, GenericDevices.IHasCompleted + public partial class FormForMechanicalMeters : Form, ICycleBeginOrEndForm, GenericDevices.IHasCompleted { private static readonly ILog log = LogManager.GetLogger(typeof(FormForMechanicalMeters)); @@ -22,14 +22,29 @@ namespace TBF.BenchControl.DataEntry.S620 readonly int wmsCount; readonly bool skipFailed; + /// To be retrieved after the form is closed - public string PurchaseOrder; - public string[] BodyNrText; - public int[] AssignedSerialNr; - public string[] CompleteSerialNr; - public bool[] Disabled; - public string Prefix; /// S/N prefix - Loaded from Oracle DB table VT_AUFTRAG_PD - public string Suffix; /// S/N suffix - Loaded from Oracle DB table VT_AUFTRAG_PD + string purchaseOrder; + public string PurchaseOrder { get { return purchaseOrder; } set { purchaseOrder = value; } } + + string[] bodyNrText; + public string[] BodyNrText { get { return bodyNrText; } set { bodyNrText = value; } } + + int[] assignedSerialNr; + public int[] AssignedSerialNr { get { return assignedSerialNr; } set { assignedSerialNr = value; } } + + string[] completeSerialNr; + public string[] CompleteSerialNr { get { return completeSerialNr; } set { completeSerialNr = value; } } + + bool[] disabled; + public bool[] Disabled { get { return disabled; } set { disabled = value; } } + + string prefix; /// S/N prefix - Loaded from Oracle DB table VT_AUFTRAG_PD + public string Prefix { get { return prefix; } set { prefix = value; } } + + string suffix; /// S/N suffix - Loaded from Oracle DB table VT_AUFTRAG_PD + public string Suffix { get { return suffix; } set { suffix = value; } } + /// Loaded from Oracle DB table VT_AUFTRAG_PD int firstSN; /// First serial number @@ -70,8 +85,8 @@ namespace TBF.BenchControl.DataEntry.S620 firstSN = 0; snDigits = 0; pcsCount = 0; - Prefix = null; - Suffix = null; + prefix = null; + suffix = null; foundMeters = new List(); foundSNsWithinRange = new List(); @@ -153,17 +168,17 @@ namespace TBF.BenchControl.DataEntry.S620 /// Constructor /// /// Number of text boxes for serial numbers - public FormForMechanicalMeters(IList waterMeters, bool skipFailed) + public FormForMechanicalMeters(IList waterMeters) : this() { this.waterMeters = waterMeters; this.wmsCount = waterMeters.Count; - this.skipFailed = skipFailed; + this.skipFailed = false; - BodyNrText = new string[wmsCount]; - AssignedSerialNr = new int[wmsCount]; - CompleteSerialNr = new string[wmsCount]; - Disabled = new bool[wmsCount]; + bodyNrText = new string[wmsCount]; + assignedSerialNr = new int[wmsCount]; + completeSerialNr = new string[wmsCount]; + disabled = new bool[wmsCount]; ShuffleTextBoxes(wmsCount, Config.Data.LineSize); } @@ -286,23 +301,23 @@ namespace TBF.BenchControl.DataEntry.S620 private void okButton_Click(object sender, EventArgs e) { - PurchaseOrder = orderCB.Text; + purchaseOrder = orderCB.Text; Program.LocalSettings.UpdateHistory(orderCB.Text, ref Program.LocalSettings.PurchaseOrderHistory); Program.LocalSettings.UpdateHistory(firstSNRangeCB.Text, ref Program.LocalSettings.FirstSNHistory); Program.LocalSettings.UpdateHistory(lastSNRangeCB.Text, ref Program.LocalSettings.LastSNHistory); - Program.LocalSettings.LastSNTexts = BodyNrText; + Program.LocalSettings.LastSNTexts = bodyNrText; int itmp; for (int i = 0; i < Math.Min(wmsCount, textBoxesCount); i++) { - BodyNrText[i] = bodyNrBoxes[i].Text; - AssignedSerialNr[i] = int.TryParse(serialNrBoxes[i].Text, out itmp) ? itmp : 0; - CompleteSerialNr[i] = string.Format("{0}{1}{2}", - (Prefix != null) ? Prefix : string.Empty, - AssignedSerialNr[i].ToString(string.Format("D{0}", Math.Max(snDigits, 1))), - (Suffix != null) ? Suffix : string.Empty); - Disabled[i] = !checkBoxes[i].Checked; + bodyNrText[i] = bodyNrBoxes[i].Text; + assignedSerialNr[i] = int.TryParse(serialNrBoxes[i].Text, out itmp) ? itmp : 0; + completeSerialNr[i] = string.Format("{0}{1}{2}", + (prefix != null) ? prefix : string.Empty, + assignedSerialNr[i].ToString(string.Format("D{0}", Math.Max(snDigits, 1))), + (suffix != null) ? suffix : string.Empty); + disabled[i] = !checkBoxes[i].Checked; } completed = true; @@ -544,10 +559,10 @@ namespace TBF.BenchControl.DataEntry.S620 void ProcessPO() { - if (ReadPurchaseOrderParamsFromDB(ProcessData.OracleDB.SelectedDB, orderCB.Text, out firstSN, out snDigits, out pcsCount, out Prefix, out Suffix)) + if (ReadPurchaseOrderParamsFromDB(ProcessData.OracleDB.SelectedDB, orderCB.Text, out firstSN, out snDigits, out pcsCount, out prefix, out suffix)) { - prefixTextBox.Text = (Prefix != null) ? Prefix : string.Empty; - suffixTextBox.Text = (Suffix != null) ? Suffix : string.Empty; + prefixTextBox.Text = (prefix != null) ? prefix : string.Empty; + suffixTextBox.Text = (suffix != null) ? suffix : string.Empty; snDigitsTextBox.Text = snDigits.ToString(); firstSNTextBox.Text = firstSN.ToString(string.Format("D{0}", snDigits)); pcsCountTextBox.Text = pcsCount.ToString(); diff --git a/TBF/BenchControl/DataEntry/S620/FormForMechanicalMetersWithTracing.Designer.cs b/TBF/BenchControl/DataEntry/S620/FormForMechanicalMetersWithTracing.Designer.cs index 9a702495c..e21c4a995 100644 --- a/TBF/BenchControl/DataEntry/S620/FormForMechanicalMetersWithTracing.Designer.cs +++ b/TBF/BenchControl/DataEntry/S620/FormForMechanicalMetersWithTracing.Designer.cs @@ -34,10 +34,17 @@ namespace TBF.BenchControl.DataEntry.S620 System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormForMechanicalMetersWithTracing)); this.okButton = new System.Windows.Forms.Button(); this.orderGroupBox = new System.Windows.Forms.GroupBox(); + this.orderCheckBox = new System.Windows.Forms.CheckBox(); + this.lastSNRangeCB = new System.Windows.Forms.ComboBox(); + this.exclamationToLabel = new System.Windows.Forms.Label(); this.suffixTextBox = new System.Windows.Forms.TextBox(); + this.toLabel = new System.Windows.Forms.Label(); + this.firstSNRangeCB = new System.Windows.Forms.ComboBox(); this.prefixTextBox = new System.Windows.Forms.TextBox(); + this.exclamationFromLabel = new System.Windows.Forms.Label(); this.snDigitsLabel = new System.Windows.Forms.Label(); this.suffixLabel = new System.Windows.Forms.Label(); + this.fromLabel = new System.Windows.Forms.Label(); this.prefixLabel = new System.Windows.Forms.Label(); this.snDigitsTextBox = new System.Windows.Forms.TextBox(); this.exclamationPOLabel = new System.Windows.Forms.Label(); @@ -47,126 +54,85 @@ namespace TBF.BenchControl.DataEntry.S620 this.firstSNTextBox = new System.Windows.Forms.TextBox(); this.reloadButton = new System.Windows.Forms.Button(); this.orderCB = new System.Windows.Forms.ComboBox(); - this.clearButton = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); - this.comboBox1 = new System.Windows.Forms.ComboBox(); this.checkBox1 = new System.Windows.Forms.CheckBox(); this.checkBox2 = new System.Windows.Forms.CheckBox(); - this.comboBox2 = new System.Windows.Forms.ComboBox(); this.label2 = new System.Windows.Forms.Label(); this.checkBox3 = new System.Windows.Forms.CheckBox(); - this.comboBox3 = new System.Windows.Forms.ComboBox(); this.label3 = new System.Windows.Forms.Label(); this.checkBox4 = new System.Windows.Forms.CheckBox(); - this.comboBox4 = new System.Windows.Forms.ComboBox(); this.label4 = new System.Windows.Forms.Label(); this.checkBox5 = new System.Windows.Forms.CheckBox(); - this.comboBox5 = new System.Windows.Forms.ComboBox(); this.label5 = new System.Windows.Forms.Label(); this.checkBox6 = new System.Windows.Forms.CheckBox(); - this.comboBox6 = new System.Windows.Forms.ComboBox(); this.label6 = new System.Windows.Forms.Label(); this.checkBox7 = new System.Windows.Forms.CheckBox(); - this.comboBox7 = new System.Windows.Forms.ComboBox(); this.label7 = new System.Windows.Forms.Label(); this.checkBox8 = new System.Windows.Forms.CheckBox(); - this.comboBox8 = new System.Windows.Forms.ComboBox(); this.label8 = new System.Windows.Forms.Label(); this.checkBox9 = new System.Windows.Forms.CheckBox(); - this.comboBox9 = new System.Windows.Forms.ComboBox(); this.label9 = new System.Windows.Forms.Label(); this.checkBox10 = new System.Windows.Forms.CheckBox(); - this.comboBox10 = new System.Windows.Forms.ComboBox(); this.label10 = new System.Windows.Forms.Label(); this.checkBox11 = new System.Windows.Forms.CheckBox(); - this.comboBox11 = new System.Windows.Forms.ComboBox(); this.label11 = new System.Windows.Forms.Label(); this.checkBox12 = new System.Windows.Forms.CheckBox(); - this.comboBox12 = new System.Windows.Forms.ComboBox(); this.label12 = new System.Windows.Forms.Label(); this.checkBox13 = new System.Windows.Forms.CheckBox(); - this.comboBox13 = new System.Windows.Forms.ComboBox(); this.label13 = new System.Windows.Forms.Label(); this.checkBox14 = new System.Windows.Forms.CheckBox(); - this.comboBox14 = new System.Windows.Forms.ComboBox(); this.label14 = new System.Windows.Forms.Label(); this.checkBox15 = new System.Windows.Forms.CheckBox(); - this.comboBox15 = new System.Windows.Forms.ComboBox(); this.label15 = new System.Windows.Forms.Label(); this.checkBox16 = new System.Windows.Forms.CheckBox(); - this.comboBox16 = new System.Windows.Forms.ComboBox(); this.label16 = new System.Windows.Forms.Label(); this.checkBox17 = new System.Windows.Forms.CheckBox(); - this.comboBox17 = new System.Windows.Forms.ComboBox(); this.label17 = new System.Windows.Forms.Label(); this.checkBox18 = new System.Windows.Forms.CheckBox(); - this.comboBox18 = new System.Windows.Forms.ComboBox(); this.label18 = new System.Windows.Forms.Label(); this.checkBox19 = new System.Windows.Forms.CheckBox(); - this.comboBox19 = new System.Windows.Forms.ComboBox(); this.label19 = new System.Windows.Forms.Label(); this.checkBox20 = new System.Windows.Forms.CheckBox(); - this.comboBox20 = new System.Windows.Forms.ComboBox(); this.label20 = new System.Windows.Forms.Label(); this.checkBox40 = new System.Windows.Forms.CheckBox(); - this.comboBox40 = new System.Windows.Forms.ComboBox(); this.label40 = new System.Windows.Forms.Label(); this.checkBox39 = new System.Windows.Forms.CheckBox(); - this.comboBox39 = new System.Windows.Forms.ComboBox(); this.label39 = new System.Windows.Forms.Label(); this.checkBox38 = new System.Windows.Forms.CheckBox(); - this.comboBox38 = new System.Windows.Forms.ComboBox(); this.label38 = new System.Windows.Forms.Label(); this.checkBox37 = new System.Windows.Forms.CheckBox(); - this.comboBox37 = new System.Windows.Forms.ComboBox(); this.label37 = new System.Windows.Forms.Label(); this.checkBox36 = new System.Windows.Forms.CheckBox(); - this.comboBox36 = new System.Windows.Forms.ComboBox(); this.label36 = new System.Windows.Forms.Label(); this.checkBox35 = new System.Windows.Forms.CheckBox(); - this.comboBox35 = new System.Windows.Forms.ComboBox(); this.label35 = new System.Windows.Forms.Label(); this.checkBox34 = new System.Windows.Forms.CheckBox(); - this.comboBox34 = new System.Windows.Forms.ComboBox(); this.label34 = new System.Windows.Forms.Label(); this.checkBox33 = new System.Windows.Forms.CheckBox(); - this.comboBox33 = new System.Windows.Forms.ComboBox(); this.label33 = new System.Windows.Forms.Label(); this.checkBox32 = new System.Windows.Forms.CheckBox(); - this.comboBox32 = new System.Windows.Forms.ComboBox(); this.label32 = new System.Windows.Forms.Label(); this.checkBox31 = new System.Windows.Forms.CheckBox(); - this.comboBox31 = new System.Windows.Forms.ComboBox(); this.label31 = new System.Windows.Forms.Label(); this.checkBox30 = new System.Windows.Forms.CheckBox(); - this.comboBox30 = new System.Windows.Forms.ComboBox(); this.label30 = new System.Windows.Forms.Label(); this.checkBox29 = new System.Windows.Forms.CheckBox(); - this.comboBox29 = new System.Windows.Forms.ComboBox(); this.label29 = new System.Windows.Forms.Label(); this.checkBox28 = new System.Windows.Forms.CheckBox(); - this.comboBox28 = new System.Windows.Forms.ComboBox(); this.label28 = new System.Windows.Forms.Label(); this.checkBox27 = new System.Windows.Forms.CheckBox(); - this.comboBox27 = new System.Windows.Forms.ComboBox(); this.label27 = new System.Windows.Forms.Label(); this.checkBox26 = new System.Windows.Forms.CheckBox(); - this.comboBox26 = new System.Windows.Forms.ComboBox(); this.label26 = new System.Windows.Forms.Label(); this.checkBox25 = new System.Windows.Forms.CheckBox(); - this.comboBox25 = new System.Windows.Forms.ComboBox(); this.label25 = new System.Windows.Forms.Label(); this.checkBox24 = new System.Windows.Forms.CheckBox(); - this.comboBox24 = new System.Windows.Forms.ComboBox(); this.label24 = new System.Windows.Forms.Label(); this.checkBox23 = new System.Windows.Forms.CheckBox(); - this.comboBox23 = new System.Windows.Forms.ComboBox(); this.label23 = new System.Windows.Forms.Label(); this.checkBox22 = new System.Windows.Forms.CheckBox(); - this.comboBox22 = new System.Windows.Forms.ComboBox(); this.label22 = new System.Windows.Forms.Label(); this.checkBox21 = new System.Windows.Forms.CheckBox(); - this.comboBox21 = new System.Windows.Forms.ComboBox(); this.label21 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); this.textBox2 = new System.Windows.Forms.TextBox(); @@ -208,20 +174,11 @@ namespace TBF.BenchControl.DataEntry.S620 this.textBox38 = new System.Windows.Forms.TextBox(); this.textBox39 = new System.Windows.Forms.TextBox(); this.textBox40 = new System.Windows.Forms.TextBox(); - this.bodyLabel = new System.Windows.Forms.Label(); this.snLabel = new System.Windows.Forms.Label(); - this.bodyLabel2 = new System.Windows.Forms.Label(); this.snLabel2 = new System.Windows.Forms.Label(); - this.snRangeGroupBox = new System.Windows.Forms.GroupBox(); - this.lastSNRangeCB = new System.Windows.Forms.ComboBox(); - this.firstSNRangeCB = new System.Windows.Forms.ComboBox(); - this.exclamationToLabel = new System.Windows.Forms.Label(); - this.exclamationFromLabel = new System.Windows.Forms.Label(); - this.toLabel = new System.Windows.Forms.Label(); - this.fromLabel = new System.Windows.Forms.Label(); this.serialNumbersGroupBox = new System.Windows.Forms.GroupBox(); - this.counterLabel2 = new System.Windows.Forms.Label(); - this.counterLabel = new System.Windows.Forms.Label(); + this.bodyLabel2 = new System.Windows.Forms.Label(); + this.bodyLabel = new System.Windows.Forms.Label(); this.textBox80 = new System.Windows.Forms.TextBox(); this.textBox79 = new System.Windows.Forms.TextBox(); this.textBox78 = new System.Windows.Forms.TextBox(); @@ -265,30 +222,40 @@ namespace TBF.BenchControl.DataEntry.S620 this.batchesGroupBox = new System.Windows.Forms.GroupBox(); this.batchesCheckBox = new System.Windows.Forms.CheckBox(); this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel(); - this.processComboBox = new System.Windows.Forms.ComboBox(); + this.workflowComboBox = new System.Windows.Forms.ComboBox(); this.workflowGroupBox = new System.Windows.Forms.GroupBox(); - this.workflowDescriptionLabel = new System.Windows.Forms.Label(); + this.reloadWorkflowsButton = new System.Windows.Forms.Button(); + this.workstepGroupBox = new System.Windows.Forms.GroupBox(); + this.workstepComboBox = new System.Windows.Forms.ComboBox(); this.orderGroupBox.SuspendLayout(); - this.snRangeGroupBox.SuspendLayout(); this.serialNumbersGroupBox.SuspendLayout(); this.batchesGroupBox.SuspendLayout(); this.workflowGroupBox.SuspendLayout(); + this.workstepGroupBox.SuspendLayout(); this.SuspendLayout(); // // okButton // resources.ApplyResources(this.okButton, "okButton"); + this.okButton.BackColor = System.Drawing.Color.DarkSeaGreen; this.okButton.ForeColor = System.Drawing.Color.Black; this.okButton.Name = "okButton"; - this.okButton.UseVisualStyleBackColor = true; + this.okButton.UseVisualStyleBackColor = false; this.okButton.Click += new System.EventHandler(this.okButton_Click); // // orderGroupBox // + this.orderGroupBox.Controls.Add(this.orderCheckBox); + this.orderGroupBox.Controls.Add(this.lastSNRangeCB); + this.orderGroupBox.Controls.Add(this.exclamationToLabel); this.orderGroupBox.Controls.Add(this.suffixTextBox); + this.orderGroupBox.Controls.Add(this.toLabel); + this.orderGroupBox.Controls.Add(this.firstSNRangeCB); this.orderGroupBox.Controls.Add(this.prefixTextBox); + this.orderGroupBox.Controls.Add(this.exclamationFromLabel); this.orderGroupBox.Controls.Add(this.snDigitsLabel); this.orderGroupBox.Controls.Add(this.suffixLabel); + this.orderGroupBox.Controls.Add(this.fromLabel); this.orderGroupBox.Controls.Add(this.prefixLabel); this.orderGroupBox.Controls.Add(this.snDigitsTextBox); this.orderGroupBox.Controls.Add(this.exclamationPOLabel); @@ -303,16 +270,56 @@ namespace TBF.BenchControl.DataEntry.S620 this.orderGroupBox.Name = "orderGroupBox"; this.orderGroupBox.TabStop = false; // + // orderCheckBox + // + resources.ApplyResources(this.orderCheckBox, "orderCheckBox"); + this.orderCheckBox.Name = "orderCheckBox"; + this.orderCheckBox.UseVisualStyleBackColor = true; + this.orderCheckBox.CheckedChanged += new System.EventHandler(this.orderCheckBox_CheckedChanged); + // + // lastSNRangeCB + // + resources.ApplyResources(this.lastSNRangeCB, "lastSNRangeCB"); + this.lastSNRangeCB.FormattingEnabled = true; + this.lastSNRangeCB.Name = "lastSNRangeCB"; + this.lastSNRangeCB.SelectedIndexChanged += new System.EventHandler(this.lastSNRangeCB_SelectedIndexChanged); + this.lastSNRangeCB.TextChanged += new System.EventHandler(this.lastSNRangeCB_TextChanged); + // + // exclamationToLabel + // + resources.ApplyResources(this.exclamationToLabel, "exclamationToLabel"); + this.exclamationToLabel.ForeColor = System.Drawing.Color.Red; + this.exclamationToLabel.Name = "exclamationToLabel"; + // // suffixTextBox // resources.ApplyResources(this.suffixTextBox, "suffixTextBox"); this.suffixTextBox.Name = "suffixTextBox"; // + // toLabel + // + resources.ApplyResources(this.toLabel, "toLabel"); + this.toLabel.Name = "toLabel"; + // + // firstSNRangeCB + // + resources.ApplyResources(this.firstSNRangeCB, "firstSNRangeCB"); + this.firstSNRangeCB.FormattingEnabled = true; + this.firstSNRangeCB.Name = "firstSNRangeCB"; + this.firstSNRangeCB.SelectedIndexChanged += new System.EventHandler(this.firstSNRangeCB_SelectedIndexChanged); + this.firstSNRangeCB.TextChanged += new System.EventHandler(this.firstSNRangeCB_TextChanged); + // // prefixTextBox // resources.ApplyResources(this.prefixTextBox, "prefixTextBox"); this.prefixTextBox.Name = "prefixTextBox"; // + // exclamationFromLabel + // + resources.ApplyResources(this.exclamationFromLabel, "exclamationFromLabel"); + this.exclamationFromLabel.ForeColor = System.Drawing.Color.Red; + this.exclamationFromLabel.Name = "exclamationFromLabel"; + // // snDigitsLabel // resources.ApplyResources(this.snDigitsLabel, "snDigitsLabel"); @@ -323,6 +330,11 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.suffixLabel, "suffixLabel"); this.suffixLabel.Name = "suffixLabel"; // + // fromLabel + // + resources.ApplyResources(this.fromLabel, "fromLabel"); + this.fromLabel.Name = "fromLabel"; + // // prefixLabel // resources.ApplyResources(this.prefixLabel, "prefixLabel"); @@ -336,7 +348,7 @@ namespace TBF.BenchControl.DataEntry.S620 // exclamationPOLabel // resources.ApplyResources(this.exclamationPOLabel, "exclamationPOLabel"); - this.exclamationPOLabel.ForeColor = System.Drawing.Color.SpringGreen; + this.exclamationPOLabel.ForeColor = System.Drawing.Color.Red; this.exclamationPOLabel.Name = "exclamationPOLabel"; // // piecesCountLabel @@ -373,48 +385,24 @@ namespace TBF.BenchControl.DataEntry.S620 this.orderCB.Name = "orderCB"; this.orderCB.SelectedIndexChanged += new System.EventHandler(this.orderCB_SelectedIndexChanged); // - // clearButton - // - resources.ApplyResources(this.clearButton, "clearButton"); - this.clearButton.ForeColor = System.Drawing.Color.Black; - this.clearButton.Name = "clearButton"; - this.clearButton.UseVisualStyleBackColor = true; - this.clearButton.Click += new System.EventHandler(this.clearButton_Click); - // // label1 // resources.ApplyResources(this.label1, "label1"); this.label1.Name = "label1"; // - // comboBox1 - // - resources.ApplyResources(this.comboBox1, "comboBox1"); - this.comboBox1.FormattingEnabled = true; - this.comboBox1.Name = "comboBox1"; - this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged); - this.comboBox1.TextChanged += new System.EventHandler(this.comboBox1_TextChanged); - this.comboBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox1_KeyPress); - // // checkBox1 // resources.ApplyResources(this.checkBox1, "checkBox1"); this.checkBox1.Name = "checkBox1"; this.checkBox1.UseVisualStyleBackColor = true; + this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged); // // checkBox2 // resources.ApplyResources(this.checkBox2, "checkBox2"); this.checkBox2.Name = "checkBox2"; this.checkBox2.UseVisualStyleBackColor = true; - // - // comboBox2 - // - resources.ApplyResources(this.comboBox2, "comboBox2"); - this.comboBox2.FormattingEnabled = true; - this.comboBox2.Name = "comboBox2"; - this.comboBox2.SelectedIndexChanged += new System.EventHandler(this.comboBox2_SelectedIndexChanged); - this.comboBox2.TextChanged += new System.EventHandler(this.comboBox2_TextChanged); - this.comboBox2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox2_KeyPress); + this.checkBox2.CheckedChanged += new System.EventHandler(this.checkBox2_CheckedChanged); // // label2 // @@ -426,15 +414,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox3, "checkBox3"); this.checkBox3.Name = "checkBox3"; this.checkBox3.UseVisualStyleBackColor = true; - // - // comboBox3 - // - resources.ApplyResources(this.comboBox3, "comboBox3"); - this.comboBox3.FormattingEnabled = true; - this.comboBox3.Name = "comboBox3"; - this.comboBox3.SelectedIndexChanged += new System.EventHandler(this.comboBox3_SelectedIndexChanged); - this.comboBox3.TextChanged += new System.EventHandler(this.comboBox3_TextChanged); - this.comboBox3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox3_KeyPress); + this.checkBox3.CheckedChanged += new System.EventHandler(this.checkBox3_CheckedChanged); // // label3 // @@ -446,15 +426,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox4, "checkBox4"); this.checkBox4.Name = "checkBox4"; this.checkBox4.UseVisualStyleBackColor = true; - // - // comboBox4 - // - resources.ApplyResources(this.comboBox4, "comboBox4"); - this.comboBox4.FormattingEnabled = true; - this.comboBox4.Name = "comboBox4"; - this.comboBox4.SelectedIndexChanged += new System.EventHandler(this.comboBox4_SelectedIndexChanged); - this.comboBox4.TextChanged += new System.EventHandler(this.comboBox4_TextChanged); - this.comboBox4.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox4_KeyPress); + this.checkBox4.CheckedChanged += new System.EventHandler(this.checkBox4_CheckedChanged); // // label4 // @@ -466,15 +438,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox5, "checkBox5"); this.checkBox5.Name = "checkBox5"; this.checkBox5.UseVisualStyleBackColor = true; - // - // comboBox5 - // - resources.ApplyResources(this.comboBox5, "comboBox5"); - this.comboBox5.FormattingEnabled = true; - this.comboBox5.Name = "comboBox5"; - this.comboBox5.SelectedIndexChanged += new System.EventHandler(this.comboBox5_SelectedIndexChanged); - this.comboBox5.TextChanged += new System.EventHandler(this.comboBox5_TextChanged); - this.comboBox5.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox5_KeyPress); + this.checkBox5.CheckedChanged += new System.EventHandler(this.checkBox5_CheckedChanged); // // label5 // @@ -486,15 +450,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox6, "checkBox6"); this.checkBox6.Name = "checkBox6"; this.checkBox6.UseVisualStyleBackColor = true; - // - // comboBox6 - // - resources.ApplyResources(this.comboBox6, "comboBox6"); - this.comboBox6.FormattingEnabled = true; - this.comboBox6.Name = "comboBox6"; - this.comboBox6.SelectedIndexChanged += new System.EventHandler(this.comboBox6_SelectedIndexChanged); - this.comboBox6.TextChanged += new System.EventHandler(this.comboBox6_TextChanged); - this.comboBox6.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox6_KeyPress); + this.checkBox6.CheckedChanged += new System.EventHandler(this.checkBox6_CheckedChanged); // // label6 // @@ -506,15 +462,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox7, "checkBox7"); this.checkBox7.Name = "checkBox7"; this.checkBox7.UseVisualStyleBackColor = true; - // - // comboBox7 - // - resources.ApplyResources(this.comboBox7, "comboBox7"); - this.comboBox7.FormattingEnabled = true; - this.comboBox7.Name = "comboBox7"; - this.comboBox7.SelectedIndexChanged += new System.EventHandler(this.comboBox7_SelectedIndexChanged); - this.comboBox7.TextChanged += new System.EventHandler(this.comboBox7_TextChanged); - this.comboBox7.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox7_KeyPress); + this.checkBox7.CheckedChanged += new System.EventHandler(this.checkBox7_CheckedChanged); // // label7 // @@ -526,15 +474,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox8, "checkBox8"); this.checkBox8.Name = "checkBox8"; this.checkBox8.UseVisualStyleBackColor = true; - // - // comboBox8 - // - resources.ApplyResources(this.comboBox8, "comboBox8"); - this.comboBox8.FormattingEnabled = true; - this.comboBox8.Name = "comboBox8"; - this.comboBox8.SelectedIndexChanged += new System.EventHandler(this.comboBox8_SelectedIndexChanged); - this.comboBox8.TextChanged += new System.EventHandler(this.comboBox8_TextChanged); - this.comboBox8.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox8_KeyPress); + this.checkBox8.CheckedChanged += new System.EventHandler(this.checkBox8_CheckedChanged); // // label8 // @@ -546,15 +486,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox9, "checkBox9"); this.checkBox9.Name = "checkBox9"; this.checkBox9.UseVisualStyleBackColor = true; - // - // comboBox9 - // - resources.ApplyResources(this.comboBox9, "comboBox9"); - this.comboBox9.FormattingEnabled = true; - this.comboBox9.Name = "comboBox9"; - this.comboBox9.SelectedIndexChanged += new System.EventHandler(this.comboBox9_SelectedIndexChanged); - this.comboBox9.TextChanged += new System.EventHandler(this.comboBox9_TextChanged); - this.comboBox9.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox9_KeyPress); + this.checkBox9.CheckedChanged += new System.EventHandler(this.checkBox9_CheckedChanged); // // label9 // @@ -566,15 +498,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox10, "checkBox10"); this.checkBox10.Name = "checkBox10"; this.checkBox10.UseVisualStyleBackColor = true; - // - // comboBox10 - // - resources.ApplyResources(this.comboBox10, "comboBox10"); - this.comboBox10.FormattingEnabled = true; - this.comboBox10.Name = "comboBox10"; - this.comboBox10.SelectedIndexChanged += new System.EventHandler(this.comboBox10_SelectedIndexChanged); - this.comboBox10.TextChanged += new System.EventHandler(this.comboBox10_TextChanged); - this.comboBox10.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox10_KeyPress); + this.checkBox10.CheckedChanged += new System.EventHandler(this.checkBox10_CheckedChanged); // // label10 // @@ -586,15 +510,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox11, "checkBox11"); this.checkBox11.Name = "checkBox11"; this.checkBox11.UseVisualStyleBackColor = true; - // - // comboBox11 - // - resources.ApplyResources(this.comboBox11, "comboBox11"); - this.comboBox11.FormattingEnabled = true; - this.comboBox11.Name = "comboBox11"; - this.comboBox11.SelectedIndexChanged += new System.EventHandler(this.comboBox11_SelectedIndexChanged); - this.comboBox11.TextChanged += new System.EventHandler(this.comboBox11_TextChanged); - this.comboBox11.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox11_KeyPress); + this.checkBox11.CheckedChanged += new System.EventHandler(this.checkBox11_CheckedChanged); // // label11 // @@ -606,15 +522,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox12, "checkBox12"); this.checkBox12.Name = "checkBox12"; this.checkBox12.UseVisualStyleBackColor = true; - // - // comboBox12 - // - resources.ApplyResources(this.comboBox12, "comboBox12"); - this.comboBox12.FormattingEnabled = true; - this.comboBox12.Name = "comboBox12"; - this.comboBox12.SelectedIndexChanged += new System.EventHandler(this.comboBox12_SelectedIndexChanged); - this.comboBox12.TextChanged += new System.EventHandler(this.comboBox12_TextChanged); - this.comboBox12.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox12_KeyPress); + this.checkBox12.CheckedChanged += new System.EventHandler(this.checkBox12_CheckedChanged); // // label12 // @@ -626,15 +534,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox13, "checkBox13"); this.checkBox13.Name = "checkBox13"; this.checkBox13.UseVisualStyleBackColor = true; - // - // comboBox13 - // - resources.ApplyResources(this.comboBox13, "comboBox13"); - this.comboBox13.FormattingEnabled = true; - this.comboBox13.Name = "comboBox13"; - this.comboBox13.SelectedIndexChanged += new System.EventHandler(this.comboBox13_SelectedIndexChanged); - this.comboBox13.TextChanged += new System.EventHandler(this.comboBox13_TextChanged); - this.comboBox13.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox13_KeyPress); + this.checkBox13.CheckedChanged += new System.EventHandler(this.checkBox13_CheckedChanged); // // label13 // @@ -646,15 +546,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox14, "checkBox14"); this.checkBox14.Name = "checkBox14"; this.checkBox14.UseVisualStyleBackColor = true; - // - // comboBox14 - // - resources.ApplyResources(this.comboBox14, "comboBox14"); - this.comboBox14.FormattingEnabled = true; - this.comboBox14.Name = "comboBox14"; - this.comboBox14.SelectedIndexChanged += new System.EventHandler(this.comboBox14_SelectedIndexChanged); - this.comboBox14.TextChanged += new System.EventHandler(this.comboBox14_TextChanged); - this.comboBox14.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox14_KeyPress); + this.checkBox14.CheckedChanged += new System.EventHandler(this.checkBox14_CheckedChanged); // // label14 // @@ -666,15 +558,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox15, "checkBox15"); this.checkBox15.Name = "checkBox15"; this.checkBox15.UseVisualStyleBackColor = true; - // - // comboBox15 - // - resources.ApplyResources(this.comboBox15, "comboBox15"); - this.comboBox15.FormattingEnabled = true; - this.comboBox15.Name = "comboBox15"; - this.comboBox15.SelectedIndexChanged += new System.EventHandler(this.comboBox15_SelectedIndexChanged); - this.comboBox15.TextChanged += new System.EventHandler(this.comboBox15_TextChanged); - this.comboBox15.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox15_KeyPress); + this.checkBox15.CheckedChanged += new System.EventHandler(this.checkBox15_CheckedChanged); // // label15 // @@ -686,15 +570,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox16, "checkBox16"); this.checkBox16.Name = "checkBox16"; this.checkBox16.UseVisualStyleBackColor = true; - // - // comboBox16 - // - resources.ApplyResources(this.comboBox16, "comboBox16"); - this.comboBox16.FormattingEnabled = true; - this.comboBox16.Name = "comboBox16"; - this.comboBox16.SelectedIndexChanged += new System.EventHandler(this.comboBox16_SelectedIndexChanged); - this.comboBox16.TextChanged += new System.EventHandler(this.comboBox16_TextChanged); - this.comboBox16.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox16_KeyPress); + this.checkBox16.CheckedChanged += new System.EventHandler(this.checkBox16_CheckedChanged); // // label16 // @@ -706,15 +582,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox17, "checkBox17"); this.checkBox17.Name = "checkBox17"; this.checkBox17.UseVisualStyleBackColor = true; - // - // comboBox17 - // - resources.ApplyResources(this.comboBox17, "comboBox17"); - this.comboBox17.FormattingEnabled = true; - this.comboBox17.Name = "comboBox17"; - this.comboBox17.SelectedIndexChanged += new System.EventHandler(this.comboBox17_SelectedIndexChanged); - this.comboBox17.TextChanged += new System.EventHandler(this.comboBox17_TextChanged); - this.comboBox17.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox17_KeyPress); + this.checkBox17.CheckedChanged += new System.EventHandler(this.checkBox17_CheckedChanged); // // label17 // @@ -726,15 +594,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox18, "checkBox18"); this.checkBox18.Name = "checkBox18"; this.checkBox18.UseVisualStyleBackColor = true; - // - // comboBox18 - // - resources.ApplyResources(this.comboBox18, "comboBox18"); - this.comboBox18.FormattingEnabled = true; - this.comboBox18.Name = "comboBox18"; - this.comboBox18.SelectedIndexChanged += new System.EventHandler(this.comboBox18_SelectedIndexChanged); - this.comboBox18.TextChanged += new System.EventHandler(this.comboBox18_TextChanged); - this.comboBox18.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox18_KeyPress); + this.checkBox18.CheckedChanged += new System.EventHandler(this.checkBox18_CheckedChanged); // // label18 // @@ -746,15 +606,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox19, "checkBox19"); this.checkBox19.Name = "checkBox19"; this.checkBox19.UseVisualStyleBackColor = true; - // - // comboBox19 - // - resources.ApplyResources(this.comboBox19, "comboBox19"); - this.comboBox19.FormattingEnabled = true; - this.comboBox19.Name = "comboBox19"; - this.comboBox19.SelectedIndexChanged += new System.EventHandler(this.comboBox19_SelectedIndexChanged); - this.comboBox19.TextChanged += new System.EventHandler(this.comboBox19_TextChanged); - this.comboBox19.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox19_KeyPress); + this.checkBox19.CheckedChanged += new System.EventHandler(this.checkBox19_CheckedChanged); // // label19 // @@ -766,15 +618,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox20, "checkBox20"); this.checkBox20.Name = "checkBox20"; this.checkBox20.UseVisualStyleBackColor = true; - // - // comboBox20 - // - resources.ApplyResources(this.comboBox20, "comboBox20"); - this.comboBox20.FormattingEnabled = true; - this.comboBox20.Name = "comboBox20"; - this.comboBox20.SelectedIndexChanged += new System.EventHandler(this.comboBox20_SelectedIndexChanged); - this.comboBox20.TextChanged += new System.EventHandler(this.comboBox20_TextChanged); - this.comboBox20.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox20_KeyPress); + this.checkBox20.CheckedChanged += new System.EventHandler(this.checkBox20_CheckedChanged); // // label20 // @@ -786,15 +630,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox40, "checkBox40"); this.checkBox40.Name = "checkBox40"; this.checkBox40.UseVisualStyleBackColor = true; - // - // comboBox40 - // - resources.ApplyResources(this.comboBox40, "comboBox40"); - this.comboBox40.FormattingEnabled = true; - this.comboBox40.Name = "comboBox40"; - this.comboBox40.SelectedIndexChanged += new System.EventHandler(this.comboBox40_SelectedIndexChanged); - this.comboBox40.TextChanged += new System.EventHandler(this.comboBox40_TextChanged); - this.comboBox40.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox40_KeyPress); + this.checkBox40.CheckedChanged += new System.EventHandler(this.checkBox40_CheckedChanged); // // label40 // @@ -806,15 +642,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox39, "checkBox39"); this.checkBox39.Name = "checkBox39"; this.checkBox39.UseVisualStyleBackColor = true; - // - // comboBox39 - // - resources.ApplyResources(this.comboBox39, "comboBox39"); - this.comboBox39.FormattingEnabled = true; - this.comboBox39.Name = "comboBox39"; - this.comboBox39.SelectedIndexChanged += new System.EventHandler(this.comboBox39_SelectedIndexChanged); - this.comboBox39.TextChanged += new System.EventHandler(this.comboBox39_TextChanged); - this.comboBox39.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox39_KeyPress); + this.checkBox39.CheckedChanged += new System.EventHandler(this.checkBox39_CheckedChanged); // // label39 // @@ -826,15 +654,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox38, "checkBox38"); this.checkBox38.Name = "checkBox38"; this.checkBox38.UseVisualStyleBackColor = true; - // - // comboBox38 - // - resources.ApplyResources(this.comboBox38, "comboBox38"); - this.comboBox38.FormattingEnabled = true; - this.comboBox38.Name = "comboBox38"; - this.comboBox38.SelectedIndexChanged += new System.EventHandler(this.comboBox38_SelectedIndexChanged); - this.comboBox38.TextChanged += new System.EventHandler(this.comboBox38_TextChanged); - this.comboBox38.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox38_KeyPress); + this.checkBox38.CheckedChanged += new System.EventHandler(this.checkBox38_CheckedChanged); // // label38 // @@ -846,15 +666,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox37, "checkBox37"); this.checkBox37.Name = "checkBox37"; this.checkBox37.UseVisualStyleBackColor = true; - // - // comboBox37 - // - resources.ApplyResources(this.comboBox37, "comboBox37"); - this.comboBox37.FormattingEnabled = true; - this.comboBox37.Name = "comboBox37"; - this.comboBox37.SelectedIndexChanged += new System.EventHandler(this.comboBox37_SelectedIndexChanged); - this.comboBox37.TextChanged += new System.EventHandler(this.comboBox37_TextChanged); - this.comboBox37.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox37_KeyPress); + this.checkBox37.CheckedChanged += new System.EventHandler(this.checkBox37_CheckedChanged); // // label37 // @@ -866,15 +678,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox36, "checkBox36"); this.checkBox36.Name = "checkBox36"; this.checkBox36.UseVisualStyleBackColor = true; - // - // comboBox36 - // - resources.ApplyResources(this.comboBox36, "comboBox36"); - this.comboBox36.FormattingEnabled = true; - this.comboBox36.Name = "comboBox36"; - this.comboBox36.SelectedIndexChanged += new System.EventHandler(this.comboBox36_SelectedIndexChanged); - this.comboBox36.TextChanged += new System.EventHandler(this.comboBox36_TextChanged); - this.comboBox36.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox36_KeyPress); + this.checkBox36.CheckedChanged += new System.EventHandler(this.checkBox36_CheckedChanged); // // label36 // @@ -886,15 +690,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox35, "checkBox35"); this.checkBox35.Name = "checkBox35"; this.checkBox35.UseVisualStyleBackColor = true; - // - // comboBox35 - // - resources.ApplyResources(this.comboBox35, "comboBox35"); - this.comboBox35.FormattingEnabled = true; - this.comboBox35.Name = "comboBox35"; - this.comboBox35.SelectedIndexChanged += new System.EventHandler(this.comboBox35_SelectedIndexChanged); - this.comboBox35.TextChanged += new System.EventHandler(this.comboBox35_TextChanged); - this.comboBox35.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox35_KeyPress); + this.checkBox35.CheckedChanged += new System.EventHandler(this.checkBox35_CheckedChanged); // // label35 // @@ -906,15 +702,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox34, "checkBox34"); this.checkBox34.Name = "checkBox34"; this.checkBox34.UseVisualStyleBackColor = true; - // - // comboBox34 - // - resources.ApplyResources(this.comboBox34, "comboBox34"); - this.comboBox34.FormattingEnabled = true; - this.comboBox34.Name = "comboBox34"; - this.comboBox34.SelectedIndexChanged += new System.EventHandler(this.comboBox34_SelectedIndexChanged); - this.comboBox34.TextChanged += new System.EventHandler(this.comboBox34_TextChanged); - this.comboBox34.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox34_KeyPress); + this.checkBox34.CheckedChanged += new System.EventHandler(this.checkBox34_CheckedChanged); // // label34 // @@ -926,15 +714,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox33, "checkBox33"); this.checkBox33.Name = "checkBox33"; this.checkBox33.UseVisualStyleBackColor = true; - // - // comboBox33 - // - resources.ApplyResources(this.comboBox33, "comboBox33"); - this.comboBox33.FormattingEnabled = true; - this.comboBox33.Name = "comboBox33"; - this.comboBox33.SelectedIndexChanged += new System.EventHandler(this.comboBox33_SelectedIndexChanged); - this.comboBox33.TextChanged += new System.EventHandler(this.comboBox33_TextChanged); - this.comboBox33.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox33_KeyPress); + this.checkBox33.CheckedChanged += new System.EventHandler(this.checkBox33_CheckedChanged); // // label33 // @@ -946,15 +726,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox32, "checkBox32"); this.checkBox32.Name = "checkBox32"; this.checkBox32.UseVisualStyleBackColor = true; - // - // comboBox32 - // - resources.ApplyResources(this.comboBox32, "comboBox32"); - this.comboBox32.FormattingEnabled = true; - this.comboBox32.Name = "comboBox32"; - this.comboBox32.SelectedIndexChanged += new System.EventHandler(this.comboBox26_SelectedIndexChanged); - this.comboBox32.TextChanged += new System.EventHandler(this.comboBox32_TextChanged); - this.comboBox32.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox32_KeyPress); + this.checkBox32.CheckedChanged += new System.EventHandler(this.checkBox32_CheckedChanged); // // label32 // @@ -966,15 +738,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox31, "checkBox31"); this.checkBox31.Name = "checkBox31"; this.checkBox31.UseVisualStyleBackColor = true; - // - // comboBox31 - // - resources.ApplyResources(this.comboBox31, "comboBox31"); - this.comboBox31.FormattingEnabled = true; - this.comboBox31.Name = "comboBox31"; - this.comboBox31.SelectedIndexChanged += new System.EventHandler(this.comboBox31_SelectedIndexChanged); - this.comboBox31.TextChanged += new System.EventHandler(this.comboBox31_TextChanged); - this.comboBox31.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox31_KeyPress); + this.checkBox31.CheckedChanged += new System.EventHandler(this.checkBox31_CheckedChanged); // // label31 // @@ -986,15 +750,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox30, "checkBox30"); this.checkBox30.Name = "checkBox30"; this.checkBox30.UseVisualStyleBackColor = true; - // - // comboBox30 - // - resources.ApplyResources(this.comboBox30, "comboBox30"); - this.comboBox30.FormattingEnabled = true; - this.comboBox30.Name = "comboBox30"; - this.comboBox30.SelectedIndexChanged += new System.EventHandler(this.comboBox30_SelectedIndexChanged); - this.comboBox30.TextChanged += new System.EventHandler(this.comboBox30_TextChanged); - this.comboBox30.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox30_KeyPress); + this.checkBox30.CheckedChanged += new System.EventHandler(this.checkBox30_CheckedChanged); // // label30 // @@ -1006,14 +762,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox29, "checkBox29"); this.checkBox29.Name = "checkBox29"; this.checkBox29.UseVisualStyleBackColor = true; - // - // comboBox29 - // - resources.ApplyResources(this.comboBox29, "comboBox29"); - this.comboBox29.FormattingEnabled = true; - this.comboBox29.Name = "comboBox29"; - this.comboBox29.TextChanged += new System.EventHandler(this.comboBox29_TextChanged); - this.comboBox29.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox29_KeyPress); + this.checkBox29.CheckedChanged += new System.EventHandler(this.checkBox29_CheckedChanged); // // label29 // @@ -1025,15 +774,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox28, "checkBox28"); this.checkBox28.Name = "checkBox28"; this.checkBox28.UseVisualStyleBackColor = true; - // - // comboBox28 - // - resources.ApplyResources(this.comboBox28, "comboBox28"); - this.comboBox28.FormattingEnabled = true; - this.comboBox28.Name = "comboBox28"; - this.comboBox28.SelectedIndexChanged += new System.EventHandler(this.comboBox28_SelectedIndexChanged); - this.comboBox28.TextChanged += new System.EventHandler(this.comboBox28_TextChanged); - this.comboBox28.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox28_KeyPress); + this.checkBox28.CheckedChanged += new System.EventHandler(this.checkBox28_CheckedChanged); // // label28 // @@ -1045,15 +786,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox27, "checkBox27"); this.checkBox27.Name = "checkBox27"; this.checkBox27.UseVisualStyleBackColor = true; - // - // comboBox27 - // - resources.ApplyResources(this.comboBox27, "comboBox27"); - this.comboBox27.FormattingEnabled = true; - this.comboBox27.Name = "comboBox27"; - this.comboBox27.SelectedIndexChanged += new System.EventHandler(this.comboBox27_SelectedIndexChanged); - this.comboBox27.TextChanged += new System.EventHandler(this.comboBox27_TextChanged); - this.comboBox27.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox27_KeyPress); + this.checkBox27.CheckedChanged += new System.EventHandler(this.checkBox27_CheckedChanged); // // label27 // @@ -1065,15 +798,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox26, "checkBox26"); this.checkBox26.Name = "checkBox26"; this.checkBox26.UseVisualStyleBackColor = true; - // - // comboBox26 - // - resources.ApplyResources(this.comboBox26, "comboBox26"); - this.comboBox26.FormattingEnabled = true; - this.comboBox26.Name = "comboBox26"; - this.comboBox26.SelectedIndexChanged += new System.EventHandler(this.comboBox26_SelectedIndexChanged); - this.comboBox26.TextChanged += new System.EventHandler(this.comboBox26_TextChanged); - this.comboBox26.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox26_KeyPress); + this.checkBox26.CheckedChanged += new System.EventHandler(this.checkBox26_CheckedChanged); // // label26 // @@ -1085,15 +810,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox25, "checkBox25"); this.checkBox25.Name = "checkBox25"; this.checkBox25.UseVisualStyleBackColor = true; - // - // comboBox25 - // - resources.ApplyResources(this.comboBox25, "comboBox25"); - this.comboBox25.FormattingEnabled = true; - this.comboBox25.Name = "comboBox25"; - this.comboBox25.SelectedIndexChanged += new System.EventHandler(this.comboBox25_SelectedIndexChanged); - this.comboBox25.TextChanged += new System.EventHandler(this.comboBox25_TextChanged); - this.comboBox25.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox25_KeyPress); + this.checkBox25.CheckedChanged += new System.EventHandler(this.checkBox25_CheckedChanged); // // label25 // @@ -1105,15 +822,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox24, "checkBox24"); this.checkBox24.Name = "checkBox24"; this.checkBox24.UseVisualStyleBackColor = true; - // - // comboBox24 - // - resources.ApplyResources(this.comboBox24, "comboBox24"); - this.comboBox24.FormattingEnabled = true; - this.comboBox24.Name = "comboBox24"; - this.comboBox24.SelectedIndexChanged += new System.EventHandler(this.comboBox24_SelectedIndexChanged); - this.comboBox24.TextChanged += new System.EventHandler(this.comboBox24_TextChanged); - this.comboBox24.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox24_KeyPress); + this.checkBox24.CheckedChanged += new System.EventHandler(this.checkBox24_CheckedChanged); // // label24 // @@ -1125,15 +834,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox23, "checkBox23"); this.checkBox23.Name = "checkBox23"; this.checkBox23.UseVisualStyleBackColor = true; - // - // comboBox23 - // - resources.ApplyResources(this.comboBox23, "comboBox23"); - this.comboBox23.FormattingEnabled = true; - this.comboBox23.Name = "comboBox23"; - this.comboBox23.SelectedIndexChanged += new System.EventHandler(this.comboBox23_SelectedIndexChanged); - this.comboBox23.TextChanged += new System.EventHandler(this.comboBox23_TextChanged); - this.comboBox23.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox23_KeyPress); + this.checkBox23.CheckedChanged += new System.EventHandler(this.checkBox23_CheckedChanged); // // label23 // @@ -1145,15 +846,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox22, "checkBox22"); this.checkBox22.Name = "checkBox22"; this.checkBox22.UseVisualStyleBackColor = true; - // - // comboBox22 - // - resources.ApplyResources(this.comboBox22, "comboBox22"); - this.comboBox22.FormattingEnabled = true; - this.comboBox22.Name = "comboBox22"; - this.comboBox22.SelectedIndexChanged += new System.EventHandler(this.comboBox22_SelectedIndexChanged); - this.comboBox22.TextChanged += new System.EventHandler(this.comboBox22_TextChanged); - this.comboBox22.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox22_KeyPress); + this.checkBox22.CheckedChanged += new System.EventHandler(this.checkBox22_CheckedChanged); // // label22 // @@ -1165,15 +858,7 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.checkBox21, "checkBox21"); this.checkBox21.Name = "checkBox21"; this.checkBox21.UseVisualStyleBackColor = true; - // - // comboBox21 - // - resources.ApplyResources(this.comboBox21, "comboBox21"); - this.comboBox21.FormattingEnabled = true; - this.comboBox21.Name = "comboBox21"; - this.comboBox21.SelectedIndexChanged += new System.EventHandler(this.comboBox21_SelectedIndexChanged); - this.comboBox21.TextChanged += new System.EventHandler(this.comboBox21_TextChanged); - this.comboBox21.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox21_KeyPress); + this.checkBox21.CheckedChanged += new System.EventHandler(this.checkBox21_CheckedChanged); // // label21 // @@ -1184,277 +869,256 @@ namespace TBF.BenchControl.DataEntry.S620 // resources.ApplyResources(this.textBox1, "textBox1"); this.textBox1.Name = "textBox1"; + this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox1_KeyPress); // // textBox2 // resources.ApplyResources(this.textBox2, "textBox2"); this.textBox2.Name = "textBox2"; + this.textBox2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox2_KeyPress); // // textBox3 // resources.ApplyResources(this.textBox3, "textBox3"); this.textBox3.Name = "textBox3"; + this.textBox3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox3_KeyPress); // // textBox4 // resources.ApplyResources(this.textBox4, "textBox4"); this.textBox4.Name = "textBox4"; + this.textBox4.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox4_KeyPress); // // textBox5 // resources.ApplyResources(this.textBox5, "textBox5"); this.textBox5.Name = "textBox5"; + this.textBox5.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox5_KeyPress); // // textBox6 // resources.ApplyResources(this.textBox6, "textBox6"); this.textBox6.Name = "textBox6"; + this.textBox6.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox6_KeyPress); // // textBox7 // resources.ApplyResources(this.textBox7, "textBox7"); this.textBox7.Name = "textBox7"; + this.textBox7.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox7_KeyPress); // // textBox8 // resources.ApplyResources(this.textBox8, "textBox8"); this.textBox8.Name = "textBox8"; + this.textBox8.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox8_KeyPress); // // textBox9 // resources.ApplyResources(this.textBox9, "textBox9"); this.textBox9.Name = "textBox9"; + this.textBox9.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox9_KeyPress); // // textBox10 // resources.ApplyResources(this.textBox10, "textBox10"); this.textBox10.Name = "textBox10"; + this.textBox10.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox10_KeyPress); // // textBox11 // resources.ApplyResources(this.textBox11, "textBox11"); this.textBox11.Name = "textBox11"; + this.textBox11.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox11_KeyPress); // // textBox12 // resources.ApplyResources(this.textBox12, "textBox12"); this.textBox12.Name = "textBox12"; + this.textBox12.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox12_KeyPress); // // textBox13 // resources.ApplyResources(this.textBox13, "textBox13"); this.textBox13.Name = "textBox13"; + this.textBox13.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox13_KeyPress); // // textBox14 // resources.ApplyResources(this.textBox14, "textBox14"); this.textBox14.Name = "textBox14"; + this.textBox14.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox14_KeyPress); // // textBox15 // resources.ApplyResources(this.textBox15, "textBox15"); this.textBox15.Name = "textBox15"; + this.textBox15.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox15_KeyPress); // // textBox16 // resources.ApplyResources(this.textBox16, "textBox16"); this.textBox16.Name = "textBox16"; + this.textBox16.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox16_KeyPress); // // textBox17 // resources.ApplyResources(this.textBox17, "textBox17"); this.textBox17.Name = "textBox17"; + this.textBox17.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox17_KeyPress); // // textBox18 // resources.ApplyResources(this.textBox18, "textBox18"); this.textBox18.Name = "textBox18"; + this.textBox18.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox18_KeyPress); // // textBox19 // resources.ApplyResources(this.textBox19, "textBox19"); this.textBox19.Name = "textBox19"; + this.textBox19.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox19_KeyPress); // // textBox20 // resources.ApplyResources(this.textBox20, "textBox20"); this.textBox20.Name = "textBox20"; + this.textBox20.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox20_KeyPress); // // textBox21 // resources.ApplyResources(this.textBox21, "textBox21"); this.textBox21.Name = "textBox21"; + this.textBox21.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox21_KeyPress); // // textBox22 // resources.ApplyResources(this.textBox22, "textBox22"); this.textBox22.Name = "textBox22"; + this.textBox22.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox22_KeyPress); // // textBox23 // resources.ApplyResources(this.textBox23, "textBox23"); this.textBox23.Name = "textBox23"; + this.textBox23.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox23_KeyPress); // // textBox24 // resources.ApplyResources(this.textBox24, "textBox24"); this.textBox24.Name = "textBox24"; + this.textBox24.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox24_KeyPress); // // textBox25 // resources.ApplyResources(this.textBox25, "textBox25"); this.textBox25.Name = "textBox25"; + this.textBox25.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox25_KeyPress); // // textBox26 // resources.ApplyResources(this.textBox26, "textBox26"); this.textBox26.Name = "textBox26"; + this.textBox26.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox26_KeyPress); // // textBox27 // resources.ApplyResources(this.textBox27, "textBox27"); this.textBox27.Name = "textBox27"; + this.textBox27.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox27_KeyPress); // // textBox28 // resources.ApplyResources(this.textBox28, "textBox28"); this.textBox28.Name = "textBox28"; + this.textBox28.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox28_KeyPress); // // textBox29 // resources.ApplyResources(this.textBox29, "textBox29"); this.textBox29.Name = "textBox29"; + this.textBox29.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox29_KeyPress); // // textBox30 // resources.ApplyResources(this.textBox30, "textBox30"); this.textBox30.Name = "textBox30"; + this.textBox30.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox30_KeyPress); // // textBox31 // resources.ApplyResources(this.textBox31, "textBox31"); this.textBox31.Name = "textBox31"; + this.textBox31.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox31_KeyPress); // // textBox32 // resources.ApplyResources(this.textBox32, "textBox32"); this.textBox32.Name = "textBox32"; + this.textBox32.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox32_KeyPress); // // textBox33 // resources.ApplyResources(this.textBox33, "textBox33"); this.textBox33.Name = "textBox33"; + this.textBox33.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox33_KeyPress); // // textBox34 // resources.ApplyResources(this.textBox34, "textBox34"); this.textBox34.Name = "textBox34"; + this.textBox34.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox34_KeyPress); // // textBox35 // resources.ApplyResources(this.textBox35, "textBox35"); this.textBox35.Name = "textBox35"; + this.textBox35.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox35_KeyPress); // // textBox36 // resources.ApplyResources(this.textBox36, "textBox36"); this.textBox36.Name = "textBox36"; + this.textBox36.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox36_KeyPress); // // textBox37 // resources.ApplyResources(this.textBox37, "textBox37"); this.textBox37.Name = "textBox37"; + this.textBox37.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox37_KeyPress); // // textBox38 // resources.ApplyResources(this.textBox38, "textBox38"); this.textBox38.Name = "textBox38"; + this.textBox38.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox38_KeyPress); // // textBox39 // resources.ApplyResources(this.textBox39, "textBox39"); this.textBox39.Name = "textBox39"; + this.textBox39.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox39_KeyPress); // // textBox40 // resources.ApplyResources(this.textBox40, "textBox40"); this.textBox40.Name = "textBox40"; - // - // bodyLabel - // - resources.ApplyResources(this.bodyLabel, "bodyLabel"); - this.bodyLabel.Name = "bodyLabel"; + this.textBox40.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox40_KeyPress); // // snLabel // resources.ApplyResources(this.snLabel, "snLabel"); this.snLabel.Name = "snLabel"; // - // bodyLabel2 - // - resources.ApplyResources(this.bodyLabel2, "bodyLabel2"); - this.bodyLabel2.Name = "bodyLabel2"; - // // snLabel2 // resources.ApplyResources(this.snLabel2, "snLabel2"); this.snLabel2.Name = "snLabel2"; // - // snRangeGroupBox - // - this.snRangeGroupBox.Controls.Add(this.lastSNRangeCB); - this.snRangeGroupBox.Controls.Add(this.firstSNRangeCB); - this.snRangeGroupBox.Controls.Add(this.exclamationToLabel); - this.snRangeGroupBox.Controls.Add(this.exclamationFromLabel); - this.snRangeGroupBox.Controls.Add(this.toLabel); - this.snRangeGroupBox.Controls.Add(this.fromLabel); - resources.ApplyResources(this.snRangeGroupBox, "snRangeGroupBox"); - this.snRangeGroupBox.Name = "snRangeGroupBox"; - this.snRangeGroupBox.TabStop = false; - // - // lastSNRangeCB - // - resources.ApplyResources(this.lastSNRangeCB, "lastSNRangeCB"); - this.lastSNRangeCB.FormattingEnabled = true; - this.lastSNRangeCB.Name = "lastSNRangeCB"; - this.lastSNRangeCB.SelectedIndexChanged += new System.EventHandler(this.lastSNRangeCB_SelectedIndexChanged); - this.lastSNRangeCB.TextChanged += new System.EventHandler(this.lastSNRangeCB_TextChanged); - // - // firstSNRangeCB - // - resources.ApplyResources(this.firstSNRangeCB, "firstSNRangeCB"); - this.firstSNRangeCB.FormattingEnabled = true; - this.firstSNRangeCB.Name = "firstSNRangeCB"; - this.firstSNRangeCB.SelectedIndexChanged += new System.EventHandler(this.firstSNRangeCB_SelectedIndexChanged); - this.firstSNRangeCB.TextChanged += new System.EventHandler(this.firstSNRangeCB_TextChanged); - // - // exclamationToLabel - // - resources.ApplyResources(this.exclamationToLabel, "exclamationToLabel"); - this.exclamationToLabel.ForeColor = System.Drawing.Color.SpringGreen; - this.exclamationToLabel.Name = "exclamationToLabel"; - // - // exclamationFromLabel - // - resources.ApplyResources(this.exclamationFromLabel, "exclamationFromLabel"); - this.exclamationFromLabel.ForeColor = System.Drawing.Color.SpringGreen; - this.exclamationFromLabel.Name = "exclamationFromLabel"; - // - // toLabel - // - resources.ApplyResources(this.toLabel, "toLabel"); - this.toLabel.Name = "toLabel"; - // - // fromLabel - // - resources.ApplyResources(this.fromLabel, "fromLabel"); - this.fromLabel.Name = "fromLabel"; - // // serialNumbersGroupBox // - this.serialNumbersGroupBox.Controls.Add(this.counterLabel2); - this.serialNumbersGroupBox.Controls.Add(this.counterLabel); - this.serialNumbersGroupBox.Controls.Add(this.clearButton); + this.serialNumbersGroupBox.Controls.Add(this.bodyLabel2); + this.serialNumbersGroupBox.Controls.Add(this.bodyLabel); this.serialNumbersGroupBox.Controls.Add(this.textBox80); this.serialNumbersGroupBox.Controls.Add(this.textBox79); this.serialNumbersGroupBox.Controls.Add(this.textBox78); @@ -1495,183 +1159,141 @@ namespace TBF.BenchControl.DataEntry.S620 this.serialNumbersGroupBox.Controls.Add(this.textBox43); this.serialNumbersGroupBox.Controls.Add(this.textBox42); this.serialNumbersGroupBox.Controls.Add(this.textBox41); - this.serialNumbersGroupBox.Controls.Add(this.comboBox1); this.serialNumbersGroupBox.Controls.Add(this.label1); this.serialNumbersGroupBox.Controls.Add(this.snLabel2); this.serialNumbersGroupBox.Controls.Add(this.checkBox1); - this.serialNumbersGroupBox.Controls.Add(this.bodyLabel2); this.serialNumbersGroupBox.Controls.Add(this.label2); this.serialNumbersGroupBox.Controls.Add(this.snLabel); - this.serialNumbersGroupBox.Controls.Add(this.comboBox2); - this.serialNumbersGroupBox.Controls.Add(this.bodyLabel); this.serialNumbersGroupBox.Controls.Add(this.checkBox2); this.serialNumbersGroupBox.Controls.Add(this.textBox40); this.serialNumbersGroupBox.Controls.Add(this.label3); this.serialNumbersGroupBox.Controls.Add(this.textBox39); - this.serialNumbersGroupBox.Controls.Add(this.comboBox3); this.serialNumbersGroupBox.Controls.Add(this.textBox38); this.serialNumbersGroupBox.Controls.Add(this.checkBox3); this.serialNumbersGroupBox.Controls.Add(this.textBox37); this.serialNumbersGroupBox.Controls.Add(this.label4); this.serialNumbersGroupBox.Controls.Add(this.textBox36); - this.serialNumbersGroupBox.Controls.Add(this.comboBox4); this.serialNumbersGroupBox.Controls.Add(this.textBox35); this.serialNumbersGroupBox.Controls.Add(this.checkBox4); this.serialNumbersGroupBox.Controls.Add(this.textBox34); this.serialNumbersGroupBox.Controls.Add(this.label5); this.serialNumbersGroupBox.Controls.Add(this.textBox33); - this.serialNumbersGroupBox.Controls.Add(this.comboBox5); this.serialNumbersGroupBox.Controls.Add(this.textBox32); this.serialNumbersGroupBox.Controls.Add(this.checkBox5); this.serialNumbersGroupBox.Controls.Add(this.textBox31); this.serialNumbersGroupBox.Controls.Add(this.label6); this.serialNumbersGroupBox.Controls.Add(this.textBox30); - this.serialNumbersGroupBox.Controls.Add(this.comboBox6); this.serialNumbersGroupBox.Controls.Add(this.textBox29); this.serialNumbersGroupBox.Controls.Add(this.checkBox6); this.serialNumbersGroupBox.Controls.Add(this.textBox28); this.serialNumbersGroupBox.Controls.Add(this.label7); this.serialNumbersGroupBox.Controls.Add(this.textBox27); - this.serialNumbersGroupBox.Controls.Add(this.comboBox7); this.serialNumbersGroupBox.Controls.Add(this.textBox26); this.serialNumbersGroupBox.Controls.Add(this.checkBox7); this.serialNumbersGroupBox.Controls.Add(this.textBox25); this.serialNumbersGroupBox.Controls.Add(this.label8); this.serialNumbersGroupBox.Controls.Add(this.textBox24); - this.serialNumbersGroupBox.Controls.Add(this.comboBox8); this.serialNumbersGroupBox.Controls.Add(this.textBox23); this.serialNumbersGroupBox.Controls.Add(this.checkBox8); this.serialNumbersGroupBox.Controls.Add(this.textBox22); this.serialNumbersGroupBox.Controls.Add(this.label9); this.serialNumbersGroupBox.Controls.Add(this.textBox21); - this.serialNumbersGroupBox.Controls.Add(this.comboBox9); this.serialNumbersGroupBox.Controls.Add(this.textBox20); this.serialNumbersGroupBox.Controls.Add(this.checkBox9); this.serialNumbersGroupBox.Controls.Add(this.textBox19); this.serialNumbersGroupBox.Controls.Add(this.label10); this.serialNumbersGroupBox.Controls.Add(this.textBox18); - this.serialNumbersGroupBox.Controls.Add(this.comboBox10); this.serialNumbersGroupBox.Controls.Add(this.textBox17); this.serialNumbersGroupBox.Controls.Add(this.checkBox10); this.serialNumbersGroupBox.Controls.Add(this.textBox16); this.serialNumbersGroupBox.Controls.Add(this.label11); this.serialNumbersGroupBox.Controls.Add(this.textBox15); - this.serialNumbersGroupBox.Controls.Add(this.comboBox11); this.serialNumbersGroupBox.Controls.Add(this.textBox14); this.serialNumbersGroupBox.Controls.Add(this.checkBox11); this.serialNumbersGroupBox.Controls.Add(this.textBox13); this.serialNumbersGroupBox.Controls.Add(this.label12); this.serialNumbersGroupBox.Controls.Add(this.textBox12); - this.serialNumbersGroupBox.Controls.Add(this.comboBox12); this.serialNumbersGroupBox.Controls.Add(this.textBox11); this.serialNumbersGroupBox.Controls.Add(this.checkBox12); this.serialNumbersGroupBox.Controls.Add(this.textBox10); this.serialNumbersGroupBox.Controls.Add(this.label13); this.serialNumbersGroupBox.Controls.Add(this.textBox9); - this.serialNumbersGroupBox.Controls.Add(this.comboBox13); this.serialNumbersGroupBox.Controls.Add(this.textBox8); this.serialNumbersGroupBox.Controls.Add(this.checkBox13); this.serialNumbersGroupBox.Controls.Add(this.textBox7); this.serialNumbersGroupBox.Controls.Add(this.label14); this.serialNumbersGroupBox.Controls.Add(this.textBox6); - this.serialNumbersGroupBox.Controls.Add(this.comboBox14); this.serialNumbersGroupBox.Controls.Add(this.textBox5); this.serialNumbersGroupBox.Controls.Add(this.checkBox14); this.serialNumbersGroupBox.Controls.Add(this.textBox4); this.serialNumbersGroupBox.Controls.Add(this.label15); this.serialNumbersGroupBox.Controls.Add(this.textBox3); - this.serialNumbersGroupBox.Controls.Add(this.comboBox15); this.serialNumbersGroupBox.Controls.Add(this.textBox2); this.serialNumbersGroupBox.Controls.Add(this.checkBox15); this.serialNumbersGroupBox.Controls.Add(this.textBox1); this.serialNumbersGroupBox.Controls.Add(this.label16); this.serialNumbersGroupBox.Controls.Add(this.checkBox40); - this.serialNumbersGroupBox.Controls.Add(this.comboBox16); - this.serialNumbersGroupBox.Controls.Add(this.comboBox40); this.serialNumbersGroupBox.Controls.Add(this.checkBox16); this.serialNumbersGroupBox.Controls.Add(this.label40); this.serialNumbersGroupBox.Controls.Add(this.label17); this.serialNumbersGroupBox.Controls.Add(this.checkBox39); - this.serialNumbersGroupBox.Controls.Add(this.comboBox17); - this.serialNumbersGroupBox.Controls.Add(this.comboBox39); this.serialNumbersGroupBox.Controls.Add(this.checkBox17); this.serialNumbersGroupBox.Controls.Add(this.label39); this.serialNumbersGroupBox.Controls.Add(this.label18); this.serialNumbersGroupBox.Controls.Add(this.checkBox38); - this.serialNumbersGroupBox.Controls.Add(this.comboBox18); - this.serialNumbersGroupBox.Controls.Add(this.comboBox38); this.serialNumbersGroupBox.Controls.Add(this.checkBox18); this.serialNumbersGroupBox.Controls.Add(this.label38); this.serialNumbersGroupBox.Controls.Add(this.label19); this.serialNumbersGroupBox.Controls.Add(this.checkBox37); - this.serialNumbersGroupBox.Controls.Add(this.comboBox19); - this.serialNumbersGroupBox.Controls.Add(this.comboBox37); this.serialNumbersGroupBox.Controls.Add(this.checkBox19); this.serialNumbersGroupBox.Controls.Add(this.label37); this.serialNumbersGroupBox.Controls.Add(this.label20); this.serialNumbersGroupBox.Controls.Add(this.checkBox36); - this.serialNumbersGroupBox.Controls.Add(this.comboBox20); - this.serialNumbersGroupBox.Controls.Add(this.comboBox36); this.serialNumbersGroupBox.Controls.Add(this.checkBox20); this.serialNumbersGroupBox.Controls.Add(this.label36); this.serialNumbersGroupBox.Controls.Add(this.label21); this.serialNumbersGroupBox.Controls.Add(this.checkBox35); - this.serialNumbersGroupBox.Controls.Add(this.comboBox21); - this.serialNumbersGroupBox.Controls.Add(this.comboBox35); this.serialNumbersGroupBox.Controls.Add(this.checkBox21); this.serialNumbersGroupBox.Controls.Add(this.label35); this.serialNumbersGroupBox.Controls.Add(this.label22); this.serialNumbersGroupBox.Controls.Add(this.checkBox34); - this.serialNumbersGroupBox.Controls.Add(this.comboBox22); - this.serialNumbersGroupBox.Controls.Add(this.comboBox34); this.serialNumbersGroupBox.Controls.Add(this.checkBox22); this.serialNumbersGroupBox.Controls.Add(this.label34); this.serialNumbersGroupBox.Controls.Add(this.label23); this.serialNumbersGroupBox.Controls.Add(this.checkBox33); - this.serialNumbersGroupBox.Controls.Add(this.comboBox23); - this.serialNumbersGroupBox.Controls.Add(this.comboBox33); this.serialNumbersGroupBox.Controls.Add(this.checkBox23); this.serialNumbersGroupBox.Controls.Add(this.label33); this.serialNumbersGroupBox.Controls.Add(this.label24); this.serialNumbersGroupBox.Controls.Add(this.checkBox32); - this.serialNumbersGroupBox.Controls.Add(this.comboBox24); - this.serialNumbersGroupBox.Controls.Add(this.comboBox32); this.serialNumbersGroupBox.Controls.Add(this.checkBox24); this.serialNumbersGroupBox.Controls.Add(this.label32); this.serialNumbersGroupBox.Controls.Add(this.label25); this.serialNumbersGroupBox.Controls.Add(this.checkBox31); - this.serialNumbersGroupBox.Controls.Add(this.comboBox25); - this.serialNumbersGroupBox.Controls.Add(this.comboBox31); this.serialNumbersGroupBox.Controls.Add(this.checkBox25); this.serialNumbersGroupBox.Controls.Add(this.label31); this.serialNumbersGroupBox.Controls.Add(this.label26); this.serialNumbersGroupBox.Controls.Add(this.checkBox30); - this.serialNumbersGroupBox.Controls.Add(this.comboBox26); - this.serialNumbersGroupBox.Controls.Add(this.comboBox30); this.serialNumbersGroupBox.Controls.Add(this.checkBox26); this.serialNumbersGroupBox.Controls.Add(this.label30); this.serialNumbersGroupBox.Controls.Add(this.label27); this.serialNumbersGroupBox.Controls.Add(this.checkBox29); - this.serialNumbersGroupBox.Controls.Add(this.comboBox27); - this.serialNumbersGroupBox.Controls.Add(this.comboBox29); this.serialNumbersGroupBox.Controls.Add(this.checkBox27); this.serialNumbersGroupBox.Controls.Add(this.label29); this.serialNumbersGroupBox.Controls.Add(this.label28); this.serialNumbersGroupBox.Controls.Add(this.checkBox28); - this.serialNumbersGroupBox.Controls.Add(this.comboBox28); resources.ApplyResources(this.serialNumbersGroupBox, "serialNumbersGroupBox"); this.serialNumbersGroupBox.Name = "serialNumbersGroupBox"; this.serialNumbersGroupBox.TabStop = false; // - // counterLabel2 + // bodyLabel2 // - resources.ApplyResources(this.counterLabel2, "counterLabel2"); - this.counterLabel2.Name = "counterLabel2"; + resources.ApplyResources(this.bodyLabel2, "bodyLabel2"); + this.bodyLabel2.Name = "bodyLabel2"; // - // counterLabel + // bodyLabel // - resources.ApplyResources(this.counterLabel, "counterLabel"); - this.counterLabel.Name = "counterLabel"; + resources.ApplyResources(this.bodyLabel, "bodyLabel"); + this.bodyLabel.Name = "bodyLabel"; // // textBox80 // @@ -1933,51 +1555,69 @@ namespace TBF.BenchControl.DataEntry.S620 resources.ApplyResources(this.flowLayoutPanel2, "flowLayoutPanel2"); this.flowLayoutPanel2.Name = "flowLayoutPanel2"; // - // processComboBox + // workflowComboBox // - resources.ApplyResources(this.processComboBox, "processComboBox"); - this.processComboBox.FormattingEnabled = true; - this.processComboBox.Name = "processComboBox"; + resources.ApplyResources(this.workflowComboBox, "workflowComboBox"); + this.workflowComboBox.FormattingEnabled = true; + this.workflowComboBox.Name = "workflowComboBox"; + this.workflowComboBox.SelectedIndexChanged += new System.EventHandler(this.workflowComboBox_SelectedIndexChanged); // // workflowGroupBox // - this.workflowGroupBox.Controls.Add(this.workflowDescriptionLabel); - this.workflowGroupBox.Controls.Add(this.processComboBox); + this.workflowGroupBox.Controls.Add(this.reloadWorkflowsButton); + this.workflowGroupBox.Controls.Add(this.workflowComboBox); resources.ApplyResources(this.workflowGroupBox, "workflowGroupBox"); this.workflowGroupBox.Name = "workflowGroupBox"; this.workflowGroupBox.TabStop = false; // - // workflowDescriptionLabel + // reloadWorkflowsButton // - resources.ApplyResources(this.workflowDescriptionLabel, "workflowDescriptionLabel"); - this.workflowDescriptionLabel.Name = "workflowDescriptionLabel"; + resources.ApplyResources(this.reloadWorkflowsButton, "reloadWorkflowsButton"); + this.reloadWorkflowsButton.Name = "reloadWorkflowsButton"; + this.reloadWorkflowsButton.UseVisualStyleBackColor = true; + this.reloadWorkflowsButton.Click += new System.EventHandler(this.reloadWorkflowsButton_Click); + // + // workstepGroupBox + // + this.workstepGroupBox.Controls.Add(this.workstepComboBox); + resources.ApplyResources(this.workstepGroupBox, "workstepGroupBox"); + this.workstepGroupBox.Name = "workstepGroupBox"; + this.workstepGroupBox.TabStop = false; + // + // workstepComboBox + // + resources.ApplyResources(this.workstepComboBox, "workstepComboBox"); + this.workstepComboBox.FormattingEnabled = true; + this.workstepComboBox.Name = "workstepComboBox"; + this.workstepComboBox.SelectedIndexChanged += new System.EventHandler(this.workstepComboBox_SelectedIndexChanged); // // FormForMechanicalMetersWithTracing // resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.DarkGoldenrod; + this.BackColor = System.Drawing.SystemColors.Control; + this.Controls.Add(this.workstepGroupBox); this.Controls.Add(this.workflowGroupBox); this.Controls.Add(this.batchesGroupBox); this.Controls.Add(this.serialNumbersGroupBox); - this.Controls.Add(this.snRangeGroupBox); this.Controls.Add(this.orderGroupBox); this.Controls.Add(this.okButton); this.ForeColor = System.Drawing.Color.Black; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; this.Name = "FormForMechanicalMetersWithTracing"; this.TopMost = true; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormForMechanicalMetersWithTracing_FormClosing); this.Load += new System.EventHandler(this.CycleBeginningForm_Load); + this.Shown += new System.EventHandler(this.FormForMechanicalMetersWithTracing_Shown); + this.Paint += new System.Windows.Forms.PaintEventHandler(this.FormForMechanicalMetersWithTracing_Paint); this.orderGroupBox.ResumeLayout(false); this.orderGroupBox.PerformLayout(); - this.snRangeGroupBox.ResumeLayout(false); - this.snRangeGroupBox.PerformLayout(); this.serialNumbersGroupBox.ResumeLayout(false); this.serialNumbersGroupBox.PerformLayout(); this.batchesGroupBox.ResumeLayout(false); this.batchesGroupBox.PerformLayout(); this.workflowGroupBox.ResumeLayout(false); - this.workflowGroupBox.PerformLayout(); + this.workstepGroupBox.ResumeLayout(false); this.ResumeLayout(false); } @@ -1986,127 +1626,86 @@ namespace TBF.BenchControl.DataEntry.S620 private System.Windows.Forms.Button okButton; private System.Windows.Forms.GroupBox orderGroupBox; - private System.Windows.Forms.ComboBox orderCB; - private System.Windows.Forms.Button clearButton; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.ComboBox comboBox1; + private System.Windows.Forms.ComboBox orderCB; + private System.Windows.Forms.Label label1; private System.Windows.Forms.CheckBox checkBox1; - private System.Windows.Forms.CheckBox checkBox2; - private System.Windows.Forms.ComboBox comboBox2; + private System.Windows.Forms.CheckBox checkBox2; private System.Windows.Forms.Label label2; - private System.Windows.Forms.CheckBox checkBox3; - private System.Windows.Forms.ComboBox comboBox3; + private System.Windows.Forms.CheckBox checkBox3; private System.Windows.Forms.Label label3; - private System.Windows.Forms.CheckBox checkBox4; - private System.Windows.Forms.ComboBox comboBox4; + private System.Windows.Forms.CheckBox checkBox4; private System.Windows.Forms.Label label4; - private System.Windows.Forms.CheckBox checkBox5; - private System.Windows.Forms.ComboBox comboBox5; + private System.Windows.Forms.CheckBox checkBox5; private System.Windows.Forms.Label label5; - private System.Windows.Forms.CheckBox checkBox6; - private System.Windows.Forms.ComboBox comboBox6; + private System.Windows.Forms.CheckBox checkBox6; private System.Windows.Forms.Label label6; - private System.Windows.Forms.CheckBox checkBox7; - private System.Windows.Forms.ComboBox comboBox7; + private System.Windows.Forms.CheckBox checkBox7; private System.Windows.Forms.Label label7; - private System.Windows.Forms.CheckBox checkBox8; - private System.Windows.Forms.ComboBox comboBox8; + private System.Windows.Forms.CheckBox checkBox8; private System.Windows.Forms.Label label8; - private System.Windows.Forms.CheckBox checkBox9; - private System.Windows.Forms.ComboBox comboBox9; + private System.Windows.Forms.CheckBox checkBox9; private System.Windows.Forms.Label label9; - private System.Windows.Forms.CheckBox checkBox10; - private System.Windows.Forms.ComboBox comboBox10; + private System.Windows.Forms.CheckBox checkBox10; private System.Windows.Forms.Label label10; - private System.Windows.Forms.CheckBox checkBox11; - private System.Windows.Forms.ComboBox comboBox11; + private System.Windows.Forms.CheckBox checkBox11; private System.Windows.Forms.Label label11; - private System.Windows.Forms.CheckBox checkBox12; - private System.Windows.Forms.ComboBox comboBox12; + private System.Windows.Forms.CheckBox checkBox12; private System.Windows.Forms.Label label12; - private System.Windows.Forms.CheckBox checkBox13; - private System.Windows.Forms.ComboBox comboBox13; + private System.Windows.Forms.CheckBox checkBox13; private System.Windows.Forms.Label label13; - private System.Windows.Forms.CheckBox checkBox14; - private System.Windows.Forms.ComboBox comboBox14; + private System.Windows.Forms.CheckBox checkBox14; private System.Windows.Forms.Label label14; - private System.Windows.Forms.CheckBox checkBox15; - private System.Windows.Forms.ComboBox comboBox15; + private System.Windows.Forms.CheckBox checkBox15; private System.Windows.Forms.Label label15; - private System.Windows.Forms.CheckBox checkBox16; - private System.Windows.Forms.ComboBox comboBox16; + private System.Windows.Forms.CheckBox checkBox16; private System.Windows.Forms.Label label16; - private System.Windows.Forms.CheckBox checkBox17; - private System.Windows.Forms.ComboBox comboBox17; + private System.Windows.Forms.CheckBox checkBox17; private System.Windows.Forms.Label label17; - private System.Windows.Forms.CheckBox checkBox18; - private System.Windows.Forms.ComboBox comboBox18; + private System.Windows.Forms.CheckBox checkBox18; private System.Windows.Forms.Label label18; - private System.Windows.Forms.CheckBox checkBox19; - private System.Windows.Forms.ComboBox comboBox19; + private System.Windows.Forms.CheckBox checkBox19; private System.Windows.Forms.Label label19; - private System.Windows.Forms.CheckBox checkBox20; - private System.Windows.Forms.ComboBox comboBox20; + private System.Windows.Forms.CheckBox checkBox20; private System.Windows.Forms.Label label20; - private System.Windows.Forms.CheckBox checkBox40; - private System.Windows.Forms.ComboBox comboBox40; + private System.Windows.Forms.CheckBox checkBox40; private System.Windows.Forms.Label label40; - private System.Windows.Forms.CheckBox checkBox39; - private System.Windows.Forms.ComboBox comboBox39; + private System.Windows.Forms.CheckBox checkBox39; private System.Windows.Forms.Label label39; - private System.Windows.Forms.CheckBox checkBox38; - private System.Windows.Forms.ComboBox comboBox38; + private System.Windows.Forms.CheckBox checkBox38; private System.Windows.Forms.Label label38; - private System.Windows.Forms.CheckBox checkBox37; - private System.Windows.Forms.ComboBox comboBox37; + private System.Windows.Forms.CheckBox checkBox37; private System.Windows.Forms.Label label37; - private System.Windows.Forms.CheckBox checkBox36; - private System.Windows.Forms.ComboBox comboBox36; + private System.Windows.Forms.CheckBox checkBox36; private System.Windows.Forms.Label label36; - private System.Windows.Forms.CheckBox checkBox35; - private System.Windows.Forms.ComboBox comboBox35; + private System.Windows.Forms.CheckBox checkBox35; private System.Windows.Forms.Label label35; - private System.Windows.Forms.CheckBox checkBox34; - private System.Windows.Forms.ComboBox comboBox34; + private System.Windows.Forms.CheckBox checkBox34; private System.Windows.Forms.Label label34; - private System.Windows.Forms.CheckBox checkBox33; - private System.Windows.Forms.ComboBox comboBox33; + private System.Windows.Forms.CheckBox checkBox33; private System.Windows.Forms.Label label33; - private System.Windows.Forms.CheckBox checkBox32; - private System.Windows.Forms.ComboBox comboBox32; + private System.Windows.Forms.CheckBox checkBox32; private System.Windows.Forms.Label label32; - private System.Windows.Forms.CheckBox checkBox31; - private System.Windows.Forms.ComboBox comboBox31; + private System.Windows.Forms.CheckBox checkBox31; private System.Windows.Forms.Label label31; - private System.Windows.Forms.CheckBox checkBox30; - private System.Windows.Forms.ComboBox comboBox30; + private System.Windows.Forms.CheckBox checkBox30; private System.Windows.Forms.Label label30; - private System.Windows.Forms.CheckBox checkBox29; - private System.Windows.Forms.ComboBox comboBox29; + private System.Windows.Forms.CheckBox checkBox29; private System.Windows.Forms.Label label29; - private System.Windows.Forms.CheckBox checkBox28; - private System.Windows.Forms.ComboBox comboBox28; + private System.Windows.Forms.CheckBox checkBox28; private System.Windows.Forms.Label label28; - private System.Windows.Forms.CheckBox checkBox27; - private System.Windows.Forms.ComboBox comboBox27; + private System.Windows.Forms.CheckBox checkBox27; private System.Windows.Forms.Label label27; - private System.Windows.Forms.CheckBox checkBox26; - private System.Windows.Forms.ComboBox comboBox26; + private System.Windows.Forms.CheckBox checkBox26; private System.Windows.Forms.Label label26; - private System.Windows.Forms.CheckBox checkBox25; - private System.Windows.Forms.ComboBox comboBox25; + private System.Windows.Forms.CheckBox checkBox25; private System.Windows.Forms.Label label25; - private System.Windows.Forms.CheckBox checkBox24; - private System.Windows.Forms.ComboBox comboBox24; + private System.Windows.Forms.CheckBox checkBox24; private System.Windows.Forms.Label label24; - private System.Windows.Forms.CheckBox checkBox23; - private System.Windows.Forms.ComboBox comboBox23; + private System.Windows.Forms.CheckBox checkBox23; private System.Windows.Forms.Label label23; - private System.Windows.Forms.CheckBox checkBox22; - private System.Windows.Forms.ComboBox comboBox22; + private System.Windows.Forms.CheckBox checkBox22; private System.Windows.Forms.Label label22; - private System.Windows.Forms.CheckBox checkBox21; - private System.Windows.Forms.ComboBox comboBox21; + private System.Windows.Forms.CheckBox checkBox21; private System.Windows.Forms.Label label21; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.TextBox textBox2; @@ -2148,14 +1747,11 @@ namespace TBF.BenchControl.DataEntry.S620 private System.Windows.Forms.TextBox textBox38; private System.Windows.Forms.TextBox textBox39; private System.Windows.Forms.TextBox textBox40; - private System.Windows.Forms.Label bodyLabel; private System.Windows.Forms.Label snLabel; - private System.Windows.Forms.Label bodyLabel2; private System.Windows.Forms.Label snLabel2; private System.Windows.Forms.Button reloadButton; private System.Windows.Forms.TextBox pcsCountTextBox; private System.Windows.Forms.TextBox firstSNTextBox; - private System.Windows.Forms.GroupBox snRangeGroupBox; private System.Windows.Forms.Label toLabel; private System.Windows.Forms.Label fromLabel; private System.Windows.Forms.Label piecesCountLabel; @@ -2172,8 +1768,8 @@ namespace TBF.BenchControl.DataEntry.S620 private System.Windows.Forms.TextBox snDigitsTextBox; private System.Windows.Forms.TextBox suffixTextBox; private System.Windows.Forms.TextBox prefixTextBox; - private System.Windows.Forms.Label counterLabel2; - private System.Windows.Forms.Label counterLabel; + private System.Windows.Forms.Label bodyLabel2; + private System.Windows.Forms.Label bodyLabel; private System.Windows.Forms.TextBox textBox80; private System.Windows.Forms.TextBox textBox79; private System.Windows.Forms.TextBox textBox78; @@ -2217,8 +1813,11 @@ namespace TBF.BenchControl.DataEntry.S620 private System.Windows.Forms.GroupBox batchesGroupBox; private System.Windows.Forms.CheckBox batchesCheckBox; private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2; - private System.Windows.Forms.ComboBox processComboBox; + private System.Windows.Forms.ComboBox workflowComboBox; private System.Windows.Forms.GroupBox workflowGroupBox; - private System.Windows.Forms.Label workflowDescriptionLabel; + private System.Windows.Forms.GroupBox workstepGroupBox; + private System.Windows.Forms.ComboBox workstepComboBox; + private System.Windows.Forms.CheckBox orderCheckBox; + private System.Windows.Forms.Button reloadWorkflowsButton; } } \ No newline at end of file diff --git a/TBF/BenchControl/DataEntry/S620/FormForMechanicalMetersWithTracing.cs b/TBF/BenchControl/DataEntry/S620/FormForMechanicalMetersWithTracing.cs index 04d744f23..15b9cba77 100644 --- a/TBF/BenchControl/DataEntry/S620/FormForMechanicalMetersWithTracing.cs +++ b/TBF/BenchControl/DataEntry/S620/FormForMechanicalMetersWithTracing.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2020 Sensus Slovensko a.s. +/// Copyright (c) 2020-2021 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; @@ -10,40 +10,57 @@ using TBF.Resources; using Oracle.DataAccess.Client; using TracingDB.Entities; using NHibernate; -using System.Threading; using TracingDB; +using System.Drawing; namespace TBF.BenchControl.DataEntry.S620 { - public partial class FormForMechanicalMetersWithTracing : Form, GenericDevices.IHasCompleted + public partial class FormForMechanicalMetersWithTracing : Form, ICycleBeginOrEndForm, GenericDevices.IHasCompleted { private static readonly ILog log = LogManager.GetLogger(typeof(FormForMechanicalMetersWithTracing)); - /// Set to 'true' when the form closes - public bool Completed { get { return completed; } } - bool completed; /// Number of water meters IList waterMeters; readonly int wmsCount; - readonly bool skipFailed; + readonly int maxWMsCount; + readonly char closeButton; + readonly bool atTheEnd; + /// To be retrieved after the form is closed - public string PurchaseOrder; - public string[] BodyNrText; - public int[] AssignedSerialNr; - public string[] CompleteSerialNr; - public bool[] Disabled; - public string Prefix; /// S/N prefix - Loaded from Oracle DB table VT_AUFTRAG_PD - public string Suffix; /// S/N suffix - Loaded from Oracle DB table VT_AUFTRAG_PD + string purchaseOrder; + public string PurchaseOrder { get { return purchaseOrder; } set { purchaseOrder = value; } } + string[] bodyNrText; + public string[] BodyNrText { get { return bodyNrText; } set { bodyNrText = value; } } + + int[] assignedSerialNr; + public int[] AssignedSerialNr { get { return assignedSerialNr; } set { assignedSerialNr = value; } } + + string[] completeSerialNr; + public string[] CompleteSerialNr { get { return completeSerialNr; } set { completeSerialNr = value; } } + + bool[] disabled; + public bool[] Disabled { get { return disabled; } set { disabled = value; } } + + string prefix; /// S/N prefix - Loaded from Oracle DB table VT_AUFTRAG_PD + public string Prefix { get { return prefix; } set { prefix = value; } } + + string suffix; /// S/N suffix - Loaded from Oracle DB table VT_AUFTRAG_PD + public string Suffix { get { return suffix; } set { suffix = value; } } + + + /// + /// Production order related + /// /// Loaded from Oracle DB table VT_AUFTRAG_PD int firstSN; /// First serial number int snDigits; /// Number of digits of the middle part of the serial number int pcsCount; /// Pieces count IList foundMeters; - IList foundSNsWithinRange; + IList foundSNs; IList assignedSNs; /// Entered manually @@ -51,39 +68,56 @@ namespace TBF.BenchControl.DataEntry.S620 int snRangeLast; /// 0 = invalid + /// + /// Production tracing - part that persists between different forms (production cycles) + /// + static IList workflows; /// Workflows from the database + static Process currentWorkflow; /// Currently used workflow + static Workstep currentWStep; /// Currently used workflow step + static IList stepsOfTheCurrentWorkflow; + static IList uniqueCodeParts; + static IList palety; + + static FormForMechanicalMetersWithTracing() + { + workflows = new List(); + currentWorkflow = null; + currentWStep = null; + stepsOfTheCurrentWorkflow = new List(); + uniqueCodeParts = new List(); + palety = new List(); + } + + /// /// Production tracing /// ISession dbSession; - IList processes; /// Processes from the database - - Process currentProcess; /// Currently used workflow - Workstep currentWorkstep; /// Currently used workstep(s) - IList workstepsOfTheCurrentProcess; - + + /// Previous workstep verification Workstep verifiedWorkstep; - Part verifiedPart; /// Applicable when verifyReferencePart == false + Part verifiedPart; /// Applicable when verifyReferencePart == false bool verifyReferencePart; - /// Items to be scanned/filled in - IList komponenty; - IList palety; - public int ExtraBatteryLifetime { get { return 0; } } - - - /// Number of text boxes for serial numbers - int textBoxesCount; + /// + /// UI + /// + Color oriBackColor; + Rectangle rect; + int textBoxesCount; /// Number of text boxes for serial numbers Label[] labels; - ComboBox[] bodyNrBoxes; + TextBox[] bodyNrBoxes; TextBox[] serialNrBoxes; - TextBox[] counterNrBoxes; CheckBox[] checkBoxes; - IList enabledBodyNrBoxes; /// combo boxes containing body numbers - IList enabledSerialNrBoxes; /// text boxes containing assigned serial numbers - IList enabledCounterNrBoxes; /// text boxes containing assigned serial numbers - readonly LocalSettings LS; + + int nextWaterMeterIx; + + bool loadedOnce; /// Set when this form loads for the first time + + public bool Completed { get { return completed; } } + bool completed; /// Set when this form closes /// Parameterless constructor for common functionality @@ -91,20 +125,21 @@ namespace TBF.BenchControl.DataEntry.S620 { InitializeComponent(); ControlBox = false; + oriBackColor = BackColor; ManageCheckGroupBox(batchesCheckBox, batchesGroupBox); + ManageCheckGroupBox(orderCheckBox, orderGroupBox); firstSN = 0; snDigits = 0; pcsCount = 0; - Prefix = null; - Suffix = null; + prefix = null; + suffix = null; foundMeters = new List(); - foundSNsWithinRange = new List(); + foundSNs = new List(); assignedSNs = new List(); snRangeFirst = 0; snRangeLast = 0; - LS = Program.LocalSettings; textBoxesCount = 40; labels = new Label[] @@ -114,14 +149,7 @@ namespace TBF.BenchControl.DataEntry.S620 label21, label22, label23, label24, label25, label26, label27, label28, label29, label30, label31, label32, label33, label34, label35, label36, label37, label38, label39, label40, }; - bodyNrBoxes = new ComboBox[] - { - comboBox1, comboBox2, comboBox3, comboBox4, comboBox5, comboBox6, comboBox7, comboBox8, comboBox9, comboBox10, - comboBox11, comboBox12, comboBox13, comboBox14, comboBox15, comboBox16, comboBox17, comboBox18, comboBox19, comboBox20, - comboBox21, comboBox22, comboBox23, comboBox24, comboBox25, comboBox26, comboBox27, comboBox28, comboBox29, comboBox30, - comboBox31, comboBox32, comboBox33, comboBox34, comboBox35, comboBox36, comboBox37, comboBox38, comboBox39, comboBox40, - }; - counterNrBoxes = new TextBox[] + bodyNrBoxes = new TextBox[] { textBox1, textBox2, textBox3, textBox4, textBox5, textBox6, textBox7, textBox8, textBox9, textBox10, textBox11, textBox12, textBox13, textBox14, textBox15, textBox16, textBox17, textBox18, textBox19, textBox20, @@ -142,12 +170,23 @@ namespace TBF.BenchControl.DataEntry.S620 checkBox21, checkBox22, checkBox23, checkBox24, checkBox25, checkBox26, checkBox27, checkBox28, checkBox29, checkBox30, checkBox31, checkBox32, checkBox33, checkBox34, checkBox35, checkBox36, checkBox37, checkBox38, checkBox39, checkBox40, }; + System.Diagnostics.Debug.Assert(labels.Length == textBoxesCount); + System.Diagnostics.Debug.Assert(bodyNrBoxes.Length == textBoxesCount); + System.Diagnostics.Debug.Assert(serialNrBoxes.Length == textBoxesCount); + System.Diagnostics.Debug.Assert(checkBoxes.Length == textBoxesCount); - enabledBodyNrBoxes = new List(); - enabledSerialNrBoxes = new List(); - enabledCounterNrBoxes = new List(); + rect = new Rectangle(orderGroupBox.Left, orderGroupBox.Top + orderGroupBox.Height + 10, orderGroupBox.Width, 30); + nextWaterMeterIx = 0; + loadedOnce = false; completed = false; + + ColorFlashHandler += delegate(object sender, ColorFlashEventArgs args) + { + if (InvokeRequired) { Invoke(new EventHandler(OnColorFlash), sender, args); } + else OnColorFlash(sender, args); + }; + StartForceCloseHandler(); } @@ -174,34 +213,35 @@ namespace TBF.BenchControl.DataEntry.S620 /// Constructor /// /// Number of text boxes for serial numbers - public FormForMechanicalMetersWithTracing(IList waterMeters, bool skipFailed) + public FormForMechanicalMetersWithTracing(IList waterMeters, int maxWMsCount, char closeButton, bool atTheEnd) : this() { this.waterMeters = waterMeters; - this.wmsCount = waterMeters.Count; - this.skipFailed = skipFailed; + this.maxWMsCount = maxWMsCount; + this.wmsCount = Math.Min(waterMeters.Count, maxWMsCount); + this.closeButton = closeButton; + this.atTheEnd = atTheEnd; - BodyNrText = new string[wmsCount]; - AssignedSerialNr = new int[wmsCount]; - CompleteSerialNr = new string[wmsCount]; - Disabled = new bool[wmsCount]; + bodyNrText = new string[waterMeters.Count]; + assignedSerialNr = new int[waterMeters.Count]; + completeSerialNr = new string[waterMeters.Count]; + disabled = new bool[waterMeters.Count]; - ShuffleTextBoxes(wmsCount, Config.Data.LineSize); + /// Disable controls that exceed the number of water meters in case textBoxesCount > wmsCount + for (int i = wmsCount; i < textBoxesCount; i++) + { + labels[i].Visible = bodyNrBoxes[i].Visible = serialNrBoxes[i].Visible = checkBoxes[i].Visible = false; + } + /// Disable water meters that exceed the maximum number of water meters + for (int i = wmsCount; i < waterMeters.Count; i++) + { + if (waterMeters[i] != null) disabled[i] = true; + } - processes = null; + textBoxesCount = Math.Min(textBoxesCount, wmsCount); if (TracingDB.DB.SessionFactory != null) { - new Thread(() => Application.Run(new TracingDB.Forms.ModelessForm() - { - Title = "", - Message = Strings.Reading_the_production_tracing_configuration, - BackgroundColor = System.Drawing.Color.LightGreen, - FontFamily = "Arial", - FontSize = 14, - FontStyle = System.Drawing.FontStyle.Regular, - })).Start(); - try { dbSession = TracingDB.DB.SessionFactory.OpenSession(); @@ -215,22 +255,20 @@ namespace TBF.BenchControl.DataEntry.S620 MessageBoxIcon.Exclamation); } - if (dbSession != null) + if (workflows.Count == 0 && dbSession != null) { - processes = ReadReleasedActiveProcesses(dbSession); - if (processes == null) + workflows = ReadReleasedActiveProcesses(dbSession); + if (workflows == null) { MessageBox.Show(Strings.Reading_from_the_production_tracing_DB_failed, Strings.Error, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + workflows = new List(); } } - - TracingDB.Forms.ModelessForm.CloseForm(); } - BarcodeReceivedHandler += delegate(object sndr, BarcodeReceivedEventArgs args) { if (InvokeRequired) { Invoke(new EventHandler(BarcodeReceived), sndr, args); } @@ -244,177 +282,512 @@ namespace TBF.BenchControl.DataEntry.S620 }; } - /// - /// Make sure the layout of labels/text boxes on the screen - /// corresponds to the layout of watermeters of the test bench. - /// - /// Number of watermeters - /// Number of watermeters in one line - void ShuffleTextBoxes(int wmsCount, int lineSize) - { - if (wmsCount < textBoxesCount && lineSize > 0) - { - int nrLines = (wmsCount + lineSize - 1) / lineSize; - int gap = (textBoxesCount - wmsCount) / nrLines; - - int dest = 0; - for (int l = 0; l < nrLines; l++) - { - for (int i = 0; i < lineSize; i++) - { - labels[dest] = labels[l * lineSize + l * gap + i]; - bodyNrBoxes[dest] = bodyNrBoxes[l * lineSize + l * gap + i]; - serialNrBoxes[dest] = serialNrBoxes[l * lineSize + l * gap + i]; - counterNrBoxes[dest] = counterNrBoxes[l * lineSize + l * gap + i]; - checkBoxes[dest] = checkBoxes[l * lineSize + l * gap + i]; - dest++; - } - } - textBoxesCount = wmsCount; - } - } - private void CycleBeginningForm_Load(object sender, EventArgs e) { Localize(); - - PrepareOrderAndSNRangeCombos(); + /// Production tracing + UpdateWorkflowCombo(workflows, (currentWorkflow != null) ? currentWorkflow.Name : Program.LocalSettings.LastWorkflow); + currentWorkflow = Process.GetProcessFromName(workflows, workflowComboBox.Text); + stepsOfTheCurrentWorkflow = (currentWorkflow != null) ? currentWorkflow.Worksteps : new List(); + currentWStep = UpdateWStepCombo(currentWorkflow, (currentWStep != null) ? currentWStep.Name : Program.LocalSettings.LastWStep); + UpdateItems(currentWorkflow, currentWStep); + RedrawItems(); + if (currentWorkflow != null) LoadCodesFromDictionary(currentWorkflow.Name, palety); + + /// P/O and serial number assignment + PrepareOrderAndSNRangeCombos(); + + /// TextBox-es for (int i = 0; i < textBoxesCount; i++) { - if (Program.LocalSettings.LastSNTextsCount == textBoxesCount) - { - bodyNrBoxes[i].Items.Add((Program.LocalSettings.LastSNTexts[i] == null) ? string.Empty : Program.LocalSettings.LastSNTexts[i]); - } - - labels[i].Visible = bodyNrBoxes[i].Visible = serialNrBoxes[i].Visible = counterNrBoxes[i].Visible = checkBoxes[i].Visible = true; - - if (waterMeters[i] == null || waterMeters[i].Disabled || (skipFailed && !waterMeters[i].PassedFromTests())) + if (waterMeters[i].Disabled) { - bodyNrBoxes[i].Enabled = serialNrBoxes[i].Enabled = counterNrBoxes[i].Enabled = checkBoxes[i].Enabled = false; + bodyNrBoxes[i].Enabled = serialNrBoxes[i].Enabled = checkBoxes[i].Enabled = false; + disabled[i] = true; + checkBoxes[i].Checked = false; + } + else if (atTheEnd) + { + /// At the end + disabled[i] = false; + bodyNrBoxes[i].Text = bodyNrText[i] = waterMeters[i].SerialNr; + checkBoxes[i].Checked = true; + + bodyNrBoxes[i].Enabled = false; /// Do not allow body number change + serialNrBoxes[i].Enabled = false; /// Do not allow serial number change from UI + checkBoxes[i].Enabled = true; /// Allow 'disabled' check box change + + /// Highlight failed water meters + if (!waterMeters[i].PassedFromTests()) + { + bodyNrBoxes[i].BackColor = System.Drawing.Color.Pink; + serialNrBoxes[i].BackColor = System.Drawing.Color.Pink; + } } else { - enabledBodyNrBoxes.Add(bodyNrBoxes[i]); - enabledSerialNrBoxes.Add(serialNrBoxes[i]); - enabledCounterNrBoxes.Add(counterNrBoxes[i]); - } - - if (waterMeters[i] != null && !waterMeters[i].PassedFromTests()) - { - bodyNrBoxes[i].BackColor = System.Drawing.Color.Pink; - serialNrBoxes[i].BackColor = System.Drawing.Color.Pink; - counterNrBoxes[i].BackColor = System.Drawing.Color.Pink; + /// At the beginning + bodyNrBoxes[i].Enabled = true; + serialNrBoxes[i].Enabled = false; + checkBoxes[i].Checked = false; } } +#if DEBUG + reloadButton.Enabled = true; +#else if (ProcessData.OracleDB != null && ProcessData.OracleDB.SelectedDB != null) { reloadButton.Enabled = true; } - -#if DEBUG - firstSN = 1; - snDigits = 6; - pcsCount = 1000; - Prefix = "21620"; - Suffix = null; - - firstSNTextBox.Text = firstSN.ToString(); - snDigitsTextBox.Text = snDigits.ToString(); - pcsCountTextBox.Text = pcsCount.ToString(); - prefixTextBox.Text = (Prefix != null) ? Prefix : string.Empty; - suffixTextBox.Text = (Suffix != null) ? Suffix : string.Empty; #endif + + if (atTheEnd) + { + ProcessPO(); + UpdateSNFromTo(); + AssignSerialNumbers(); + } + + loadedOnce = true; } void Localize() { Text = Strings.Data; - orderGroupBox.Text = "Výrobná zakázka"; - for (int i = 0; i < textBoxesCount; i++) - { - labels[i].Text = string.Format("Vodomer {0}", i + 1); - } + workflowGroupBox.Text = "Pracovný postup"; + workstepGroupBox.Text = "Krok prac. postupu"; + + orderCheckBox.Text = "Výrobná zakázka a sériové čísla"; firstSNLabel.Text = "prvé s/n"; snDigitsLabel.Text = "číslic"; piecesCountLabel.Text = "kusov"; - reloadButton.Text = "Načítať"; - - snRangeGroupBox.Text = "Rozsah sériových čísel"; + reloadButton.Text = "@"; fromLabel.Text = "od"; toLabel.Text = "do"; - okButton.Text = Strings.OkBtnText; - clearButton.Text = Strings.ClearBtnText; - serialNumbersGroupBox.Text = "Sériové čísla"; bodyLabel.Text = bodyLabel2.Text = "Číslo púzdra"; snLabel.Text = snLabel2.Text = "Sériové číslo"; - counterLabel.Text = counterLabel2.Text = "Číslo strojčeka"; + + batchesCheckBox.Text = "Šarže"; + + okButton.Text = Strings.OkBtnText; + //clearButton.Text = Strings.ClearBtnText; + } + + void AssignSerialNumbers() + { + assignedSNs.Clear(); for (int i = 0; i < textBoxesCount; i++) { - labels[i].Text = string.Format("Vodomer {0}", i + 1); + if (waterMeters[i].PassedFromTests() && !string.IsNullOrEmpty(bodyNrBoxes[i].Text) && checkBoxes[i].Checked) + { + int nextSN = GetNextSerialNr(); + serialNrBoxes[i].Text = (nextSN > 0) ? nextSN.ToString() : string.Empty; + } + else + { + serialNrBoxes[i].Text = string.Empty; + } + } + Invalidate(rect); + } + + private void FormForMechanicalMetersWithTracing_Shown(object sender, EventArgs e) + { + nextWaterMeterIx = 0; + FocusToNextField(); + } + + void FocusToNextField() + { + (atTheEnd ? serialNrBoxes[nextWaterMeterIx] : bodyNrBoxes[nextWaterMeterIx]).Focus(); + } + + /// + /// Redraw workflows in workflow combo box. Try to keep Program.LocalSettings.LastProcess selected. + /// In case of a change in ReleaseActive processes in the DB it may not be possible to keep this selection. + /// In such case function returns null. + /// When process selection changes, 'processComboBox_SelectedIndexChanged' is invoked. + /// + /// true = list of processes changed + bool UpdateWorkflowCombo(IList workflows, string oriWorkflowName) + { + bool anyDifference = (workflows.Count != workflowComboBox.Items.Count); + + if (!anyDifference) + { + for (int i = 0; i < workflows.Count; i++) + { + if (workflowComboBox.Items.Count <= i || workflowComboBox.Items[i].ToString() != workflows[i].Name) + { + anyDifference = true; + break; + } + } + } + + if (!anyDifference) return false; + + int selectedIndex = -1; + workflowComboBox.Items.Clear(); + for (int i = 0; i < workflows.Count; i++) + { + workflowComboBox.Items.Add(workflows[i].Name); + if (!string.IsNullOrEmpty(oriWorkflowName) && (workflows[i].Name == oriWorkflowName)) + { + selectedIndex = i; + } + } + + workflowComboBox.SelectedIndex = selectedIndex; + return true; + } + + private void workflowComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (!loadedOnce) return; + + Process process = Process.GetProcessFromName(workflows, workflowComboBox.Text); + Workstep workstep = UpdateWStepCombo(process, workstepComboBox.Text); + if (UpdateItems(process, workstep)) + { + ClearCodesOfBatches(); + } + + FocusToNextField(); + } + + private void reloadWorkflowsButton_Click(object sender, EventArgs e) + { + workflows = ReadReleasedActiveProcesses(dbSession); + if (workflows == null) + { + MessageBox.Show(Strings.Reading_from_the_production_tracing_DB_failed, + Strings.Error, + MessageBoxButtons.OK, + MessageBoxIcon.Exclamation); + workflows = new List(); + } + UpdateWorkflowCombo(workflows, workflowComboBox.Text); + } + + /// + /// Updates workstep selection combo items and text. Clear it only if process == null. + /// If there is a valid 'oriWorkstepName', the combo box text is set and the selected workstep is returned. + /// Otherwise this function returns null. + /// + /// Process with worksteps to be used + /// Originally selected workstep name + /// New selected workstep or null + private Workstep UpdateWStepCombo(Process workflow, string oriWStepName) + { + Workstep selectedWStep = null; + workstepComboBox.Items.Clear(); + if (workflow != null) + { + foreach (var ws in workflow.Worksteps) + { + workstepComboBox.Items.Add(ws); + if (!string.IsNullOrEmpty(oriWStepName) && (ws.Name == oriWStepName)) + { + /// If one of new worksteps matches the original one, set the combo box text + /// and later (after completing the loop) return the new workstep. + selectedWStep = ws; + } + } + } + workstepComboBox.Text = (selectedWStep != null) ? selectedWStep.Name : string.Empty; + return selectedWStep; + } + + private void workstepComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (!loadedOnce) return; + + /// Update 'currentWorkstep' + Workstep workstep = null; + foreach (var w in currentWorkflow.Worksteps) + { + if (w.ToString() == workstepComboBox.Text) + { + workstep = w; + Program.LocalSettings.LastWStep = w.Name; + Program.LocalSettings.Save(); + break; + } + } + + if (UpdateItems(currentWorkflow, workstep)) + { + ClearCodesOfBatches(); + } + + FocusToNextField(); + } + + + /// + /// Updates screen items (polozky) and currentProcess, currentWorkstep variables. + /// If either process or workstep is null, the screen is icleared. + /// + /// Process to be used (drawn) + /// Workstep to be used (drawn) + /// true = process or workstep changed, false = no change + bool UpdateItems(Process workflow, Workstep workstep) + { + if ((workflow != currentWorkflow) || (workstep != currentWStep)) + { + currentWorkflow = workflow; + stepsOfTheCurrentWorkflow = workflow.Worksteps; + currentWStep = workstep; + verifiedWorkstep = null; /// Disable any verification + + RedrawItems(); + + if (currentWorkflow != null) + { + LoadCodesFromDictionary(currentWorkflow.Name, palety); + } + + ScanVerificationInfo info; + if ((info = TracingDB.DB.AnalyzeProcess(dbSession, currentWorkflow, currentWStep)) != null) + { + verifiedWorkstep = info.Workstep; + verifiedPart = info.Part; + verifyReferencePart = info.VerifyReferencePart; + } + + //wplaceRegistration.UpdateRegistration(dbSession, + // ProcessData.BenchInfo.TestBenchName, + // Users.GlobalData.CurrentUser.UserName, + // "1.2.3.4", + // (currentProcess != null) ? currentProcess.Name : string.Empty, + // (currentWorkstep != null) ? currentWorkstep.Name : string.Empty, + // DateTime.Now + new TimeSpan(8, 0, 0)); + return true; + } + else + { + return false; } } + + /// + /// Redraw items (polozky) of the currentProcess and currentWorkstep + /// or clear them if there is no current process or workstep. + /// + void RedrawItems() + { + /// + /// Remove existing items (polozky) + /// + palety.Clear(); + flowLayoutPanel2.Controls.Clear(); + + if (currentWorkflow == null || currentWStep == null) return; + + ICheckItem polozka; + + /// Reference part + if (currentWStep.ReferencePart != null) + { + uniqueCodeParts.Add(currentWStep.ReferencePart); + } + /// All other parts + foreach (var p in currentWStep.Parts) + { + if (p.CodeLocation == CodeLocation.OnPart) + { + uniqueCodeParts.Add(p); + } + else if (p.CodeLocation == CodeLocation.OnPallet) + { + switch (p.CodeForm) + { + case CodeForm.OkNok: + polozka = new CheckItems.OkNok(this, p); + break; + + case CodeForm.Keyboard: + case CodeForm.Scale: + polozka = new CheckItems.Keyboard(this, p); + break; + + case CodeForm.Barcode: + case CodeForm.QRCode: + default: + polozka = new CheckItems.Barcode(this, p); + break; + } + + polozka.IxPolozky = palety.Count + 100; + palety.Add(polozka); + flowLayoutPanel2.Controls.Add(polozka as UserControl); + } + } + } + + void ClearAllTextBoxes() + { + foreach (var tb in bodyNrBoxes) { tb.Text = string.Empty; } + foreach (var tb in serialNrBoxes) { tb.Text = string.Empty; } + nextWaterMeterIx = 0; + FocusToNextField(); + } + + + void ClearCodesOfBatches() + { + if (loadedOnce) + { + foreach (var p in palety) + { + p.ClearCode(); + } + } + } + + /// /// Load Purchase order combo box items from the LocalSettings PurchaseOrderHistory array /// /// Puchase order ComboBox void PrepareOrderAndSNRangeCombos() { + LocalSettings LS = Program.LocalSettings; + /// Purchase order - for (int i = 0; i < LS.PurchaseOrderHistoryCount; i++) orderCB.Items.Add(LS.PurchaseOrderHistory[i]); - if (orderCB.Items.Count > 0) orderCB.Text = orderCB.Items[0].ToString(); + for (int i = 0; i < LS.PurchaseOrderHistoryCount; i++) + orderCB.Items.Add(LS.PurchaseOrderHistory[i]); + if (orderCB.Items.Count > 0) + orderCB.Text = orderCB.Items[0].ToString(); /// First S/N in selected range - for (int i = 0; i < LS.FirstSNHistoryCount; i++) firstSNRangeCB.Items.Add(LS.FirstSNHistory[i]); - if (firstSNRangeCB.Items.Count > 0) firstSNRangeCB.Text = firstSNRangeCB.Items[0].ToString(); + for (int i = 0; i < LS.FirstSNHistoryCount; i++) + firstSNRangeCB.Items.Add(LS.FirstSNHistory[i]); + if (firstSNRangeCB.Items.Count > 0) + firstSNRangeCB.Text = firstSNRangeCB.Items[0].ToString(); /// Last S/N in selected range - for (int i = 0; i < LS.LastSNHistoryCount; i++) lastSNRangeCB.Items.Add(LS.LastSNHistory[i]); - if (lastSNRangeCB.Items.Count > 0) lastSNRangeCB.Text = lastSNRangeCB.Items[0].ToString(); + for (int i = 0; i < LS.LastSNHistoryCount; i++) + lastSNRangeCB.Items.Add(LS.LastSNHistory[i]); + if (lastSNRangeCB.Items.Count > 0) + lastSNRangeCB.Text = lastSNRangeCB.Items[0].ToString(); } private void okButton_Click(object sender, EventArgs e) { - PurchaseOrder = orderCB.Text; - Program.LocalSettings.UpdateHistory(orderCB.Text, ref Program.LocalSettings.PurchaseOrderHistory); - Program.LocalSettings.UpdateHistory(firstSNRangeCB.Text, ref Program.LocalSettings.FirstSNHistory); - Program.LocalSettings.UpdateHistory(lastSNRangeCB.Text, ref Program.LocalSettings.LastSNHistory); - - Program.LocalSettings.LastSNTexts = BodyNrText; + if (CheckForNonUniqueness(atTheEnd ? serialNrBoxes : bodyNrBoxes, textBoxesCount)) + { + return; + } + /// Read UI data and store them to 'interface' variables int itmp; - for (int i = 0; i < Math.Min(wmsCount, textBoxesCount); i++) - { - BodyNrText[i] = bodyNrBoxes[i].Text; - AssignedSerialNr[i] = int.TryParse(serialNrBoxes[i].Text, out itmp) ? itmp : 0; - CompleteSerialNr[i] = string.Format("{0}{1}{2}", - (Prefix != null) ? Prefix : string.Empty, - AssignedSerialNr[i].ToString(string.Format("D{0}", Math.Max(snDigits, 1))), - (Suffix != null) ? Suffix : string.Empty); - Disabled[i] = !checkBoxes[i].Checked; - } + for (int i = 0; i < textBoxesCount; i++) + { + bodyNrText[i] = bodyNrBoxes[i].Text; + assignedSerialNr[i] = int.TryParse(serialNrBoxes[i].Text, out itmp) ? itmp : 0; + completeSerialNr[i] = string.Format("{0}{1}{2}", + (prefix != null) ? prefix : string.Empty, + assignedSerialNr[i].ToString(string.Format("D{0}", Math.Max(snDigits, 1))), + (suffix != null) ? suffix : string.Empty); + disabled[i] = !checkBoxes[i].Checked; + } + purchaseOrder = orderCB.Text; + + SaveProductionTracingRecords(); completed = true; Close(); } - /// - /// When one combo box is updated using drop-down menu, all combo boxes - /// are updated by this function. - /// - private void UpdateAllCombos() - { - for (int i = 0; i < Math.Min(wmsCount, textBoxesCount); i++) - { - bodyNrBoxes[i].Text = Program.LocalSettings.LastSNTexts[i]; - checkBoxes[i].Checked = !string.IsNullOrEmpty(bodyNrBoxes[i].Text); - } - } + private void SaveProductionTracingRecords() + { + if (atTheEnd) + { + /// + /// Save records to MySQL + /// + string workplace = TBF.BenchControl.Sequences.ProcessData.BenchInfo.TestBenchName; + ITransaction mysqlTransaction = dbSession.BeginTransaction(); + try + { + for (int wmNr0 = 0; wmNr0 < textBoxesCount; wmNr0++) + { + bool passed = waterMeters[wmNr0].Passed; + + if (passed && !string.IsNullOrEmpty(bodyNrBoxes[wmNr0].Text) && !string.IsNullOrEmpty(serialNrBoxes[wmNr0].Text)) + { + /// + /// Prepare records + /// + ReferenceRecord refRecord = new ReferenceRecord(currentWorkflow, + currentWStep, + bodyNrBoxes[wmNr0].Text, + Users.GlobalData.GetCurrentUserName(), + workplace, + passed ? 1 : 0); + if (uniqueCodeParts.Count >= 2) + { + refRecord.Records.Add(new Record(uniqueCodeParts[1], refRecord, serialNrBoxes[wmNr0].Text)); + } + + for (int i = 0; i < palety.Count; i++) + { + refRecord.Records.Add(new Record(palety[i].Part, refRecord, palety[i].ScannedCode)); + } + + DB.SaveRecords(dbSession, refRecord); + } + } + + mysqlTransaction.Commit(); + } + catch (Exception exc) + { + log.ErrorFormat("MySQL database transaction rolled back, data not comitted: {0}", exc.Message); + mysqlTransaction.Rollback(); + } + } + } + + /// + /// Check for uniqueness of test in an array of TextBox-es + /// + /// Array of TextBox-es + /// Number of text boxes at the beginning of the array to check + /// true when there are at leas two equal non-empty tests + bool CheckForNonUniqueness(TextBox[] textBoxes, int count) + { + for (int ix2 = 1; ix2 < count; ix2++) + { + for (int ix1 = 0; ix1 < ix2; ix1++) + { + if (!string.IsNullOrEmpty(textBoxes[ix2].Text) && (textBoxes[ix2].Text == textBoxes[ix1].Text)) + { + /// Two non-empty codes are equal + Color oriBackColor1 = textBoxes[ix1].BackColor; + Color oriBackColor2 = textBoxes[ix2].BackColor; + textBoxes[ix1].BackColor = Color.Yellow; + textBoxes[ix2].BackColor = Color.Yellow; + + MessageBox.Show("Našli sa dva rovnaké kódy."); + + textBoxes[ix1].BackColor = oriBackColor1; + textBoxes[ix2].BackColor = oriBackColor2; + return true; + } + } + } + + return false; + } private void clearButton_Click(object sender, EventArgs e) { @@ -424,7 +797,7 @@ namespace TBF.BenchControl.DataEntry.S620 { bodyNrBoxes[i].Text = string.Empty; serialNrBoxes[i].Text = string.Empty; - counterNrBoxes[i].Text = string.Empty; + serialNrBoxes[i].Text = string.Empty; checkBoxes[i].Checked = false; } @@ -433,128 +806,46 @@ namespace TBF.BenchControl.DataEntry.S620 } - private void comboBox1_TextChanged(object s, EventArgs e) { checkBox1.Checked = true; } - private void comboBox2_TextChanged(object s, EventArgs e) { checkBox2.Checked = true; } - private void comboBox3_TextChanged(object s, EventArgs e) { checkBox3.Checked = true; } - private void comboBox4_TextChanged(object s, EventArgs e) { checkBox4.Checked = true; } - private void comboBox5_TextChanged(object s, EventArgs e) { checkBox5.Checked = true; } - private void comboBox6_TextChanged(object s, EventArgs e) { checkBox6.Checked = true; } - private void comboBox7_TextChanged(object s, EventArgs e) { checkBox7.Checked = true; } - private void comboBox8_TextChanged(object s, EventArgs e) { checkBox8.Checked = true; } - private void comboBox9_TextChanged(object s, EventArgs e) { checkBox9.Checked = true; } - private void comboBox10_TextChanged(object s, EventArgs e) { checkBox10.Checked = true; } - private void comboBox11_TextChanged(object s, EventArgs e) { checkBox11.Checked = true; } - private void comboBox12_TextChanged(object s, EventArgs e) { checkBox12.Checked = true; } - private void comboBox13_TextChanged(object s, EventArgs e) { checkBox13.Checked = true; } - private void comboBox14_TextChanged(object s, EventArgs e) { checkBox14.Checked = true; } - private void comboBox15_TextChanged(object s, EventArgs e) { checkBox15.Checked = true; } - private void comboBox16_TextChanged(object s, EventArgs e) { checkBox16.Checked = true; } - private void comboBox17_TextChanged(object s, EventArgs e) { checkBox17.Checked = true; } - private void comboBox18_TextChanged(object s, EventArgs e) { checkBox18.Checked = true; } - private void comboBox19_TextChanged(object s, EventArgs e) { checkBox19.Checked = true; } - private void comboBox20_TextChanged(object s, EventArgs e) { checkBox20.Checked = true; } - private void comboBox21_TextChanged(object s, EventArgs e) { checkBox21.Checked = true; } - private void comboBox22_TextChanged(object s, EventArgs e) { checkBox22.Checked = true; } - private void comboBox23_TextChanged(object s, EventArgs e) { checkBox23.Checked = true; } - private void comboBox24_TextChanged(object s, EventArgs e) { checkBox24.Checked = true; } - private void comboBox25_TextChanged(object s, EventArgs e) { checkBox25.Checked = true; } - private void comboBox26_TextChanged(object s, EventArgs e) { checkBox26.Checked = true; } - private void comboBox27_TextChanged(object s, EventArgs e) { checkBox27.Checked = true; } - private void comboBox28_TextChanged(object s, EventArgs e) { checkBox28.Checked = true; } - private void comboBox29_TextChanged(object s, EventArgs e) { checkBox29.Checked = true; } - private void comboBox30_TextChanged(object s, EventArgs e) { checkBox30.Checked = true; } - private void comboBox31_TextChanged(object s, EventArgs e) { checkBox31.Checked = true; } - private void comboBox32_TextChanged(object s, EventArgs e) { checkBox32.Checked = true; } - private void comboBox33_TextChanged(object s, EventArgs e) { checkBox33.Checked = true; } - private void comboBox34_TextChanged(object s, EventArgs e) { checkBox34.Checked = true; } - private void comboBox35_TextChanged(object s, EventArgs e) { checkBox35.Checked = true; } - private void comboBox36_TextChanged(object s, EventArgs e) { checkBox36.Checked = true; } - private void comboBox37_TextChanged(object s, EventArgs e) { checkBox37.Checked = true; } - private void comboBox38_TextChanged(object s, EventArgs e) { checkBox38.Checked = true; } - private void comboBox39_TextChanged(object s, EventArgs e) { checkBox39.Checked = true; } - private void comboBox40_TextChanged(object s, EventArgs e) { checkBox40.Checked = true; } - - private void comboBox1_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox1.Text == comboBox1.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox2_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox2.Text == comboBox2.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox3_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox3.Text == comboBox3.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox4_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox4.Text == comboBox4.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox5_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox5.Text == comboBox5.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox6_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox6.Text == comboBox6.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox7_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox7.Text == comboBox7.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox8_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox8.Text == comboBox8.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox9_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox9.Text == comboBox9.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox10_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox10.Text == comboBox10.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox11_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox11.Text == comboBox11.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox12_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox12.Text == comboBox12.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox13_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox13.Text == comboBox13.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox14_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox14.Text == comboBox14.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox15_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox15.Text == comboBox15.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox16_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox16.Text == comboBox16.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox17_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox17.Text == comboBox17.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox18_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox18.Text == comboBox18.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox19_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox19.Text == comboBox19.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox20_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox20.Text == comboBox20.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox21_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox21.Text == comboBox21.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox22_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox22.Text == comboBox22.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox23_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox23.Text == comboBox23.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox24_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox24.Text == comboBox24.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox25_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox25.Text == comboBox25.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox26_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox26.Text == comboBox26.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox27_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox27.Text == comboBox27.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox28_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox28.Text == comboBox28.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox29_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox29.Text == comboBox29.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox30_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox30.Text == comboBox30.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox31_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox31.Text == comboBox31.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox32_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox32.Text == comboBox32.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox33_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox33.Text == comboBox33.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox34_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox34.Text == comboBox34.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox35_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox35.Text == comboBox35.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox36_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox36.Text == comboBox36.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox37_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox37.Text == comboBox37.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox38_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox38.Text == comboBox38.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox39_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox39.Text == comboBox39.Items[0].ToString()) UpdateAllCombos(); } - private void comboBox40_SelectedIndexChanged(object s, EventArgs e) { if (LS.LastSNTextsCount == wmsCount && comboBox40.Text == comboBox40.Items[0].ToString()) UpdateAllCombos(); } - - private void comboBox1_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox1); } - private void comboBox2_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox2); } - private void comboBox3_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox3); } - private void comboBox4_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox4); } - private void comboBox5_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox5); } - private void comboBox6_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox6); } - private void comboBox7_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox7); } - private void comboBox8_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox8); } - private void comboBox9_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox9); } - private void comboBox10_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox10); } - private void comboBox11_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox11); } - private void comboBox12_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox12); } - private void comboBox13_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox13); } - private void comboBox14_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox14); } - private void comboBox15_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox15); } - private void comboBox16_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox16); } - private void comboBox17_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox17); } - private void comboBox18_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox18); } - private void comboBox19_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox19); } - private void comboBox20_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox20); } - private void comboBox21_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox21); } - private void comboBox22_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox22); } - private void comboBox23_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox23); } - private void comboBox24_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox24); } - private void comboBox25_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox25); } - private void comboBox26_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox26); } - private void comboBox27_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox27); } - private void comboBox28_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox28); } - private void comboBox29_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox29); } - private void comboBox30_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox30); } - private void comboBox31_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox31); } - private void comboBox32_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox32); } - private void comboBox33_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox33); } - private void comboBox34_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox34); } - private void comboBox35_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox35); } - private void comboBox36_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox36); } - private void comboBox37_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox37); } - private void comboBox38_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox38); } - private void comboBox39_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox39); } - private void comboBox40_KeyPress(object s, KeyPressEventArgs e) { ProcCBKeyPress(s, e, comboBox40); } + private void textBox1_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 0); } + private void textBox2_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 1); } + private void textBox3_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 2); } + private void textBox4_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 3); } + private void textBox5_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 4); } + private void textBox6_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 5); } + private void textBox7_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 6); } + private void textBox8_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 7); } + private void textBox9_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 8); } + private void textBox10_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 9); } + private void textBox11_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 10); } + private void textBox12_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 11); } + private void textBox13_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 12); } + private void textBox14_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 13); } + private void textBox15_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 14); } + private void textBox16_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 15); } + private void textBox17_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 16); } + private void textBox18_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 17); } + private void textBox19_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 18); } + private void textBox20_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 19); } + private void textBox21_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 20); } + private void textBox22_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 21); } + private void textBox23_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 22); } + private void textBox24_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 23); } + private void textBox25_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 24); } + private void textBox26_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 25); } + private void textBox27_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 26); } + private void textBox28_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 27); } + private void textBox29_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 28); } + private void textBox30_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 29); } + private void textBox31_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 30); } + private void textBox32_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 31); } + private void textBox33_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 32); } + private void textBox34_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 33); } + private void textBox35_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 34); } + private void textBox36_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 35); } + private void textBox37_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 36); } + private void textBox38_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 37); } + private void textBox39_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 38); } + private void textBox40_KeyPress(object s, KeyPressEventArgs e) { BodyNoTextBoxKeyPress(s, e, 39); } /// /// Process a key press within any enabled combo boxe @@ -562,86 +853,68 @@ namespace TBF.BenchControl.DataEntry.S620 /// /// /// TextBox control which received the event - private void ProcCBKeyPress(object sender, KeyPressEventArgs e, ComboBox currentFocusOwner) - { - if (e.KeyChar == '+') + private void BodyNoTextBoxKeyPress(object sender, KeyPressEventArgs e, int wmNr0) + { + if (closeButton != '\0' && e.KeyChar == closeButton) { /// Process '+' key ..... Form completed okButton_Click(sender, e); } - if (e.KeyChar == '\r') - { - /// Process key ..... Next text field + else if (e.KeyChar == '\r') + { + /// Process key ..... Go to the next text field + nextWaterMeterIx = (wmNr0 + 1) % textBoxesCount; + bodyNrBoxes[nextWaterMeterIx].Focus(); - for (int i = 0; i < textBoxesCount; i++) - { - if (bodyNrBoxes[i] == currentFocusOwner) - { - if (waterMeters[i].PassedFromTests()) - { - serialNrBoxes[i].Text = GetNextSerialNr().ToString(); /// WM Passed - } - else - { - serialNrBoxes[i].Text = "0"; /// WM failed - } - } - } - - if (enabledBodyNrBoxes.Count < 2) return; /// There is just one enabled textbox - - for (int i = 0; i < enabledBodyNrBoxes.Count; i++) - { - if (enabledBodyNrBoxes[i] == currentFocusOwner) - { - /// Change focus to the next enabled text box - enabledCounterNrBoxes[i].Focus(); - return; - } - } - } + ColorFlashAndBeep(this, new ColorFlashEventArgs(600, Color.Green, 700, 500)); + } + else + { + checkBoxes[wmNr0].Checked = true; + disabled[wmNr0] = false; + } } - private void textBox41_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox41); } - private void textBox42_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox42); } - private void textBox43_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox43); } - private void textBox44_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox44); } - private void textBox45_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox45); } - private void textBox46_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox46); } - private void textBox47_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox47); } - private void textBox48_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox48); } - private void textBox49_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox49); } - private void textBox50_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox50); } - private void textBox51_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox51); } - private void textBox52_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox52); } - private void textBox53_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox53); } - private void textBox54_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox54); } - private void textBox55_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox55); } - private void textBox56_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox56); } - private void textBox57_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox57); } - private void textBox58_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox58); } - private void textBox59_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox59); } - private void textBox60_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox60); } - private void textBox61_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox61); } - private void textBox62_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox62); } - private void textBox63_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox63); } - private void textBox64_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox64); } - private void textBox65_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox65); } - private void textBox66_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox66); } - private void textBox67_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox67); } - private void textBox68_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox68); } - private void textBox69_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox69); } - private void textBox70_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox70); } - private void textBox71_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox71); } - private void textBox72_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox72); } - private void textBox73_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox73); } - private void textBox74_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox74); } - private void textBox75_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox75); } - private void textBox76_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox76); } - private void textBox77_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox77); } - private void textBox78_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox78); } - private void textBox79_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox79); } - private void textBox80_KeyPress(object s, KeyPressEventArgs e) { ProcTBKeyPress(s, e, textBox80); } + private void textBox41_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 0); } + private void textBox42_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 1); } + private void textBox43_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 2); } + private void textBox44_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 3); } + private void textBox45_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 4); } + private void textBox46_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 5); } + private void textBox47_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 6); } + private void textBox48_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 7); } + private void textBox49_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 8); } + private void textBox50_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 9); } + private void textBox51_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 10); } + private void textBox52_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 11); } + private void textBox53_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 12); } + private void textBox54_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 13); } + private void textBox55_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 14); } + private void textBox56_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 15); } + private void textBox57_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 16); } + private void textBox58_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 17); } + private void textBox59_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 18); } + private void textBox60_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 19); } + private void textBox61_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 20); } + private void textBox62_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 21); } + private void textBox63_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 22); } + private void textBox64_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 23); } + private void textBox65_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 24); } + private void textBox66_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 25); } + private void textBox67_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 26); } + private void textBox68_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 27); } + private void textBox69_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 28); } + private void textBox70_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 29); } + private void textBox71_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 30); } + private void textBox72_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 31); } + private void textBox73_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 32); } + private void textBox74_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 33); } + private void textBox75_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 34); } + private void textBox76_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 35); } + private void textBox77_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 36); } + private void textBox78_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 37); } + private void textBox79_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 38); } + private void textBox80_KeyPress(object s, KeyPressEventArgs e) { SnTextBoxKeyPress(s, e, 39); } /// /// Process a key press within any enabled combo boxe @@ -649,27 +922,157 @@ namespace TBF.BenchControl.DataEntry.S620 /// /// /// TextBox control which received the event - private void ProcTBKeyPress(object sender, KeyPressEventArgs e, TextBox currentFocusOwner) + private void SnTextBoxKeyPress(object sender, KeyPressEventArgs e, int wmNr0) { - if (e.KeyChar == '+') + if (closeButton != '\0' && e.KeyChar == closeButton) { /// Process '+' key ..... Form completed okButton_Click(sender, e); } - if (e.KeyChar == '\r') + else if (e.KeyChar == '\r') { /// Process key ..... Next text field + nextWaterMeterIx = (wmNr0 + 1) % textBoxesCount; + serialNrBoxes[nextWaterMeterIx].Focus(); + } + } - if (enabledCounterNrBoxes.Count < 2) return; /// There is just one enabled textbox + private void checkBox1_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 0); } + private void checkBox2_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 1); } + private void checkBox3_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 2); } + private void checkBox4_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 3); } + private void checkBox5_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 4); } + private void checkBox6_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 5); } + private void checkBox7_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 6); } + private void checkBox8_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 7); } + private void checkBox9_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 8); } + private void checkBox10_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 9); } + private void checkBox11_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 10); } + private void checkBox12_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 11); } + private void checkBox13_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 12); } + private void checkBox14_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 13); } + private void checkBox15_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 14); } + private void checkBox16_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 15); } + private void checkBox17_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 16); } + private void checkBox18_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 17); } + private void checkBox19_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 18); } + private void checkBox20_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 19); } + private void checkBox21_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 20); } + private void checkBox22_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 21); } + private void checkBox23_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 22); } + private void checkBox24_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 23); } + private void checkBox25_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 24); } + private void checkBox26_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 25); } + private void checkBox27_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 26); } + private void checkBox28_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 27); } + private void checkBox29_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 28); } + private void checkBox30_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 29); } + private void checkBox31_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 30); } + private void checkBox32_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 31); } + private void checkBox33_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 32); } + private void checkBox34_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 33); } + private void checkBox35_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 34); } + private void checkBox36_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 35); } + private void checkBox37_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 36); } + private void checkBox38_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 37); } + private void checkBox39_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 38); } + private void checkBox40_CheckedChanged(object s, EventArgs e) { ProcessCheckBoxChecked(s, e, 39); } + /// + void ProcessCheckBoxChecked(object sender, EventArgs e, int wmNr0) + { + if (atTheEnd) + { + AssignSerialNumbers(); + } + } - for (int i = 0; i < enabledBodyNrBoxes.Count; i++) + /// + /// Update the dictionary of scanned codes of palettes and save it. + /// Dictionary contains pairs (process.Name, '~'-separated strings of scanned codes). + /// Update codes of parts with CodeType == CodeType.Silicon and shared between workflows as well. + /// + /// Current workflow name + /// A list of palettes + /// true = LocalSettings updated and saved + bool UpdateAndSaveStoredCodesDictionary(Process process, IList palety) + { + if (process == null || string.IsNullOrEmpty(process.Name) || palety == null || palety.Count == 0) + { + return false; + } + + if (Program.LocalSettings.LastData == null) + { + Program.LocalSettings.LastData = new SerializableDictionary(); + } + + /// Dictionary key + string key = process.Name; + + /// Dictionary value + System.Text.StringBuilder sb = new System.Text.StringBuilder(); + bool first = true; + foreach (var p in palety) + { + if (!first) sb.Append("~"); + first = false; + sb.Append(p.ScannedCode); + } + string value = sb.ToString(); + + /// Store or update key/value pair + string storedValue; + if (!Program.LocalSettings.LastData.TryGetValue(key, out storedValue)) + { + Program.LocalSettings.LastData.Add(key, value); + Program.LocalSettings.Save(); + return true; + } + else if (storedValue != value) + { + Program.LocalSettings.LastData[key] = value; + Program.LocalSettings.Save(); + return true; + } + + /// Key/value pair was up to date + return false; + } + + /// + /// Load codes of palettes from the dictionary. + /// Dictionary contains pairs (process.Name, '~'-separated strings of scanned codes). + /// + /// Current process name + /// A list of palettes + void LoadCodesFromDictionary(string processName, IList palety) + { + if (string.IsNullOrEmpty(processName) || palety == null) return; + + string[] loadedCodes = new string[0]; + string value; + if (Program.LocalSettings.LastData != null && + Program.LocalSettings.LastData.TryGetValue(processName, out value)) + { + loadedCodes = value.Split(new char[] { '~' }); + } + + + int ix = 0; + for (int i = 0; i < palety.Count; i++) + { + if (!string.IsNullOrEmpty(palety[i].Part.DefaultCode)) { - if (enabledCounterNrBoxes[i] == currentFocusOwner) - { - /// Change focus to the next enabled text box - enabledBodyNrBoxes[(i + 1) % enabledBodyNrBoxes.Count].Focus(); - return; - } + palety[i].ScannedCode = palety[i].Part.DefaultCode; + ix++; + } + else if (ix < loadedCodes.Length) + { + palety[i].ScannedCode = loadedCodes[ix++]; + } + else + { + palety[i].ClearCode(); } } } @@ -677,20 +1080,24 @@ namespace TBF.BenchControl.DataEntry.S620 private void orderCB_SelectedIndexChanged(object sender, EventArgs e) { + if (!loadedOnce) return; + ProcessPO(); + FocusToNextField(); } private void reloadButton_Click(object sender, EventArgs e) { ProcessPO(); + FocusToNextField(); } void ProcessPO() { - if (ReadPurchaseOrderParamsFromDB(ProcessData.OracleDB.SelectedDB, orderCB.Text, out firstSN, out snDigits, out pcsCount, out Prefix, out Suffix)) + if (ReadPurchaseOrderParamsFromDB(ProcessData.OracleDB.SelectedDB, orderCB.Text, out firstSN, out snDigits, out pcsCount, out prefix, out suffix)) { - prefixTextBox.Text = (Prefix != null) ? Prefix : string.Empty; - suffixTextBox.Text = (Suffix != null) ? Suffix : string.Empty; + prefixTextBox.Text = (prefix != null) ? prefix : string.Empty; + suffixTextBox.Text = (suffix != null) ? suffix : string.Empty; snDigitsTextBox.Text = snDigits.ToString(); firstSNTextBox.Text = firstSN.ToString(string.Format("D{0}", snDigits)); pcsCountTextBox.Text = pcsCount.ToString(); @@ -703,7 +1110,14 @@ namespace TBF.BenchControl.DataEntry.S620 exclamationPOLabel.Visible = true; } - UpdateSNFromTo(); + if (UpdateSNFromTo()) + { + AssignSerialNumbers(); + } + else + { + Invalidate(rect); + } } bool ReadPurchaseOrderParamsFromDB(OracleConnection connection, string orderNr, out int firstSN, out int snDigits, out int piecesCount, out string prefix, out string suffix) @@ -714,6 +1128,22 @@ namespace TBF.BenchControl.DataEntry.S620 prefix = null; suffix = null; +#if DEBUG + firstSN = 101; + piecesCount = 100; + snDigits = 4; + prefix = "M789"; + suffix = null; + foundMeters.Clear(); + foundSNs.Clear(); + for (int sn = firstSN; sn <= 125; sn++) + { + foundMeters.Add(new BodySerNrResult(string.Format("681172554VQ200034{0:D3}", sn), sn, 96)); + foundSNs.Add(sn); + } + return true; +#endif + if (connection == null || string.IsNullOrEmpty(orderNr)) return false; try @@ -723,8 +1153,8 @@ namespace TBF.BenchControl.DataEntry.S620 foreach (var status in new string[] { "NEU", "AKTIV" }) { /// STATUS='NEU' - OracleCommand cmd = new OracleCommand("select SOLLSTUECK, ERSTE_ZAEHLERNR, PREFIX, SUFFIX, ZNRLAENGE from VT_AUFTRAG_PD" + - " where PRODUKTION_ANBID=:1 AND STATUS=:2 AND PRODUKTION_USESTATE=:3 AND AUFTRAGSNUMMER=:4", connection); + OracleCommand cmd = new OracleCommand("SELECT sollstueck, erste_zaehlernr, prefix, suffix, znrlaenge FROM vt_auftrag_pd" + + " WHERE produktion_anbid=:1 AND status=:2 AND produktion_usestate=:3 AND auftragsnummer=:4", connection); cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Output.DB.SensusOracle.Database.Anbid_StaraTura }); ///:1 cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = status }); ///:2 @@ -745,7 +1175,7 @@ namespace TBF.BenchControl.DataEntry.S620 if (firstSN == 0 && piecesCount == 0) { - string msg2 = string.Format("Nebola nájdená žiadna výrobná zakázka {0}", orderNr); + string msg2 = string.Format("No PO={0} found in Oracle DB", orderNr); log.Warn(msg2); System.Diagnostics.Debug.WriteLine(msg2); connection.Close(); @@ -754,8 +1184,8 @@ namespace TBF.BenchControl.DataEntry.S620 foundMeters.Clear(); - OracleCommand cmd2 = new OracleCommand("select VT_FERNUM, ZAEHLERNUMMER, HYDR_PRUEFUNG from VT_ZAEHLER_PD" + - " where ANBID=:1 AND AUFTRAGSNUMMER=:2 order by ZAEHLERNUMMER asc", connection); + OracleCommand cmd2 = new OracleCommand("SELECT vt_fernum, zaehlernummer, hydr_pruefung FROM vt_zaehler_pd" + + " WHERE anbid=:1 AND auftragsnummer=:2 ORDER BY zaehlernummer ASC", connection); cmd2.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Output.DB.SensusOracle.Database.Anbid_StaraTura }); ///:1 cmd2.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = orderNr }); ///:2 @@ -767,17 +1197,24 @@ namespace TBF.BenchControl.DataEntry.S620 int serialNr = dr2.GetInt32(1); /// Assigned serial number when OK, 0 when NOK int result = dr2.GetInt32(2); /// HYDR_PRUEFUNG: 96=OK, 224=OK after a repetition, 97=NOK - if (serialNr != 0 && result != 97) + if (serialNr > 0 && result != 97) { foundMeters.Add(new BodySerNrResult(bodyNr, serialNr, result)); } } dr2.Close(); - string msg = string.Format("Výrobná zakázka bola nájdená: prvé S/N = {0}, počet kusov = {1}, doteraz vyrobených {2}", firstSN, piecesCount, foundMeters.Count); + string msg = string.Format("PO={0} found in Oracle DB: first S/N={1}, total pieces count={2}, pieces produced so far={3}", orderNr, firstSN, piecesCount, foundMeters.Count); log.Warn(msg); System.Diagnostics.Debug.WriteLine(msg); connection.Close(); + + foundSNs.Clear(); + foreach (var mtr in foundMeters) + { + if (mtr.SerialNr > 0) foundSNs.Add(mtr.SerialNr); + } + return true; } catch (Exception exc) @@ -792,19 +1229,61 @@ namespace TBF.BenchControl.DataEntry.S620 } } - private void firstSNRangeCB_TextChanged(object s, EventArgs e) { UpdateSNFromTo(); } - private void lastSNRangeCB_TextChanged(object s, EventArgs e) { UpdateSNFromTo(); } - private void firstSNRangeCB_SelectedIndexChanged(object s, EventArgs e) { UpdateSNFromTo(); } - private void lastSNRangeCB_SelectedIndexChanged(object s, EventArgs e) { UpdateSNFromTo(); } + private void firstSNRangeCB_TextChanged(object s, EventArgs e) + { + if (!loadedOnce) return; - void UpdateSNFromTo() + if (UpdateSNFromTo()) + AssignSerialNumbers(); + else + Invalidate(rect); + } + + private void lastSNRangeCB_TextChanged(object s, EventArgs e) + { + if (!loadedOnce) return; + + if (UpdateSNFromTo()) + AssignSerialNumbers(); + else + Invalidate(rect); + } + + private void firstSNRangeCB_SelectedIndexChanged(object s, EventArgs e) + { + if (!loadedOnce) return; + + if (UpdateSNFromTo()) + AssignSerialNumbers(); + else + Invalidate(rect); + + FocusToNextField(); + } + + private void lastSNRangeCB_SelectedIndexChanged(object s, EventArgs e) + { + if (!loadedOnce) return; + + if (UpdateSNFromTo()) + AssignSerialNumbers(); + else + Invalidate(rect); + + FocusToNextField(); + } + + /// + /// + /// + /// true when the range of serial numbers is valid + bool UpdateSNFromTo() { bool anyError = false; - foundSNsWithinRange.Clear(); int _snRangeFirst; if (int.TryParse(firstSNRangeCB.Text, out _snRangeFirst) && (_snRangeFirst >= firstSN) - && (_snRangeFirst < firstSN + pcsCount)) + && (_snRangeFirst < firstSN + pcsCount)) { snRangeFirst = _snRangeFirst; exclamationFromLabel.Visible = false; @@ -818,7 +1297,7 @@ namespace TBF.BenchControl.DataEntry.S620 int _snRangeLast; if (int.TryParse(lastSNRangeCB.Text, out _snRangeLast) && (_snRangeLast >= firstSN) - && (_snRangeLast < firstSN + pcsCount)) + && (_snRangeLast < firstSN + pcsCount)) { snRangeLast = _snRangeLast; exclamationToLabel.Visible = false; @@ -837,18 +1316,7 @@ namespace TBF.BenchControl.DataEntry.S620 anyError = true; } - if (!anyError) - { - foreach (var mtr in foundMeters) - { - if (snRangeFirst <= mtr.SerialNr && mtr.SerialNr <= snRangeLast) - { - foundSNsWithinRange.Add(mtr.SerialNr); - } - } - } - - serialNumbersGroupBox.Enabled = !anyError; + return !anyError; } @@ -860,7 +1328,7 @@ namespace TBF.BenchControl.DataEntry.S620 { for (int sn = snRangeFirst; sn <= snRangeLast; sn++) { - if (!foundSNsWithinRange.Contains(sn) && !assignedSNs.Contains(sn)) + if (!foundSNs.Contains(sn) && !assignedSNs.Contains(sn)) { /// A free serial number within specified range found assignedSNs.Add(sn); @@ -877,7 +1345,7 @@ namespace TBF.BenchControl.DataEntry.S620 /// /// Production tracing DB session /// A list of processes (success) or null (failure) - private IList ReadReleasedActiveProcesses(ISession session) + private static IList ReadReleasedActiveProcesses(ISession session) { try { @@ -911,14 +1379,9 @@ namespace TBF.BenchControl.DataEntry.S620 /// public void FocusPressed(object sender, FocusPressedEventArgs data) { - foreach (var k in komponenty) k.ResetFocus(); foreach (var p in palety) p.ResetFocus(); - if ((data.IxPolozky >= 1) && (data.IxPolozky <= komponenty.Count)) - { - komponenty[data.IxPolozky - 1].SetFocus(); - } - else if ((data.IxPolozky >= 100) && (data.IxPolozky - 100 < palety.Count)) + if ((data.IxPolozky >= 100) && (data.IxPolozky - 100 < palety.Count)) { palety[data.IxPolozky - 100].SetFocus(); } @@ -943,7 +1406,6 @@ namespace TBF.BenchControl.DataEntry.S620 /// public void BarcodeReceived(object sender, BarcodeReceivedEventArgs data) { - foreach (var k in komponenty) k.ResetFocus(); foreach (var p in palety) p.ResetFocus(); /// TODO @@ -968,6 +1430,150 @@ namespace TBF.BenchControl.DataEntry.S620 private void batchesCheckBox_CheckStateChanged(object sender, EventArgs e) { ManageCheckGroupBox(batchesCheckBox, batchesGroupBox); + + if (!batchesCheckBox.Checked) + { + FocusToNextField(); + } + } + + private void orderCheckBox_CheckedChanged(object sender, EventArgs e) + { + ManageCheckGroupBox(orderCheckBox, orderGroupBox); + + if (!orderCheckBox.Checked) + { + if (atTheEnd) + { + AssignSerialNumbers(); + } + else + { + FocusToNextField(); + Invalidate(rect); + } + } + } + + private void FormForMechanicalMetersWithTracing_FormClosing(object sender, FormClosingEventArgs e) + { + Program.LocalSettings.UpdateHistory(orderCB.Text, ref Program.LocalSettings.PurchaseOrderHistory); + Program.LocalSettings.UpdateHistory(firstSNRangeCB.Text, ref Program.LocalSettings.FirstSNHistory); + Program.LocalSettings.UpdateHistory(lastSNRangeCB.Text, ref Program.LocalSettings.LastSNHistory); + Program.LocalSettings.LastSNTexts = bodyNrText; + + UpdateAndSaveStoredCodesDictionary(currentWorkflow, palety); + + if ((currentWorkflow != null) && (Program.LocalSettings.LastWorkflow != currentWorkflow.Name)) + { + Program.LocalSettings.LastWorkflow = currentWorkflow.Name; + } + if ((currentWStep != null) && (Program.LocalSettings.LastWStep != currentWStep.Name)) + { + Program.LocalSettings.LastWStep = currentWStep.Name; + } + + Program.LocalSettings.Save(); + + //wplaceRegistration.UnregisterWorkplace(dbSession); + } + + #region Color flash and beep + + /// + /// Called from the state machine when an operation forces a modeless dialog close. + /// + public void ColorFlashAndBeep(object sender, ColorFlashEventArgs args) + { + Common.BackgroundBeep.Beep(); + + if (ColorFlashHandler != null) + { + try { ColorFlashHandler(sender, args); } + catch (Exception) { } + } + } + + public event EventHandler ColorFlashHandler; + + private System.Windows.Forms.Timer colorFlashDurationTimer; + + void OnColorFlash(object sender, ColorFlashEventArgs args) + { + // start timer here + if (colorFlashDurationTimer == null) + { + colorFlashDurationTimer = new System.Windows.Forms.Timer(); + colorFlashDurationTimer.Tick += (s, e) => { ColorFlashAction(); }; + } + + BackColor = args.FlashColor; + + colorFlashDurationTimer.Interval = args.FlashTime; + colorFlashDurationTimer.Start(); + } + + // Specify what you want to happen when the Elapsed event is + // raised. + private void ColorFlashAction() + { + BackColor = oriBackColor; + + colorFlashDurationTimer.Stop(); + colorFlashDurationTimer.Enabled = false; + } + + #endregion + + private void FormForMechanicalMetersWithTracing_Paint(object sender, PaintEventArgs e) + { + var g = this.CreateGraphics(); + PaintRect(g, rect, firstSN, pcsCount, snRangeFirst, snRangeLast, foundSNs, assignedSNs); + } + + void PaintRect(System.Drawing.Graphics g, Rectangle r, int first, int count, int rngFrom, int rngTo, IList foundSNs, IList assignedSNs) + { + SolidBrush greenBrush = new SolidBrush(Color.SeaGreen); + SolidBrush yellowBrush = new SolidBrush(Color.Yellow); + SolidBrush whiteBrush = new SolidBrush(Color.White); + SolidBrush fadedGreenBrush = new SolidBrush(Color.DarkSeaGreen); + SolidBrush fadedWhiteBrush = new SolidBrush(Color.Silver); + + if (0 < first && first <= rngFrom && rngFrom <= rngTo && rngTo < firstSN + count) + { + float left = Convert.ToSingle(r.Left); + float top = Convert.ToSingle(r.Top); + float height = Convert.ToSingle(r.Height); + float elWidth = Convert.ToSingle(r.Width) / Convert.ToSingle(count); + + for (int sn = first; sn < first + count; sn++) + { + float x = left + (sn - first) * elWidth; + + if (foundSNs != null && foundSNs.Contains(sn)) + { + if (rngFrom <= sn && sn <= rngTo) + g.FillRectangle(greenBrush, x, top, elWidth, height); + else + g.FillRectangle(fadedGreenBrush, x, top, elWidth, height); + } + else if (assignedSNs != null && assignedSNs.Contains(sn)) + { + g.FillRectangle(yellowBrush, x, top, elWidth, height); + } + else + { + if (rngFrom <= sn && sn <= rngTo) + g.FillRectangle(whiteBrush, x, top, elWidth, height); + else + g.FillRectangle(fadedWhiteBrush, x, top, elWidth, height); + } + } + } + else + { + g.FillRectangle(fadedWhiteBrush, r); + } } } } diff --git a/TBF/BenchControl/DataEntry/S620/FormForMechanicalMetersWithTracing.resx b/TBF/BenchControl/DataEntry/S620/FormForMechanicalMetersWithTracing.resx index 53b3ef07d..122a429a2 100644 --- a/TBF/BenchControl/DataEntry/S620/FormForMechanicalMetersWithTracing.resx +++ b/TBF/BenchControl/DataEntry/S620/FormForMechanicalMetersWithTracing.resx @@ -126,10 +126,10 @@ Verdana, 14.25pt - 1693, 42 + 1309, 22 - 112, 63 + 112, 55 @@ -150,6 +150,357 @@ 5 + + orderCheckBox + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 0 + + + lastSNRangeCB + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 1 + + + exclamationToLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 2 + + + suffixTextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 3 + + + toLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 4 + + + firstSNRangeCB + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 5 + + + prefixTextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 6 + + + exclamationFromLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 7 + + + snDigitsLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 8 + + + suffixLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 9 + + + fromLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 10 + + + prefixLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 11 + + + snDigitsTextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 12 + + + exclamationPOLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 13 + + + piecesCountLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 14 + + + firstSNLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 15 + + + pcsCountTextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 16 + + + firstSNTextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 17 + + + reloadButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 18 + + + orderCB + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 19 + + + Verdana, 14.25pt + + + 14, 82 + + + 1424, 77 + + + 0 + + + orderGroupBox + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + True + + + 6, 2 + + + 274, 27 + + + 159 + + + Order and serial numbers + + + orderCheckBox + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 0 + + + Verdana, 9.75pt + + + 1299, 37 + + + 93, 24 + + + 151 + + + lastSNRangeCB + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 1 + + + True + + + Verdana, 20.25pt, style=Bold + + + NoControl + + + 1394, 31 + + + 26, 32 + + + 149 + + + ! + + + False + + + exclamationToLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 2 + False @@ -157,7 +508,7 @@ Verdana, 9.75pt - 537, 37 + 593, 37 93, 23 @@ -175,7 +526,61 @@ orderGroupBox - 0 + 3 + + + True + + + NoControl + + + 1251, 35 + + + 29, 23 + + + 147 + + + to + + + toLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 4 + + + Verdana, 9.75pt + + + 1121, 36 + + + 93, 24 + + + 150 + + + firstSNRangeCB + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 5 False @@ -184,7 +589,7 @@ Verdana, 9.75pt - 314, 37 + 326, 37 93, 23 @@ -202,13 +607,46 @@ orderGroupBox - 1 + 6 + + + True + + + Verdana, 20.25pt, style=Bold + + + 1216, 30 + + + 26, 32 + + + 148 + + + ! + + + False + + + exclamationFromLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 7 True - 409, 75 + 425, 37 63, 23 @@ -229,13 +667,13 @@ orderGroupBox - 2 + 8 True - 464, 37 + 530, 37 63, 23 @@ -256,13 +694,40 @@ orderGroupBox - 3 + 9 + + + True + + + 1060, 37 + + + 55, 23 + + + 146 + + + from + + + fromLabel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 10 True - 226, 37 + 261, 37 65, 23 @@ -283,7 +748,7 @@ orderGroupBox - 4 + 11 False @@ -292,7 +757,7 @@ Verdana, 9.75pt - 475, 75 + 491, 37 28, 23 @@ -310,7 +775,7 @@ orderGroupBox - 5 + 12 True @@ -346,7 +811,7 @@ orderGroupBox - 6 + 13 True @@ -355,7 +820,7 @@ NoControl - 505, 74 + 893, 37 70, 23 @@ -376,7 +841,7 @@ orderGroupBox - 7 + 14 True @@ -385,7 +850,7 @@ NoControl - 226, 74 + 704, 37 86, 23 @@ -406,7 +871,7 @@ orderGroupBox - 8 + 15 False @@ -415,7 +880,7 @@ Verdana, 9.75pt - 567, 74 + 955, 37 63, 23 @@ -433,7 +898,7 @@ orderGroupBox - 9 + 16 False @@ -442,7 +907,7 @@ Verdana, 9.75pt - 314, 75 + 791, 38 93, 23 @@ -460,7 +925,7 @@ orderGroupBox - 10 + 17 False @@ -468,17 +933,23 @@ Verdana, 12pt + + NoControl + - 21, 73 + 222, 33 + + + No - 84, 30 + 30, 30 1 - Reload + @ reloadButton @@ -490,7 +961,7 @@ orderGroupBox - 11 + 18 21, 32 @@ -511,67 +982,7 @@ orderGroupBox - 12 - - - Verdana, 14.25pt - - - 14, 5 - - - 648, 119 - - - 0 - - - Order - - - orderGroupBox - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 4 - - - Top, Right - - - Verdana, 11.25pt - - - NoControl - - - -6, 23 - - - 84, 26 - - - 8 - - - Clear - - - clearButton - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 2 + 19 True @@ -580,19 +991,16 @@ Verdana, 9.75pt - 19, 53 + 27, 55 - 103, 16 + 16, 16 9 - Water Meter 1 - - - False + 1 label1 @@ -604,40 +1012,13 @@ serialNumbersGroupBox - 44 - - - Verdana, 9.75pt - - - 146, 46 - - - 163, 24 - - - 10 - - - False - - - comboBox1 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 43 + 42 True - 593, 51 + 392, 58 15, 14 @@ -645,9 +1026,6 @@ 11 - - False - checkBox1 @@ -658,7 +1036,7 @@ serialNumbersGroupBox - 46 + 44 True @@ -667,7 +1045,7 @@ NoControl - 593, 80 + 392, 87 15, 14 @@ -675,9 +1053,6 @@ 14 - - False - checkBox2 @@ -688,34 +1063,7 @@ serialNumbersGroupBox - 52 - - - Verdana, 9.75pt - - - 146, 75 - - - 163, 24 - - - 13 - - - False - - - comboBox2 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 50 + 47 True @@ -727,19 +1075,16 @@ NoControl - 19, 82 + 27, 84 - 103, 16 + 16, 16 12 - Water Meter 2 - - - False + 2 label2 @@ -751,7 +1096,7 @@ serialNumbersGroupBox - 48 + 45 True @@ -760,7 +1105,7 @@ NoControl - 593, 109 + 392, 116 15, 14 @@ -768,9 +1113,6 @@ 17 - - False - checkBox3 @@ -781,34 +1123,7 @@ serialNumbersGroupBox - 58 - - - Verdana, 9.75pt - - - 146, 104 - - - 163, 24 - - - 16 - - - False - - - comboBox3 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 56 + 52 True @@ -820,19 +1135,16 @@ NoControl - 19, 111 + 27, 113 - 103, 16 + 16, 16 15 - Water Meter 3 - - - False + 3 label3 @@ -844,7 +1156,7 @@ serialNumbersGroupBox - 54 + 49 True @@ -853,7 +1165,7 @@ NoControl - 593, 138 + 392, 145 15, 14 @@ -861,9 +1173,6 @@ 20 - - False - checkBox4 @@ -874,34 +1183,7 @@ serialNumbersGroupBox - 64 - - - Verdana, 9.75pt - - - 146, 133 - - - 163, 24 - - - 19 - - - False - - - comboBox4 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 62 + 57 True @@ -913,19 +1195,16 @@ NoControl - 19, 140 + 27, 142 - 103, 16 + 16, 16 18 - Water Meter 4 - - - False + 4 label4 @@ -937,7 +1216,7 @@ serialNumbersGroupBox - 60 + 54 True @@ -946,7 +1225,7 @@ NoControl - 593, 167 + 392, 174 15, 14 @@ -954,9 +1233,6 @@ 23 - - False - checkBox5 @@ -967,34 +1243,7 @@ serialNumbersGroupBox - 70 - - - Verdana, 9.75pt - - - 146, 162 - - - 163, 24 - - - 22 - - - False - - - comboBox5 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 68 + 62 True @@ -1006,19 +1255,16 @@ NoControl - 19, 169 + 27, 171 - 103, 16 + 16, 16 21 - Water Meter 5 - - - False + 5 label5 @@ -1030,7 +1276,7 @@ serialNumbersGroupBox - 66 + 59 True @@ -1039,7 +1285,7 @@ NoControl - 593, 196 + 392, 203 15, 14 @@ -1047,9 +1293,6 @@ 26 - - False - checkBox6 @@ -1060,34 +1303,7 @@ serialNumbersGroupBox - 76 - - - Verdana, 9.75pt - - - 146, 191 - - - 163, 24 - - - 25 - - - False - - - comboBox6 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 74 + 67 True @@ -1099,19 +1315,16 @@ NoControl - 19, 198 + 27, 200 - 103, 16 + 16, 16 24 - Water Meter 6 - - - False + 6 label6 @@ -1123,7 +1336,7 @@ serialNumbersGroupBox - 72 + 64 True @@ -1132,7 +1345,7 @@ NoControl - 593, 225 + 392, 232 15, 14 @@ -1140,9 +1353,6 @@ 29 - - False - checkBox7 @@ -1153,34 +1363,7 @@ serialNumbersGroupBox - 82 - - - Verdana, 9.75pt - - - 146, 220 - - - 163, 24 - - - 28 - - - False - - - comboBox7 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 80 + 72 True @@ -1192,19 +1375,16 @@ NoControl - 19, 227 + 27, 229 - 103, 16 + 16, 16 27 - Water Meter 7 - - - False + 7 label7 @@ -1216,7 +1396,7 @@ serialNumbersGroupBox - 78 + 69 True @@ -1225,7 +1405,7 @@ NoControl - 593, 254 + 392, 261 15, 14 @@ -1233,9 +1413,6 @@ 32 - - False - checkBox8 @@ -1246,34 +1423,7 @@ serialNumbersGroupBox - 88 - - - Verdana, 9.75pt - - - 146, 249 - - - 163, 24 - - - 31 - - - False - - - comboBox8 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 86 + 77 True @@ -1285,19 +1435,16 @@ NoControl - 19, 256 + 27, 258 - 103, 16 + 16, 16 30 - Water Meter 8 - - - False + 8 label8 @@ -1309,7 +1456,7 @@ serialNumbersGroupBox - 84 + 74 True @@ -1318,7 +1465,7 @@ NoControl - 593, 283 + 392, 290 15, 14 @@ -1326,9 +1473,6 @@ 35 - - False - checkBox9 @@ -1339,34 +1483,7 @@ serialNumbersGroupBox - 94 - - - Verdana, 9.75pt - - - 146, 278 - - - 163, 24 - - - 34 - - - False - - - comboBox9 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 92 + 82 True @@ -1378,19 +1495,16 @@ NoControl - 19, 285 + 27, 287 - 103, 16 + 16, 16 33 - Water Meter 9 - - - False + 9 label9 @@ -1402,7 +1516,7 @@ serialNumbersGroupBox - 90 + 79 True @@ -1411,7 +1525,7 @@ NoControl - 593, 312 + 392, 319 15, 14 @@ -1419,9 +1533,6 @@ 38 - - False - checkBox10 @@ -1432,34 +1543,7 @@ serialNumbersGroupBox - 100 - - - Verdana, 9.75pt - - - 146, 307 - - - 163, 24 - - - 37 - - - False - - - comboBox10 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 98 + 87 True @@ -1471,19 +1555,16 @@ NoControl - 19, 314 + 19, 316 - 111, 16 + 24, 16 36 - Water Meter 10 - - - False + 10 label10 @@ -1495,7 +1576,7 @@ serialNumbersGroupBox - 96 + 84 True @@ -1504,7 +1585,7 @@ NoControl - 593, 341 + 392, 348 15, 14 @@ -1512,9 +1593,6 @@ 41 - - False - checkBox11 @@ -1525,34 +1603,7 @@ serialNumbersGroupBox - 106 - - - Verdana, 9.75pt - - - 146, 336 - - - 163, 24 - - - 40 - - - False - - - comboBox11 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 104 + 92 True @@ -1564,19 +1615,16 @@ NoControl - 19, 343 + 19, 345 - 111, 16 + 24, 16 39 - Water Meter 11 - - - False + 11 label11 @@ -1588,7 +1636,7 @@ serialNumbersGroupBox - 102 + 89 True @@ -1597,7 +1645,7 @@ NoControl - 593, 370 + 392, 377 15, 14 @@ -1605,9 +1653,6 @@ 44 - - False - checkBox12 @@ -1618,34 +1663,7 @@ serialNumbersGroupBox - 112 - - - Verdana, 9.75pt - - - 146, 365 - - - 163, 24 - - - 43 - - - False - - - comboBox12 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 110 + 97 True @@ -1657,19 +1675,16 @@ NoControl - 19, 372 + 19, 374 - 111, 16 + 24, 16 42 - Water Meter 12 - - - False + 12 label12 @@ -1681,7 +1696,7 @@ serialNumbersGroupBox - 108 + 94 True @@ -1690,7 +1705,7 @@ NoControl - 593, 399 + 392, 406 15, 14 @@ -1698,9 +1713,6 @@ 47 - - False - checkBox13 @@ -1711,34 +1723,7 @@ serialNumbersGroupBox - 118 - - - Verdana, 9.75pt - - - 146, 394 - - - 163, 24 - - - 46 - - - False - - - comboBox13 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 116 + 102 True @@ -1750,19 +1735,16 @@ NoControl - 19, 401 + 19, 403 - 111, 16 + 24, 16 45 - Water Meter 13 - - - False + 13 label13 @@ -1774,7 +1756,7 @@ serialNumbersGroupBox - 114 + 99 True @@ -1783,7 +1765,7 @@ NoControl - 593, 428 + 392, 435 15, 14 @@ -1791,9 +1773,6 @@ 50 - - False - checkBox14 @@ -1804,34 +1783,7 @@ serialNumbersGroupBox - 124 - - - Verdana, 9.75pt - - - 146, 423 - - - 163, 24 - - - 49 - - - False - - - comboBox14 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 122 + 107 True @@ -1843,19 +1795,16 @@ NoControl - 19, 430 + 19, 432 - 111, 16 + 24, 16 48 - Water Meter 14 - - - False + 14 label14 @@ -1867,7 +1816,7 @@ serialNumbersGroupBox - 120 + 104 True @@ -1876,7 +1825,7 @@ NoControl - 593, 457 + 392, 464 15, 14 @@ -1884,9 +1833,6 @@ 53 - - False - checkBox15 @@ -1897,34 +1843,7 @@ serialNumbersGroupBox - 130 - - - Verdana, 9.75pt - - - 146, 452 - - - 163, 24 - - - 52 - - - False - - - comboBox15 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 128 + 112 True @@ -1936,19 +1855,16 @@ NoControl - 19, 459 + 19, 461 - 111, 16 + 24, 16 51 - Water Meter 15 - - - False + 15 label15 @@ -1960,7 +1876,7 @@ serialNumbersGroupBox - 126 + 109 True @@ -1969,7 +1885,7 @@ NoControl - 593, 486 + 392, 493 15, 14 @@ -1977,9 +1893,6 @@ 56 - - False - checkBox16 @@ -1990,34 +1903,7 @@ serialNumbersGroupBox - 136 - - - Verdana, 9.75pt - - - 146, 481 - - - 163, 24 - - - 55 - - - False - - - comboBox16 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 134 + 116 True @@ -2029,19 +1915,16 @@ NoControl - 19, 488 + 19, 490 - 111, 16 + 24, 16 54 - Water Meter 15 - - - False + 16 label16 @@ -2053,7 +1936,7 @@ serialNumbersGroupBox - 132 + 114 True @@ -2062,7 +1945,7 @@ NoControl - 593, 515 + 392, 522 15, 14 @@ -2070,9 +1953,6 @@ 59 - - False - checkBox17 @@ -2083,34 +1963,7 @@ serialNumbersGroupBox - 142 - - - Verdana, 9.75pt - - - 146, 510 - - - 163, 24 - - - 58 - - - False - - - comboBox17 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 140 + 120 True @@ -2122,19 +1975,16 @@ NoControl - 19, 517 + 19, 519 - 111, 16 + 24, 16 57 - Water Meter 17 - - - False + 17 label17 @@ -2146,7 +1996,7 @@ serialNumbersGroupBox - 138 + 118 True @@ -2155,7 +2005,7 @@ NoControl - 593, 544 + 392, 551 15, 14 @@ -2163,9 +2013,6 @@ 62 - - False - checkBox18 @@ -2176,34 +2023,7 @@ serialNumbersGroupBox - 148 - - - Verdana, 9.75pt - - - 146, 539 - - - 163, 24 - - - 61 - - - False - - - comboBox18 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 146 + 124 True @@ -2215,19 +2035,16 @@ NoControl - 19, 546 + 19, 548 - 111, 16 + 24, 16 60 - Water Meter 18 - - - False + 18 label18 @@ -2239,7 +2056,7 @@ serialNumbersGroupBox - 144 + 122 True @@ -2248,7 +2065,7 @@ NoControl - 593, 573 + 392, 580 15, 14 @@ -2256,9 +2073,6 @@ 65 - - False - checkBox19 @@ -2269,34 +2083,7 @@ serialNumbersGroupBox - 154 - - - Verdana, 9.75pt - - - 146, 568 - - - 163, 24 - - - 64 - - - False - - - comboBox19 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 152 + 128 True @@ -2308,19 +2095,16 @@ NoControl - 19, 575 + 19, 577 - 111, 16 + 24, 16 63 - Water Meter 19 - - - False + 19 label19 @@ -2332,7 +2116,7 @@ serialNumbersGroupBox - 150 + 126 True @@ -2341,7 +2125,7 @@ NoControl - 593, 602 + 392, 609 15, 14 @@ -2349,9 +2133,6 @@ 68 - - False - checkBox20 @@ -2362,34 +2143,7 @@ serialNumbersGroupBox - 160 - - - Verdana, 9.75pt - - - 146, 597 - - - 163, 24 - - - 67 - - - False - - - comboBox20 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 158 + 132 True @@ -2401,19 +2155,16 @@ NoControl - 19, 604 + 19, 606 - 111, 16 + 24, 16 66 - Water Meter 20 - - - False + 20 label20 @@ -2425,7 +2176,7 @@ serialNumbersGroupBox - 156 + 130 True @@ -2434,7 +2185,7 @@ NoControl - 1201, 602 + 821, 609 15, 14 @@ -2442,9 +2193,6 @@ 140 - - False - checkBox40 @@ -2455,34 +2203,7 @@ serialNumbersGroupBox - 133 - - - Verdana, 9.75pt - - - 754, 597 - - - 163, 24 - - - 139 - - - False - - - comboBox40 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 135 + 115 True @@ -2494,19 +2215,16 @@ NoControl - 631, 604 + 448, 606 - 111, 16 + 24, 16 138 - Water Meter 40 - - - False + 40 label40 @@ -2518,7 +2236,7 @@ serialNumbersGroupBox - 137 + 117 True @@ -2527,7 +2245,7 @@ NoControl - 1201, 573 + 821, 580 15, 14 @@ -2535,9 +2253,6 @@ 137 - - False - checkBox39 @@ -2548,34 +2263,7 @@ serialNumbersGroupBox - 139 - - - Verdana, 9.75pt - - - 754, 568 - - - 163, 24 - - - 136 - - - False - - - comboBox39 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 141 + 119 True @@ -2587,19 +2275,16 @@ NoControl - 631, 575 + 448, 577 - 111, 16 + 24, 16 135 - Water Meter 39 - - - False + 39 label39 @@ -2611,7 +2296,7 @@ serialNumbersGroupBox - 143 + 121 True @@ -2620,7 +2305,7 @@ NoControl - 1201, 544 + 821, 551 15, 14 @@ -2628,9 +2313,6 @@ 134 - - False - checkBox38 @@ -2641,34 +2323,7 @@ serialNumbersGroupBox - 145 - - - Verdana, 9.75pt - - - 754, 539 - - - 163, 24 - - - 133 - - - False - - - comboBox38 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 147 + 123 True @@ -2680,19 +2335,16 @@ NoControl - 631, 546 + 448, 548 - 111, 16 + 24, 16 132 - Water Meter 38 - - - False + 38 label38 @@ -2704,7 +2356,7 @@ serialNumbersGroupBox - 149 + 125 True @@ -2713,7 +2365,7 @@ NoControl - 1201, 515 + 821, 522 15, 14 @@ -2721,9 +2373,6 @@ 131 - - False - checkBox37 @@ -2734,34 +2383,7 @@ serialNumbersGroupBox - 151 - - - Verdana, 9.75pt - - - 754, 510 - - - 163, 24 - - - 130 - - - False - - - comboBox37 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 153 + 127 True @@ -2773,19 +2395,16 @@ NoControl - 631, 517 + 448, 519 - 111, 16 + 24, 16 129 - Water Meter 37 - - - False + 37 label37 @@ -2797,7 +2416,7 @@ serialNumbersGroupBox - 155 + 129 True @@ -2806,7 +2425,7 @@ NoControl - 1201, 486 + 821, 493 15, 14 @@ -2814,9 +2433,6 @@ 128 - - False - checkBox36 @@ -2827,34 +2443,7 @@ serialNumbersGroupBox - 157 - - - Verdana, 9.75pt - - - 754, 481 - - - 163, 24 - - - 127 - - - False - - - comboBox36 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 159 + 131 True @@ -2866,19 +2455,16 @@ NoControl - 631, 488 + 448, 490 - 111, 16 + 24, 16 126 - Water Meter 36 - - - False + 36 label36 @@ -2890,7 +2476,7 @@ serialNumbersGroupBox - 161 + 133 True @@ -2899,7 +2485,7 @@ NoControl - 1201, 457 + 821, 464 15, 14 @@ -2907,9 +2493,6 @@ 125 - - False - checkBox35 @@ -2920,34 +2503,7 @@ serialNumbersGroupBox - 163 - - - Verdana, 9.75pt - - - 754, 452 - - - 163, 24 - - - 124 - - - False - - - comboBox35 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 165 + 135 True @@ -2959,19 +2515,16 @@ NoControl - 631, 459 + 448, 461 - 111, 16 + 24, 16 123 - Water Meter 35 - - - False + 35 label35 @@ -2983,7 +2536,7 @@ serialNumbersGroupBox - 167 + 137 True @@ -2992,7 +2545,7 @@ NoControl - 1201, 428 + 821, 435 15, 14 @@ -3000,9 +2553,6 @@ 122 - - False - checkBox34 @@ -3013,34 +2563,7 @@ serialNumbersGroupBox - 169 - - - Verdana, 9.75pt - - - 754, 423 - - - 163, 24 - - - 121 - - - False - - - comboBox34 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 171 + 139 True @@ -3052,19 +2575,16 @@ NoControl - 631, 430 + 448, 432 - 111, 16 + 24, 16 120 - Water Meter 34 - - - False + 34 label34 @@ -3076,7 +2596,7 @@ serialNumbersGroupBox - 173 + 141 True @@ -3085,7 +2605,7 @@ NoControl - 1201, 399 + 821, 406 15, 14 @@ -3093,9 +2613,6 @@ 119 - - False - checkBox33 @@ -3106,34 +2623,7 @@ serialNumbersGroupBox - 175 - - - Verdana, 9.75pt - - - 754, 394 - - - 163, 24 - - - 118 - - - False - - - comboBox33 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 177 + 143 True @@ -3145,19 +2635,16 @@ NoControl - 631, 401 + 448, 403 - 111, 16 + 24, 16 117 - Water Meter 33 - - - False + 33 label33 @@ -3169,7 +2656,7 @@ serialNumbersGroupBox - 179 + 145 True @@ -3178,7 +2665,7 @@ NoControl - 1201, 370 + 821, 377 15, 14 @@ -3186,9 +2673,6 @@ 116 - - False - checkBox32 @@ -3199,34 +2683,7 @@ serialNumbersGroupBox - 181 - - - Verdana, 9.75pt - - - 754, 365 - - - 163, 24 - - - 115 - - - False - - - comboBox32 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 183 + 147 True @@ -3238,19 +2695,16 @@ NoControl - 631, 372 + 448, 374 - 111, 16 + 24, 16 114 - Water Meter 32 - - - False + 32 label32 @@ -3262,7 +2716,7 @@ serialNumbersGroupBox - 185 + 149 True @@ -3271,7 +2725,7 @@ NoControl - 1201, 341 + 821, 348 15, 14 @@ -3279,9 +2733,6 @@ 113 - - False - checkBox31 @@ -3292,34 +2743,7 @@ serialNumbersGroupBox - 187 - - - Verdana, 9.75pt - - - 754, 336 - - - 163, 24 - - - 112 - - - False - - - comboBox31 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 189 + 151 True @@ -3331,19 +2755,16 @@ NoControl - 631, 343 + 448, 345 - 111, 16 + 24, 16 111 - Water Meter 31 - - - False + 31 label31 @@ -3355,7 +2776,7 @@ serialNumbersGroupBox - 191 + 153 True @@ -3364,7 +2785,7 @@ NoControl - 1201, 312 + 821, 319 15, 14 @@ -3372,9 +2793,6 @@ 110 - - False - checkBox30 @@ -3385,34 +2803,7 @@ serialNumbersGroupBox - 193 - - - Verdana, 9.75pt - - - 754, 307 - - - 163, 24 - - - 109 - - - False - - - comboBox30 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 195 + 155 True @@ -3424,19 +2815,16 @@ NoControl - 631, 314 + 448, 316 - 111, 16 + 24, 16 108 - Water Meter 30 - - - False + 30 label30 @@ -3448,7 +2836,7 @@ serialNumbersGroupBox - 197 + 157 True @@ -3457,7 +2845,7 @@ NoControl - 1201, 283 + 821, 290 15, 14 @@ -3465,9 +2853,6 @@ 107 - - False - checkBox29 @@ -3478,34 +2863,7 @@ serialNumbersGroupBox - 199 - - - Verdana, 9.75pt - - - 754, 278 - - - 163, 24 - - - 106 - - - False - - - comboBox29 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 201 + 159 True @@ -3517,19 +2875,16 @@ NoControl - 631, 285 + 448, 287 - 111, 16 + 24, 16 105 - Water Meter 29 - - - False + 29 label29 @@ -3541,7 +2896,7 @@ serialNumbersGroupBox - 203 + 161 True @@ -3550,7 +2905,7 @@ NoControl - 1201, 254 + 821, 261 15, 14 @@ -3558,9 +2913,6 @@ 104 - - False - checkBox28 @@ -3571,34 +2923,7 @@ serialNumbersGroupBox - 205 - - - Verdana, 9.75pt - - - 754, 249 - - - 163, 24 - - - 103 - - - False - - - comboBox28 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 206 + 163 True @@ -3610,19 +2935,16 @@ NoControl - 631, 256 + 448, 258 - 111, 16 + 24, 16 102 - Water Meter 28 - - - False + 28 label28 @@ -3634,7 +2956,7 @@ serialNumbersGroupBox - 204 + 162 True @@ -3643,7 +2965,7 @@ NoControl - 1201, 225 + 821, 232 15, 14 @@ -3651,9 +2973,6 @@ 101 - - False - checkBox27 @@ -3664,34 +2983,7 @@ serialNumbersGroupBox - 202 - - - Verdana, 9.75pt - - - 754, 220 - - - 163, 24 - - - 100 - - - False - - - comboBox27 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 200 + 160 True @@ -3703,19 +2995,16 @@ NoControl - 631, 227 + 448, 229 - 111, 16 + 24, 16 99 - Water Meter 27 - - - False + 27 label27 @@ -3727,7 +3016,7 @@ serialNumbersGroupBox - 198 + 158 True @@ -3736,7 +3025,7 @@ NoControl - 1201, 196 + 821, 203 15, 14 @@ -3744,9 +3033,6 @@ 98 - - False - checkBox26 @@ -3757,34 +3043,7 @@ serialNumbersGroupBox - 196 - - - Verdana, 9.75pt - - - 754, 191 - - - 163, 24 - - - 97 - - - False - - - comboBox26 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 194 + 156 True @@ -3796,19 +3055,16 @@ NoControl - 631, 198 + 448, 200 - 111, 16 + 24, 16 96 - Water Meter 26 - - - False + 26 label26 @@ -3820,7 +3076,7 @@ serialNumbersGroupBox - 192 + 154 True @@ -3829,7 +3085,7 @@ NoControl - 1201, 167 + 821, 174 15, 14 @@ -3837,9 +3093,6 @@ 95 - - False - checkBox25 @@ -3850,34 +3103,7 @@ serialNumbersGroupBox - 190 - - - Verdana, 9.75pt - - - 754, 162 - - - 163, 24 - - - 94 - - - False - - - comboBox25 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 188 + 152 True @@ -3889,19 +3115,16 @@ NoControl - 631, 169 + 448, 171 - 111, 16 + 24, 16 93 - Water Meter 25 - - - False + 25 label25 @@ -3913,7 +3136,7 @@ serialNumbersGroupBox - 186 + 150 True @@ -3922,7 +3145,7 @@ NoControl - 1201, 138 + 821, 145 15, 14 @@ -3930,9 +3153,6 @@ 92 - - False - checkBox24 @@ -3943,34 +3163,7 @@ serialNumbersGroupBox - 184 - - - Verdana, 9.75pt - - - 754, 133 - - - 163, 24 - - - 91 - - - False - - - comboBox24 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 182 + 148 True @@ -3982,19 +3175,16 @@ NoControl - 631, 140 + 448, 142 - 111, 16 + 24, 16 90 - Water Meter 24 - - - False + 24 label24 @@ -4006,7 +3196,7 @@ serialNumbersGroupBox - 180 + 146 True @@ -4015,7 +3205,7 @@ NoControl - 1201, 109 + 821, 116 15, 14 @@ -4023,9 +3213,6 @@ 89 - - False - checkBox23 @@ -4036,34 +3223,7 @@ serialNumbersGroupBox - 178 - - - Verdana, 9.75pt - - - 754, 104 - - - 163, 24 - - - 88 - - - False - - - comboBox23 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 176 + 144 True @@ -4075,19 +3235,16 @@ NoControl - 631, 111 + 448, 113 - 111, 16 + 24, 16 87 - Water Meter 23 - - - False + 23 label23 @@ -4099,7 +3256,7 @@ serialNumbersGroupBox - 174 + 142 True @@ -4108,7 +3265,7 @@ NoControl - 1201, 80 + 821, 87 15, 14 @@ -4116,9 +3273,6 @@ 86 - - False - checkBox22 @@ -4129,34 +3283,7 @@ serialNumbersGroupBox - 172 - - - Verdana, 9.75pt - - - 754, 75 - - - 163, 24 - - - 85 - - - False - - - comboBox22 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 170 + 140 True @@ -4168,19 +3295,16 @@ NoControl - 631, 82 + 448, 84 - 111, 16 + 24, 16 84 - Water Meter 22 - - - False + 22 label22 @@ -4192,7 +3316,7 @@ serialNumbersGroupBox - 168 + 138 True @@ -4201,7 +3325,7 @@ NoControl - 1201, 51 + 821, 58 15, 14 @@ -4209,9 +3333,6 @@ 83 - - False - checkBox21 @@ -4222,34 +3343,7 @@ serialNumbersGroupBox - 166 - - - Verdana, 9.75pt - - - 754, 46 - - - 163, 24 - - - 82 - - - False - - - comboBox21 - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 164 + 136 True @@ -4261,19 +3355,16 @@ NoControl - 631, 53 + 448, 55 - 111, 16 + 24, 16 81 - Water Meter 21 - - - False + 21 label21 @@ -4285,23 +3376,20 @@ serialNumbersGroupBox - 162 + 134 Verdana, 9.75pt - 320, 47 + 55, 52 - 123, 23 + 180, 23 141 - - False - textBox1 @@ -4312,23 +3400,20 @@ serialNumbersGroupBox - 131 + 113 Verdana, 9.75pt - 320, 76 + 55, 81 - 123, 23 + 180, 23 142 - - False - textBox2 @@ -4339,23 +3424,20 @@ serialNumbersGroupBox - 129 + 111 Verdana, 9.75pt - 320, 105 + 55, 110 - 123, 23 + 180, 23 143 - - False - textBox3 @@ -4366,23 +3448,20 @@ serialNumbersGroupBox - 127 + 110 Verdana, 9.75pt - 320, 134 + 55, 139 - 123, 23 + 180, 23 144 - - False - textBox4 @@ -4393,23 +3472,20 @@ serialNumbersGroupBox - 125 + 108 Verdana, 9.75pt - 320, 163 + 55, 168 - 123, 23 + 180, 23 145 - - False - textBox5 @@ -4420,23 +3496,20 @@ serialNumbersGroupBox - 123 + 106 Verdana, 9.75pt - 320, 192 + 55, 197 - 123, 23 + 180, 23 146 - - False - textBox6 @@ -4447,23 +3520,20 @@ serialNumbersGroupBox - 121 + 105 Verdana, 9.75pt - 320, 221 + 55, 226 - 123, 23 + 180, 23 147 - - False - textBox7 @@ -4474,23 +3544,20 @@ serialNumbersGroupBox - 119 + 103 Verdana, 9.75pt - 320, 250 + 55, 255 - 123, 23 + 180, 23 148 - - False - textBox8 @@ -4501,23 +3568,20 @@ serialNumbersGroupBox - 117 + 101 Verdana, 9.75pt - 320, 279 + 55, 284 - 123, 23 + 180, 23 149 - - False - textBox9 @@ -4528,23 +3592,20 @@ serialNumbersGroupBox - 115 + 100 Verdana, 9.75pt - 320, 308 + 55, 313 - 123, 23 + 180, 23 150 - - False - textBox10 @@ -4555,23 +3616,20 @@ serialNumbersGroupBox - 113 + 98 Verdana, 9.75pt - 320, 337 + 55, 342 - 123, 23 + 180, 23 151 - - False - textBox11 @@ -4582,23 +3640,20 @@ serialNumbersGroupBox - 111 + 96 Verdana, 9.75pt - 320, 366 + 55, 371 - 123, 23 + 180, 23 152 - - False - textBox12 @@ -4609,23 +3664,20 @@ serialNumbersGroupBox - 109 + 95 Verdana, 9.75pt - 320, 395 + 55, 400 - 123, 23 + 180, 23 153 - - False - textBox13 @@ -4636,23 +3688,20 @@ serialNumbersGroupBox - 107 + 93 Verdana, 9.75pt - 320, 424 + 55, 429 - 123, 23 + 180, 23 154 - - False - textBox14 @@ -4663,23 +3712,20 @@ serialNumbersGroupBox - 105 + 91 Verdana, 9.75pt - 320, 453 + 55, 458 - 123, 23 + 180, 23 155 - - False - textBox15 @@ -4690,23 +3736,20 @@ serialNumbersGroupBox - 103 + 90 Verdana, 9.75pt - 320, 482 + 55, 487 - 123, 23 + 180, 23 156 - - False - textBox16 @@ -4717,23 +3760,20 @@ serialNumbersGroupBox - 101 + 88 Verdana, 9.75pt - 320, 511 + 55, 516 - 123, 23 + 180, 23 157 - - False - textBox17 @@ -4744,23 +3784,20 @@ serialNumbersGroupBox - 99 + 86 Verdana, 9.75pt - 320, 540 + 55, 545 - 123, 23 + 180, 23 158 - - False - textBox18 @@ -4771,23 +3808,20 @@ serialNumbersGroupBox - 97 + 85 Verdana, 9.75pt - 320, 569 + 55, 574 - 123, 23 + 180, 23 159 - - False - textBox19 @@ -4798,23 +3832,20 @@ serialNumbersGroupBox - 95 + 83 Verdana, 9.75pt - 320, 598 + 55, 603 - 123, 23 + 180, 23 160 - - False - textBox20 @@ -4825,23 +3856,20 @@ serialNumbersGroupBox - 93 + 81 Verdana, 9.75pt - 928, 47 + 484, 52 - 123, 23 + 180, 23 161 - - False - textBox21 @@ -4852,23 +3880,20 @@ serialNumbersGroupBox - 91 + 80 Verdana, 9.75pt - 928, 76 + 484, 81 - 123, 23 + 180, 23 162 - - False - textBox22 @@ -4879,23 +3904,20 @@ serialNumbersGroupBox - 89 + 78 Verdana, 9.75pt - 928, 105 + 484, 110 - 123, 23 + 180, 23 163 - - False - textBox23 @@ -4906,23 +3928,20 @@ serialNumbersGroupBox - 87 + 76 Verdana, 9.75pt - 928, 134 + 484, 139 - 123, 23 + 180, 23 164 - - False - textBox24 @@ -4933,23 +3952,20 @@ serialNumbersGroupBox - 85 + 75 Verdana, 9.75pt - 928, 163 + 484, 168 - 123, 23 + 180, 23 165 - - False - textBox25 @@ -4960,23 +3976,20 @@ serialNumbersGroupBox - 83 + 73 Verdana, 9.75pt - 928, 192 + 484, 197 - 123, 23 + 180, 23 166 - - False - textBox26 @@ -4987,23 +4000,20 @@ serialNumbersGroupBox - 81 + 71 Verdana, 9.75pt - 928, 221 + 484, 226 - 123, 23 + 180, 23 167 - - False - textBox27 @@ -5014,23 +4024,20 @@ serialNumbersGroupBox - 79 + 70 Verdana, 9.75pt - 928, 250 + 484, 255 - 123, 23 + 180, 23 168 - - False - textBox28 @@ -5041,23 +4048,20 @@ serialNumbersGroupBox - 77 + 68 Verdana, 9.75pt - 928, 279 + 484, 284 - 123, 23 + 180, 23 169 - - False - textBox29 @@ -5068,23 +4072,20 @@ serialNumbersGroupBox - 75 + 66 Verdana, 9.75pt - 928, 308 + 484, 313 - 123, 23 + 180, 23 170 - - False - textBox30 @@ -5095,23 +4096,20 @@ serialNumbersGroupBox - 73 + 65 Verdana, 9.75pt - 928, 337 + 484, 342 - 123, 23 + 180, 23 171 - - False - textBox31 @@ -5122,23 +4120,20 @@ serialNumbersGroupBox - 71 + 63 Verdana, 9.75pt - 928, 366 + 484, 371 - 123, 23 + 180, 23 172 - - False - textBox32 @@ -5149,23 +4144,20 @@ serialNumbersGroupBox - 69 + 61 Verdana, 9.75pt - 928, 395 + 484, 400 - 123, 23 + 180, 23 173 - - False - textBox33 @@ -5176,23 +4168,20 @@ serialNumbersGroupBox - 67 + 60 Verdana, 9.75pt - 928, 424 + 484, 429 - 123, 23 + 180, 23 174 - - False - textBox34 @@ -5203,23 +4192,20 @@ serialNumbersGroupBox - 65 + 58 Verdana, 9.75pt - 928, 453 + 484, 458 - 123, 23 + 180, 23 175 - - False - textBox35 @@ -5230,23 +4216,20 @@ serialNumbersGroupBox - 63 + 56 Verdana, 9.75pt - 928, 482 + 484, 487 - 123, 23 + 180, 23 176 - - False - textBox36 @@ -5257,23 +4240,20 @@ serialNumbersGroupBox - 61 + 55 Verdana, 9.75pt - 928, 511 + 484, 516 - 123, 23 + 180, 23 177 - - False - textBox37 @@ -5284,23 +4264,20 @@ serialNumbersGroupBox - 59 + 53 Verdana, 9.75pt - 928, 540 + 484, 545 - 123, 23 + 180, 23 178 - - False - textBox38 @@ -5311,23 +4288,20 @@ serialNumbersGroupBox - 57 + 51 Verdana, 9.75pt - 928, 569 + 484, 574 - 123, 23 + 180, 23 179 - - False - textBox39 @@ -5338,23 +4312,20 @@ serialNumbersGroupBox - 55 + 50 Verdana, 9.75pt - 928, 598 + 484, 603 - 123, 23 + 180, 23 180 - - False - textBox40 @@ -5365,52 +4336,22 @@ serialNumbersGroupBox - 53 - - - True - - - Verdana, 9.75pt - - - 182, 22 - - - 93, 16 - - - 181 - - - Body number - - - bodyLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 51 + 48 True - Verdana, 9.75pt + Verdana, 12pt NoControl - 467, 22 + 257, 27 - 97, 16 + 121, 18 182 @@ -5428,55 +4369,22 @@ serialNumbersGroupBox - 49 - - - True - - - Verdana, 9.75pt - - - NoControl - - - 790, 22 - - - 93, 16 - - - 183 - - - Body number - - - bodyLabel2 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - serialNumbersGroupBox - - - 47 + 46 True - Verdana, 9.75pt + Verdana, 12pt NoControl - 1075, 22 + 684, 27 - 97, 16 + 121, 18 184 @@ -5494,280 +4402,79 @@ serialNumbersGroupBox - 45 + 43 - - Verdana, 9.75pt - - - 105, 75 - - - 93, 24 - - - 151 - - - lastSNRangeCB - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - snRangeGroupBox - - - 0 - - - Verdana, 9.75pt - - - 105, 37 - - - 93, 24 - - - 150 - - - firstSNRangeCB - - - System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - snRangeGroupBox - - - 1 - - + True - - Verdana, 20.25pt, style=Bold + + Verdana, 12pt - + NoControl - - 208, 69 + + 503, 27 - - 26, 32 + + 115, 18 - - 149 - - - ! - - - False - - - exclamationToLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - snRangeGroupBox - - - 2 - - - True - - - Verdana, 20.25pt, style=Bold - - - 208, 31 - - - 26, 32 - - - 148 - - - ! - - - False - - - exclamationFromLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - snRangeGroupBox - - - 3 - - - True - - - NoControl - - - 42, 72 - - - 29, 23 - - - 147 - - - to - - - toLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - snRangeGroupBox - - - 4 - - - True - - - 42, 37 - - - 55, 23 - - - 146 - - - from - - - fromLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - snRangeGroupBox - - - 5 - - - Verdana, 14.25pt - - - 675, 5 - - - 277, 119 - - - 185 - - - Range of serial numbers - - - snRangeGroupBox - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 3 - - - True - - - Verdana, 9.75pt - - - NoControl - - - 933, 22 - - - 113, 16 - - + 226 - - Counter number + + Body number - - counterLabel2 + + bodyLabel2 - + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + serialNumbersGroupBox - + 0 - + True - - Verdana, 9.75pt + + Verdana, 12pt - + NoControl - - 326, 22 + + 75, 29 - - 113, 16 + + 115, 18 - + 225 - - Counter number + + Body number - - counterLabel + + bodyLabel - + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + serialNumbersGroupBox - + 1 Verdana, 9.75pt - 1062, 598 + 682, 603 123, 23 @@ -5775,9 +4482,6 @@ 224 - - False - textBox80 @@ -5788,13 +4492,13 @@ serialNumbersGroupBox - 3 + 2 Verdana, 9.75pt - 1062, 569 + 682, 574 123, 23 @@ -5802,9 +4506,6 @@ 223 - - False - textBox79 @@ -5815,13 +4516,13 @@ serialNumbersGroupBox - 4 + 3 Verdana, 9.75pt - 1062, 540 + 682, 545 123, 23 @@ -5829,9 +4530,6 @@ 222 - - False - textBox78 @@ -5842,13 +4540,13 @@ serialNumbersGroupBox - 5 + 4 Verdana, 9.75pt - 1062, 511 + 682, 516 123, 23 @@ -5856,9 +4554,6 @@ 221 - - False - textBox77 @@ -5869,13 +4564,13 @@ serialNumbersGroupBox - 6 + 5 Verdana, 9.75pt - 1062, 482 + 682, 487 123, 23 @@ -5883,9 +4578,6 @@ 220 - - False - textBox76 @@ -5896,13 +4588,13 @@ serialNumbersGroupBox - 7 + 6 Verdana, 9.75pt - 1062, 453 + 682, 458 123, 23 @@ -5910,9 +4602,6 @@ 219 - - False - textBox75 @@ -5923,13 +4612,13 @@ serialNumbersGroupBox - 8 + 7 Verdana, 9.75pt - 1062, 424 + 682, 429 123, 23 @@ -5937,9 +4626,6 @@ 218 - - False - textBox74 @@ -5950,13 +4636,13 @@ serialNumbersGroupBox - 9 + 8 Verdana, 9.75pt - 1062, 395 + 682, 400 123, 23 @@ -5964,9 +4650,6 @@ 217 - - False - textBox73 @@ -5977,13 +4660,13 @@ serialNumbersGroupBox - 10 + 9 Verdana, 9.75pt - 1062, 366 + 682, 371 123, 23 @@ -5991,9 +4674,6 @@ 216 - - False - textBox72 @@ -6004,13 +4684,13 @@ serialNumbersGroupBox - 11 + 10 Verdana, 9.75pt - 1062, 337 + 682, 342 123, 23 @@ -6018,9 +4698,6 @@ 215 - - False - textBox71 @@ -6031,13 +4708,13 @@ serialNumbersGroupBox - 12 + 11 Verdana, 9.75pt - 1062, 308 + 682, 313 123, 23 @@ -6045,9 +4722,6 @@ 214 - - False - textBox70 @@ -6058,13 +4732,13 @@ serialNumbersGroupBox - 13 + 12 Verdana, 9.75pt - 1062, 279 + 682, 284 123, 23 @@ -6072,9 +4746,6 @@ 213 - - False - textBox69 @@ -6085,13 +4756,13 @@ serialNumbersGroupBox - 14 + 13 Verdana, 9.75pt - 1062, 250 + 682, 255 123, 23 @@ -6099,9 +4770,6 @@ 212 - - False - textBox68 @@ -6112,13 +4780,13 @@ serialNumbersGroupBox - 15 + 14 Verdana, 9.75pt - 1062, 221 + 682, 226 123, 23 @@ -6126,9 +4794,6 @@ 211 - - False - textBox67 @@ -6139,13 +4804,13 @@ serialNumbersGroupBox - 16 + 15 Verdana, 9.75pt - 1062, 192 + 682, 197 123, 23 @@ -6153,9 +4818,6 @@ 210 - - False - textBox66 @@ -6166,13 +4828,13 @@ serialNumbersGroupBox - 17 + 16 Verdana, 9.75pt - 1062, 163 + 682, 168 123, 23 @@ -6180,9 +4842,6 @@ 209 - - False - textBox65 @@ -6193,13 +4852,13 @@ serialNumbersGroupBox - 18 + 17 Verdana, 9.75pt - 1062, 134 + 682, 139 123, 23 @@ -6207,9 +4866,6 @@ 208 - - False - textBox64 @@ -6220,13 +4876,13 @@ serialNumbersGroupBox - 19 + 18 Verdana, 9.75pt - 1062, 105 + 682, 110 123, 23 @@ -6234,9 +4890,6 @@ 207 - - False - textBox63 @@ -6247,13 +4900,13 @@ serialNumbersGroupBox - 20 + 19 Verdana, 9.75pt - 1062, 76 + 682, 81 123, 23 @@ -6261,9 +4914,6 @@ 206 - - False - textBox62 @@ -6274,13 +4924,13 @@ serialNumbersGroupBox - 21 + 20 Verdana, 9.75pt - 1062, 47 + 682, 52 123, 23 @@ -6288,9 +4938,6 @@ 205 - - False - textBox61 @@ -6301,13 +4948,13 @@ serialNumbersGroupBox - 22 + 21 Verdana, 9.75pt - 454, 598 + 253, 603 123, 23 @@ -6315,9 +4962,6 @@ 204 - - False - textBox60 @@ -6328,13 +4972,13 @@ serialNumbersGroupBox - 23 + 22 Verdana, 9.75pt - 454, 569 + 253, 574 123, 23 @@ -6342,9 +4986,6 @@ 203 - - False - textBox59 @@ -6355,13 +4996,13 @@ serialNumbersGroupBox - 24 + 23 Verdana, 9.75pt - 454, 540 + 253, 545 123, 23 @@ -6369,9 +5010,6 @@ 202 - - False - textBox58 @@ -6382,13 +5020,13 @@ serialNumbersGroupBox - 25 + 24 Verdana, 9.75pt - 454, 511 + 253, 516 123, 23 @@ -6396,9 +5034,6 @@ 201 - - False - textBox57 @@ -6409,13 +5044,13 @@ serialNumbersGroupBox - 26 + 25 Verdana, 9.75pt - 454, 482 + 253, 487 123, 23 @@ -6423,9 +5058,6 @@ 200 - - False - textBox56 @@ -6436,13 +5068,13 @@ serialNumbersGroupBox - 27 + 26 Verdana, 9.75pt - 454, 453 + 253, 458 123, 23 @@ -6450,9 +5082,6 @@ 199 - - False - textBox55 @@ -6463,13 +5092,13 @@ serialNumbersGroupBox - 28 + 27 Verdana, 9.75pt - 454, 424 + 253, 429 123, 23 @@ -6477,9 +5106,6 @@ 198 - - False - textBox54 @@ -6490,13 +5116,13 @@ serialNumbersGroupBox - 29 + 28 Verdana, 9.75pt - 454, 395 + 253, 400 123, 23 @@ -6504,9 +5130,6 @@ 197 - - False - textBox53 @@ -6517,13 +5140,13 @@ serialNumbersGroupBox - 30 + 29 Verdana, 9.75pt - 454, 366 + 253, 371 123, 23 @@ -6531,9 +5154,6 @@ 196 - - False - textBox52 @@ -6544,13 +5164,13 @@ serialNumbersGroupBox - 31 + 30 Verdana, 9.75pt - 454, 337 + 253, 342 123, 23 @@ -6558,9 +5178,6 @@ 195 - - False - textBox51 @@ -6571,13 +5188,13 @@ serialNumbersGroupBox - 32 + 31 Verdana, 9.75pt - 454, 308 + 253, 313 123, 23 @@ -6585,9 +5202,6 @@ 194 - - False - textBox50 @@ -6598,13 +5212,13 @@ serialNumbersGroupBox - 33 + 32 Verdana, 9.75pt - 454, 279 + 253, 284 123, 23 @@ -6612,9 +5226,6 @@ 193 - - False - textBox49 @@ -6625,13 +5236,13 @@ serialNumbersGroupBox - 34 + 33 Verdana, 9.75pt - 454, 250 + 253, 255 123, 23 @@ -6639,9 +5250,6 @@ 192 - - False - textBox48 @@ -6652,13 +5260,13 @@ serialNumbersGroupBox - 35 + 34 Verdana, 9.75pt - 454, 221 + 253, 226 123, 23 @@ -6666,9 +5274,6 @@ 191 - - False - textBox47 @@ -6679,13 +5284,13 @@ serialNumbersGroupBox - 36 + 35 Verdana, 9.75pt - 454, 192 + 253, 197 123, 23 @@ -6693,9 +5298,6 @@ 190 - - False - textBox46 @@ -6706,13 +5308,13 @@ serialNumbersGroupBox - 37 + 36 Verdana, 9.75pt - 454, 164 + 253, 169 123, 23 @@ -6720,9 +5322,6 @@ 189 - - False - textBox45 @@ -6733,13 +5332,13 @@ serialNumbersGroupBox - 38 + 37 Verdana, 9.75pt - 454, 134 + 253, 139 123, 23 @@ -6747,9 +5346,6 @@ 188 - - False - textBox44 @@ -6760,13 +5356,13 @@ serialNumbersGroupBox - 39 + 38 Verdana, 9.75pt - 454, 105 + 253, 110 123, 23 @@ -6774,9 +5370,6 @@ 187 - - False - textBox43 @@ -6787,13 +5380,13 @@ serialNumbersGroupBox - 40 + 39 Verdana, 9.75pt - 454, 76 + 253, 81 123, 23 @@ -6801,9 +5394,6 @@ 186 - - False - textBox42 @@ -6814,13 +5404,13 @@ serialNumbersGroupBox - 41 + 40 Verdana, 9.75pt - 454, 47 + 253, 52 123, 23 @@ -6828,9 +5418,6 @@ 185 - - False - textBox41 @@ -6841,16 +5428,16 @@ serialNumbersGroupBox - 42 + 41 Verdana, 14.25pt - 14, 130 + 14, 210 - 1232, 637 + 855, 640 186 @@ -6868,13 +5455,61 @@ $this + 3 + + + batchesCheckBox + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + batchesGroupBox + + + 0 + + + flowLayoutPanel2 + + + System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + batchesGroupBox + + + 1 + + + Verdana, 14.25pt + + + 882, 210 + + + 556, 640 + + + 187 + + + batchesGroupBox + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + 2 True - 6, 1 + 6, 2 193, 27 @@ -6907,7 +5542,7 @@ 3, 27 - 550, 607 + 550, 610 1 @@ -6924,92 +5559,50 @@ 1 - - Verdana, 14.25pt - - - 1259, 130 - - - 556, 637 - - - 187 - - - batchesGroupBox - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 1 - - + Verdana, 12pt - - 14, 37 + + 21, 25 - - 674, 26 + + 822, 26 - + 189 - - processComboBox + + workflowComboBox - + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + workflowGroupBox - + 1 - - True + + reloadWorkflowsButton - - Verdana, 9.75pt + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 11, 81 - - - 143, 16 - - - 190 - - - workflow description - - - workflowDescriptionLabel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + workflowGroupBox - + 0 Verdana, 14.25pt - 965, 5 + 14, 12 - 701, 119 + 905, 63 191 @@ -7027,6 +5620,93 @@ $this + 1 + + + 853, 22 + + + 40, 31 + + + 190 + + + @ + + + reloadWorkflowsButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + workflowGroupBox + + + 0 + + + workstepComboBox + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + workstepGroupBox + + + 0 + + + Verdana, 14.25pt + + + 932, 12 + + + 346, 63 + + + 192 + + + Workflow step + + + workstepGroupBox + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + Verdana, 12pt + + + 21, 25 + + + 312, 26 + + + 189 + + + workstepComboBox + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + workstepGroupBox + + 0 @@ -7039,7 +5719,13 @@ True - 1829, 781 + 1451, 861 + + + 1467, 900 + + + 1467, 900 CenterParent diff --git a/TBF/BenchControl/DataEntry/S620/ICycleBeginOrEndForm.cs b/TBF/BenchControl/DataEntry/S620/ICycleBeginOrEndForm.cs new file mode 100644 index 000000000..07e692c9e --- /dev/null +++ b/TBF/BenchControl/DataEntry/S620/ICycleBeginOrEndForm.cs @@ -0,0 +1,18 @@ +/// +/// Copyright (c) 2021 Sensus Slovensko a.s. +/// +using System; + +namespace TBF.BenchControl.DataEntry.S620 +{ + public interface ICycleBeginOrEndForm + { + string PurchaseOrder { get; set; } + string[] BodyNrText { get; set; } + int[] AssignedSerialNr { get; set; } + string[] CompleteSerialNr { get; set; } + bool[] Disabled { get; set; } + string Prefix { get; set; } /// S/N prefix - Loaded from Oracle DB table VT_AUFTRAG_PD + string Suffix { get; set; } /// S/N suffix - Loaded from Oracle DB table VT_AUFTRAG_PD + } +} diff --git a/TBF/BenchControl/Output/DB/ProductionTracing/Tracing.cs b/TBF/BenchControl/Output/DB/ProductionTracing/Tracing.cs index 11974b24e..168136f89 100644 --- a/TBF/BenchControl/Output/DB/ProductionTracing/Tracing.cs +++ b/TBF/BenchControl/Output/DB/ProductionTracing/Tracing.cs @@ -466,20 +466,18 @@ namespace TBF.BenchControl.Output.DB.ProductionTracing if (worksteps.Count != 1) return Retv.Error; - Workstep vWS; - Part vP; - bool vRP; + TracingDB.ScanVerificationInfo info; /// - if (!TracingDB.DB.AnalyzeProcess(session, processes[0], worksteps[0], out vWS, out vRP, out vP)) + if (null == (info = TracingDB.DB.AnalyzeProcess(session, processes[0], worksteps[0]))) { return Retv.Error; /// Unable to } - + /// currentProcess = processes[0]; currentWorkstep = worksteps[0]; - verifiedWorkstep = vWS; - verifiedPart = vP; - verifyReferencePart = vRP; + verifiedWorkstep = info.Workstep; + verifiedPart = info.Part; + verifyReferencePart = info.VerifyReferencePart; } diff --git a/TBF/LocalSettings.cs b/TBF/LocalSettings.cs index c3563fae1..81743eea1 100644 --- a/TBF/LocalSettings.cs +++ b/TBF/LocalSettings.cs @@ -254,7 +254,7 @@ namespace TBF public string[] RemarkHistory; [XmlIgnore] public int RemarksHistoryCount { get { return (RemarkHistory != null) ? RemarkHistory.Length : 0; } } - + /// Tester history public string[] TesterHistory; [XmlIgnore] @@ -293,6 +293,12 @@ namespace TBF /// Backup values of Q2 pre-corrections from REST services (point.X = LR, point.Y = RL) public TracingDB.SerializableDictionary Q2PreCorrections; + /// Production tracing + public string LastWorkflow; + public string LastWStep; + public TracingDB.SerializableDictionary LastData; + + [XmlArrayAttribute("RsltsClmnWidths")] public int[] RsltsClmnWidths; [XmlIgnore] diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs index fe76ab415..15bb3176d 100644 --- a/TBF/Properties/AssemblyInfo.cs +++ b/TBF/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("2.26.1588.0")] -[assembly: AssemblyFileVersion("2.26.1588.0")] +[assembly: AssemblyVersion("2.26.1592.0")] +[assembly: AssemblyFileVersion("2.26.1592.0")] diff --git a/TBF/TBF.csproj b/TBF/TBF.csproj index bcd3f9371..7a14c22b0 100644 --- a/TBF/TBF.csproj +++ b/TBF/TBF.csproj @@ -374,6 +374,7 @@ FormForMechanicalMetersWithTracing.cs + Form diff --git a/TracingDB/DB.cs b/TracingDB/DB.cs index 97886642c..fe02ef979 100644 --- a/TracingDB/DB.cs +++ b/TracingDB/DB.cs @@ -21,9 +21,11 @@ namespace TracingDB public static ISession Session; - /// Connection string for all sessions - static string connectionString; - /// + + /// + /// Connection string for all sessions + /// + private static string connectionString; public static string ConnectionString { get { return connectionString; } @@ -166,20 +168,20 @@ namespace TracingDB /// - /// Get process of the last record with the reference part code equal to 'pcbNumber' + /// Get process of the last good record with the reference part code equal to 'serialNumber' /// /// DB session - /// PCB number (code) - /// Process - public static Process GetProcess(ISession session, string pcbNumber) + /// Serial number + /// Workflow of the specified part + public static Process GetWorkflow(ISession session, string serialNumber) { - if (string.IsNullOrEmpty(pcbNumber)) return null; + if (string.IsNullOrEmpty(serialNumber)) return null; try { /// Read all already existing reference records with Code==pcbNumber, referenceRecords[0] will be the most recent one var referenceRecords = session.QueryOver() - .Where(rr => (rr.Code == pcbNumber && rr.Result == 0)) + .Where(rr => ((rr.Code == serialNumber) && (rr.Result == 0))) .OrderBy(rr => rr.TimeStamp).Desc .List(); @@ -234,13 +236,11 @@ namespace TracingDB workflowDict.Add(wf.Id, wf); workflowStepsDict.Add(wf.Id, steps); - Workstep step; - bool verifyRefPart; - Part verifiedPart; - if (steps.Count == 1 && TracingDB.DB.AnalyzeProcess(session, wf, steps[0], out step, out verifyRefPart, out verifiedPart)) + ScanVerificationInfo info; + if ((steps.Count == 1) && ((info = TracingDB.DB.AnalyzeProcess(session, wf, steps[0])) != null)) { - verifInfos.Add(wf.Id, new ScanVerificationInfo(step, verifyRefPart, verifiedPart)); - log.WarnFormat("Workflow {0} :: Verified step={1} part={2} verify ref. part={3}", wf, step, verifiedPart, verifyRefPart); + verifInfos.Add(wf.Id, info); + log.WarnFormat("Workflow {0} :: Verified step={1} part={2} verify ref. part={3}", wf, info.Workstep, info.Part, info.VerifyReferencePart); } } @@ -257,23 +257,17 @@ namespace TracingDB /// Process to be analyzed /// Workstep to be analyzed /// true if there is a verified workstep and part - public static bool AnalyzeProcess(ISession dbSession, Process process, Workstep workstep, out Workstep verifiedWorkstep, out bool verifyReferencePart, out Part verifiedPart) + public static ScanVerificationInfo AnalyzeProcess(ISession dbSession, Process process, Workstep workstep) { - verifiedWorkstep = null; /// Disable any verification - verifyReferencePart = true; - verifiedPart = null; - - if (process == null || workstep == null) return false; - try { - if (workstep.ReferencePart != null) + if (workstep != null && workstep.ReferencePart != null) { IList worksteps = dbSession.QueryOver() .Where(x => (x.Process == process)) .Where(x => (x.WorkstepNr < workstep.WorkstepNr)) .OrderBy(x => x.WorkstepNr).Asc - .List(); + .List(); for (int i = worksteps.Count - 1; i >= 0; i--) { @@ -281,21 +275,16 @@ namespace TracingDB { if (worksteps[i].ReferencePart.Id == workstep.ReferencePart.Id) { - /// Enable checking reference part - verifiedWorkstep = worksteps[i]; - verifiedPart = workstep.ReferencePart; - verifyReferencePart = true; - return true; + /// Compare reference part of the current workstep and reference part of another workstep + return new ScanVerificationInfo(worksteps[i], true, workstep.ReferencePart); } foreach (var thisStepPart in workstep.Parts) { if (worksteps[i].ReferencePart.Id == thisStepPart.Id) { - verifiedWorkstep = worksteps[i]; - verifiedPart = worksteps[i].ReferencePart; - verifyReferencePart = true; - return true; + /// Compare (non-reference) part of the current workstep and reference part of another workstep + return new ScanVerificationInfo(worksteps[i], true, worksteps[i].ReferencePart); } } } @@ -305,28 +294,19 @@ namespace TracingDB bool isUnique = (part.CodeLocation == CodeLocation.OnPart) && ((part.CodeType == CodeType.UniqueNr) || (part.CodeType == CodeType.FlowtubeNr) || (part.CodeType == CodeType.FlowtubeNrLU)); - if (isUnique) { if (part.Id == workstep.ReferencePart.Id) { /// Enable checking reference part - verifiedWorkstep = worksteps[i]; - verifiedPart = part; - verifyReferencePart = false; - log.ErrorFormat("AnalyzeProcess(session , {0}, {1}) returned 'true' : verWorkstep = {2}, verPart = {3}, verRefPart = {4}", - process.Name, workstep.Name); - return true; + return new ScanVerificationInfo(worksteps[i], false, part); /// !!!!!!!!!!!!!!!!!! } foreach (var thisStepPart in workstep.Parts) { if (part.Id == thisStepPart.Id) { - verifiedWorkstep = worksteps[i]; - verifiedPart = part; - verifyReferencePart = false; - return true; + return new ScanVerificationInfo(worksteps[i], false, part); } } } @@ -334,13 +314,15 @@ namespace TracingDB } } - log.ErrorFormat("AnalyzeProcess(session , {0}, {1}) returned 'false'", process.Name, workstep.Name); - return false; + log.ErrorFormat("AnalyzeProcess(session , {0}, {1}) no ver. info found, returning 'null'", + (process != null) ? process.Name : "null", + (workstep != null) ? workstep.Name : "null"); + return null; } catch (Exception exc) { log.ErrorFormat("AnalyzeProcess(session , {0}, {1}) failed : {2}", process.Name, workstep.Name, exc.Message); - return false; + return null; } } diff --git a/TracingDB/Properties/AssemblyInfo.cs b/TracingDB/Properties/AssemblyInfo.cs index c441011a9..50be6f762 100644 --- a/TracingDB/Properties/AssemblyInfo.cs +++ b/TracingDB/Properties/AssemblyInfo.cs @@ -1,16 +1,17 @@ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +using System.Resources; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("Common")] +[assembly: AssemblyTitle("Production Monitoring")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Common")] -[assembly: AssemblyCopyright("Copyright © 2015-2018 Sensus Slovensko, a.s.")] +[assembly: AssemblyCopyright("Copyright © 2015-2021 Sensus Slovensko, a.s.")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -34,3 +35,4 @@ using System.Runtime.InteropServices; // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("2.1.110.0")] [assembly: AssemblyFileVersion("2.1.110.0")] +[assembly: NeutralResourcesLanguageAttribute("")]