diff --git a/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.cs b/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.cs new file mode 100644 index 000000000..ef72abc8d --- /dev/null +++ b/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.cs @@ -0,0 +1,290 @@ +/// +/// Copyright (c) 2015-2023 Sensus Slovensko a.s. +/// +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; +using log4net; +using Common; +using TBF.Rig.Sequences; +using TBF.Rig.Output.DB.SensusOracle; +using TBF.Resources; +using System.Drawing; +using NHibernate; + +namespace TBF.Rig.DataEntry.PoseidonCmd +{ + public partial class CycleBeginningForm : Form, GenericDevices.IHasCompleted + { + private static readonly ILog log = LogManager.GetLogger(typeof(CycleBeginningForm)); + + /// Number of water meters + public readonly int WaterMetersCount; + readonly EntryFormCfg cfg; + + /// Loaded from database beforethe form is open + IList listOfOrders; + string preselectedOrder; + + /// To be retrieved after the form is closed + public string PurchaseOrder; + public string[] SNText; + public bool[] Disabled; + + /// Set to 'true' when the form closes + public bool Completed { get { return completed; } } + bool completed; + + + /// Parameterless constructor for common functionality + public CycleBeginningForm() + { + InitializeComponent(); + ControlBox = false; + preselectedOrder = null; + + completed = false; + StartForceCloseHandler(); + } + + + /// + /// Constructor + /// + /// Number of text boxes for serial numbers + public CycleBeginningForm(int waterMetersCount, EntryFormCfg cfg, string preselectedOrder = null) + : this() + { + this.WaterMetersCount = waterMetersCount; + this.cfg = cfg; + this.preselectedOrder = preselectedOrder; + SNText = null; + Disabled = null; + } + + + private void CycleBeginningForm_Load(object sender, EventArgs e) + { + Text = Strings.Data; + orderGroupBox.Text = Strings.Purchase_order; + okButton.Text = Strings.OkBtnText; + + listOfOrders = new List(); + + if ((cfg.Orders == Orders.FromOracle || cfg.Orders == Orders.CombinedAndFromOracle) + && ProcessData.OracleDB != null) + { + foreach (var o in ProcessData.OracleDB.ReadOrders()) + { + listOfOrders.Add(o); + } + } + + if ((cfg.Orders == Orders.FromTracingDB || cfg.Orders == Orders.CombinedAndFromTracingDB) + && ProcessData.TracingDB != null + && ProcessData.TracingDB.DebugLevel == DebugMode.Normal) + { + foreach (var o in ProcessData.TracingDB.ReadOrders()) + { + listOfOrders.Add(o); + } + } + + string insertFirst = null; + if (!string.IsNullOrEmpty(preselectedOrder)) + { + insertFirst = preselectedOrder; + } + else + { + if (Program.LocalSettings.PurchaseOrderHistoryCount > 0) + { + foreach (var o in listOfOrders) + { + if (o.POName == Program.LocalSettings.PurchaseOrderHistory[0]) + { + insertFirst = o.POName; + break; + } + } + } + } + + switch (cfg.Orders) + { + case Orders.Arbitrary: + PrepareOrderCombo(orderComboBox); + break; + + case Orders.FromOracle: + case Orders.FromTracingDB: + if (insertFirst != null) + { + orderComboBox.Items.Add(insertFirst); + orderComboBox.Text = insertFirst; + } + + foreach (var o in listOfOrders) + if (o.POName != insertFirst) + orderComboBox.Items.Add(o.POName); + break; + + case Orders.CombinedAndFromOracle: + case Orders.CombinedAndFromTracingDB: + if (insertFirst != null) + { + orderComboBox.Items.Add(insertFirst); + orderComboBox.Text = insertFirst; + } + orderComboBox.Items.Add("BBAAMMXX"); + orderComboBox.Items.Add("BBAAOMXX"); + orderComboBox.Items.Add("BBAAQMXX"); + orderComboBox.Items.Add("BBAATMFR"); + orderComboBox.Items.Add("BBAATMXX"); + orderComboBox.Items.Add("CCAAMMXX"); + orderComboBox.Items.Add("CCAAOMXX"); + orderComboBox.Items.Add("CCAAQMXX"); + orderComboBox.Items.Add("CCAATMFR"); + orderComboBox.Items.Add("CCAATMXX"); + orderComboBox.Items.Add("DDAAMMXX"); + orderComboBox.Items.Add("DDAAOMXX"); + orderComboBox.Items.Add("DDAAQMXX"); + orderComboBox.Items.Add("DDAATMXX"); + orderComboBox.Items.Add("DEAAMMXX"); + orderComboBox.Items.Add("DEAAOMXX"); + orderComboBox.Items.Add("DEAAQMXX"); + orderComboBox.Items.Add("DEAATMXX"); + orderComboBox.Items.Add("EEAAMMXX"); + orderComboBox.Items.Add("EEAAOMXX"); + orderComboBox.Items.Add("EEAAQMXX"); + orderComboBox.Items.Add("EEAATMFR"); + orderComboBox.Items.Add("EEAATMXX"); + orderComboBox.Items.Add("FFAAMMXX"); + orderComboBox.Items.Add("FFAAOMXX"); + orderComboBox.Items.Add("FFAAQMXX"); + orderComboBox.Items.Add("FFAATMFR"); + orderComboBox.Items.Add("FFAATMXX"); + orderComboBox.Items.Add("GFAAMMXX"); + orderComboBox.Items.Add("GFAAOMXX"); + orderComboBox.Items.Add("GFAAQMXX"); + orderComboBox.Items.Add("GFAATMXX"); + + foreach (var o in listOfOrders) + if (o.POName != insertFirst) + orderComboBox.Items.Add(o.POName); + break; + } + + /// + /// Draw an appropriate test bench picture + /// + Side side = (TBF.Rig.Sequences.ProcessData.BenchInfo is DataContainer.iPerlBenchInfo.Component) + ? (TBF.Rig.Sequences.ProcessData.BenchInfo as DataContainer.iPerlBenchInfo.Component).Side + : Side.Left; + if ((cfg.Direction == Direction.Reversed_LR) && (side == Side.Left)) + { + /// direction L->R (reversed), left side + pictureBox.Image = Image.FromFile(string.Format("{0}\\Pictures\\reversed_dir_left.jpg", Program.ExecutableDir, true)); + } + else if ((cfg.Direction == Direction.Reversed_LR) && (side == Side.Right)) + { + /// direction L->R (reversed), right side + pictureBox.Image = Image.FromFile(string.Format("{0}\\Pictures\\reversed_dir_right.jpg", Program.ExecutableDir, true)); + } + else if (side == Side.Right) + { + /// direction R->L (forward), right side + pictureBox.Image = Image.FromFile(string.Format("{0}\\Pictures\\forward_dir_right.jpg", Program.ExecutableDir, true)); + } + else + { + /// direction R->L (forward), left side + pictureBox.Image = Image.FromFile(string.Format("{0}\\Pictures\\forward_dir_left.jpg", Program.ExecutableDir, true)); + } + } + + /// + /// Load Purchase order combo box items from the LocalSettings PurchaseOrderHistory array + /// + /// Puchase order ComboBox + void PrepareOrderCombo(ComboBox orderComboBox) + { + for (int i = 0; i < Program.LocalSettings.PurchaseOrderHistoryCount; i++) + { + orderComboBox.Items.Add(Program.LocalSettings.PurchaseOrderHistory[i]); + } + + if (orderComboBox.Items.Count > 0) + { + orderComboBox.Text = orderComboBox.Items[0].ToString(); + } + } + + private void okButton_Click(object sender, EventArgs e) + { + if (orderComboBox.Text.Length > 8 || + (cfg.Orders != Orders.Arbitrary && !orderComboBox.Items.Contains(orderComboBox.Text))) + { + MessageBox.Show(Strings.Invalid_order_number, Strings.Error, MessageBoxButtons.OK, + MessageBoxIcon.Exclamation); + return; + } + + IOrderInfo oInfo = (listOfOrders == null) ? null : listOfOrders.FirstOrDefault(x => x.POName == orderComboBox.Text); + /// + if (oInfo is Output.DB.SensusOracle.OrderDetails) + { + ProcessData.OrderInfo = oInfo; + } + else if (oInfo is SharedDatabase.Entities.OrderInfo && ProcessData.TracingDB != null) + { + try + { + using (var session = ProcessData.TracingDB.SessionFactory.OpenSession()) + { + var list = session.QueryOver() + .Where(x => (x.POName == Program.MainWnd.SelectedProcedure.OrderInfo.POName)) + .List(); + ProcessData.OrderInfo = (list.Count == 1) ? list[0] : null; + string workflow = (list.Count == 1) ? list[0].Workflow : null; + ProcessData.WorkflowSummary = SharedDatabase.WorkflowSummary.ReadFromDB(workflow, "test", session); + session.Close(); + } + } + catch (Exception ex) + { + log.ErrorFormat("Unable to load an order, workflow or workstep: {0}", ex); + ProcessData.OrderInfo = null; + ProcessData.WorkflowSummary = null; + } + } + + PurchaseOrder = orderComboBox.Text; + Program.LocalSettings.UpdateHistory(orderComboBox.Text, ref Program.LocalSettings.PurchaseOrderHistory); + + completed = true; + Close(); + } + + + #region Forced close handling + + public void StartForceCloseHandler() + { + UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args) + { + if (InvokeRequired) { Invoke(new EventHandler(OnForceClose), sender, args); } + else OnForceClose(sender, args); + }; + } + + private void OnForceClose(object sender, EventArgs args) + { + DialogResult = DialogResult.Cancel; + Close(); + } + + #endregion + } +} diff --git a/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.designer.cs b/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.designer.cs new file mode 100644 index 000000000..f6237e75e --- /dev/null +++ b/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.designer.cs @@ -0,0 +1,97 @@ +/// +/// Copyright (c) 2015 Sensus Metering Systems +/// +namespace TBF.Rig.DataEntry.PoseidonCmd +{ + partial class CycleBeginningForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CycleBeginningForm)); + this.okButton = new System.Windows.Forms.Button(); + this.orderGroupBox = new System.Windows.Forms.GroupBox(); + this.orderComboBox = new System.Windows.Forms.ComboBox(); + this.pictureBox = new System.Windows.Forms.PictureBox(); + this.orderGroupBox.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit(); + this.SuspendLayout(); + // + // okButton + // + resources.ApplyResources(this.okButton, "okButton"); + this.okButton.ForeColor = System.Drawing.Color.Black; + this.okButton.Name = "okButton"; + this.okButton.UseVisualStyleBackColor = true; + this.okButton.Click += new System.EventHandler(this.okButton_Click); + // + // orderGroupBox + // + this.orderGroupBox.Controls.Add(this.orderComboBox); + resources.ApplyResources(this.orderGroupBox, "orderGroupBox"); + this.orderGroupBox.ForeColor = System.Drawing.Color.Black; + this.orderGroupBox.Name = "orderGroupBox"; + this.orderGroupBox.TabStop = false; + // + // orderComboBox + // + this.orderComboBox.FormattingEnabled = true; + resources.ApplyResources(this.orderComboBox, "orderComboBox"); + this.orderComboBox.Name = "orderComboBox"; + // + // pictureBox + // + resources.ApplyResources(this.pictureBox, "pictureBox"); + this.pictureBox.Name = "pictureBox"; + this.pictureBox.TabStop = false; + // + // CycleBeginningForm + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.DarkGray; + this.Controls.Add(this.pictureBox); + 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 = "CycleBeginningForm"; + this.TopMost = true; + this.Load += new System.EventHandler(this.CycleBeginningForm_Load); + this.orderGroupBox.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button okButton; + private System.Windows.Forms.GroupBox orderGroupBox; + private System.Windows.Forms.ComboBox orderComboBox; + private System.Windows.Forms.PictureBox pictureBox; + } +} \ No newline at end of file diff --git a/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.resx b/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.resx new file mode 100644 index 000000000..5e7e06de5 --- /dev/null +++ b/TBF/Rig/DataEntry/PoseidonCmd/CycleBeginningForm.resx @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Verdana, 14.25pt + + + 627, 26 + + + 112, 63 + + + + 7 + + + OK + + + okButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + 90, 32 + + + 432, 31 + + + 0 + + + orderComboBox + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + orderGroupBox + + + 0 + + + Verdana, 14.25pt + + + 28, 12 + + + 565, 82 + + + 0 + + + Order + + + orderGroupBox + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 28, 118 + + + 711, 497 + + + 8 + + + pictureBox + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 6, 13 + + + True + + + 769, 639 + + + Batch data + + + CycleBeginningForm + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/TBF/Rig/DataEntry/PoseidonCmd/EntryForm.cs b/TBF/Rig/DataEntry/PoseidonCmd/EntryForm.cs new file mode 100644 index 000000000..a45d5b77e --- /dev/null +++ b/TBF/Rig/DataEntry/PoseidonCmd/EntryForm.cs @@ -0,0 +1,353 @@ +/// +/// Copyright (c) 2015-2021 Sensus Metering Systems +/// +using System; +using System.Collections.Generic; +using log4net; +using Config.Entities; +using NHibernate.Util; +using TBF.Rig; +using TBF.Rig.GenericDevices; +using TBF.Rig.RegisterReaders.PoseidonCmdStartStop; +using TBF.Rig.Sequences; + +namespace TBF.Rig.DataEntry.PoseidonCmd +{ + public class EntryForm : ComponentBase, IOperation, IDataEntry, IHasCycleBeginForm, IHasWMStatesForm, IHasFromUNIDisablePossibility + { + private static readonly ILog log = LogManager.GetLogger(typeof(EntryForm)); + public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); } + + public bool UsesCameras() { return false; } + + readonly EntryFormCfg entryFormCfg; + IRegReader[] regReaders; + + /// + /// Properties set by the Begin, End and WMStates form + /// + bool[] disabled; /// This array is shared between forms + + string[] wmCycleEndState; + public string WMCycleEndState(int wmNr) { return (wmNr >= 0 && wmNr < wmCycleEndState.Length) ? wmCycleEndState[wmNr] : string.Empty; } + + double[] wmStartState; + public double WMStartState(int wmNr) { return (wmNr >= 0 && wmNr < wmStartState.Length) ? wmStartState[wmNr] : 0; } + + double[] wmEndState; + public double WMEndState(int wmNr) { return (wmNr >= 0 && wmNr < wmEndState.Length) ? wmEndState[wmNr] : 0; } + + string[] wmStartStateStr; + + + System.Windows.Forms.Form modelessDlg; + public bool Completed { get { return (modelessDlg is IHasCompleted) ? (modelessDlg as IHasCompleted).Completed : true; } } + + double refVolume; + double errLimLo; + double errLimHi; + + bool resultSaved; /// Set in Run() when results are saved + + IList waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[] + + public enum CurrentOp + { + None, + SendStartDataStream, + ReadDatastream_StartStates, + ReadDatastream_EndStates, + } + + CurrentOp currentOp; + + + public EntryForm() { } + + public EntryForm(Generic.IComponentCfg cfg) + : base(cfg) + { + entryFormCfg = cfg as EntryFormCfg; + } + + public override void Initialize() + { + disabled = new bool[TBF.Data.WMsCount]; + wmStartState = new double[TBF.Data.WMsCount]; + wmStartStateStr = new string[TBF.Data.WMsCount]; + wmEndState = new double[TBF.Data.WMsCount]; + wmCycleEndState = new string[TBF.Data.WMsCount]; + currentOp = CurrentOp.None; + log.FatalFormat("{0} initialized: {1}", Name, this); + } + + + /// Reference to the operation + public IOperation ShowCycleBeginFormOp() + { + if (currentOp != CurrentOp.None) throw new Exception("Sequence error"); + currentOp = CurrentOp.SendStartDataStream; + this.waterMeters = ProcessData.BatchRslts.Batch.WaterMeters; + return this; + } + + /// Reference to the operation + public IOperation ShowTestStartFormOp(IRegReader[] regReaders) + { + if (!( + currentOp == CurrentOp.None + || currentOp == CurrentOp.SendStartDataStream) + ) throw new Exception("Sequence error"); + currentOp = CurrentOp.ReadDatastream_StartStates; + //TODO BUMI apply show data in dialog if config required + //entryFormCfg.Direction = Direction.S640; + //currentOp = CurrentOp.EnterTestStartStates; + this.regReaders = regReaders; + return this; + } + + /// null (not implemented) + public IOperation ShowAdvancedTestStartFormOp(IRegReader[] regReaders, IList waterMeters, bool isCondOp) { return null; } + public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi) { return null; } + + /// Reference to the operation + public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi) + { + if (!(currentOp == CurrentOp.None) ) + throw new Exception("Sequence error"); + currentOp = CurrentOp.ReadDatastream_EndStates; + this.regReaders = regReaders; + this.refVolume = refVolume; + this.errLimLo = errLimLo; + this.errLimHi = errLimHi; + return this; + } + + delegate void EntryFormDlgt(EntryForm myRef); + /// + void OpenBeginningDlg(EntryForm myRef) + { + if (!ShowForm) + return; + myRef.modelessDlg = new CycleBeginningForm(TBF.Data.WMsCount, myRef.entryFormCfg, + ProcessData.SelectedProcedure.OrderInfo != null ? ProcessData.SelectedProcedure.OrderInfo.POName : string.Empty); + modelessDlg.Show(); + } + /// + void OpenTestStartStatesDlg(EntryForm myRef) + { + if (!ShowForm) + return; + myRef.modelessDlg = new TestStartEndForm(myRef.waterMeters.Count, myRef.regReaders, disabled); + modelessDlg.Show(); + } + /// + void OpenTestEndStatesDlg(EntryForm myRef) + { + if (!ShowForm) + return; + myRef.modelessDlg = new TestStartEndForm(TBF.Data.WMsCount, myRef.regReaders, wmStartStateStr, disabled, refVolume, errLimLo, errLimHi); + modelessDlg.Show(); + } + + /// Start this operation + public void Start() + { + if (!ShowForm) + return ; + + resultSaved = false; + switch (currentOp) + { + case CurrentOp.SendStartDataStream: + ReadAndSetDataToMeters(); + if (ProcessData.SelectedProcedure.OrderInfo == null || entryFormCfg.Direction != Direction.S640) + { + Program.MainWnd.Invoke(new EntryFormDlgt(OpenBeginningDlg), this); + } + else + { + /// Only in case of 640 meters and an order information entered during the procedure selection + /// this DataEntry form at the beginning of the cycle is skipped + modelessDlg = null; + } + break; + case CurrentOp.ReadDatastream_StartStates: + Program.MainWnd.Invoke(new EntryFormDlgt(OpenTestStartStatesDlg), this); + break; + case CurrentOp.ReadDatastream_EndStates: + Program.MainWnd.Invoke(new EntryFormDlgt(OpenTestEndStatesDlg), this); + break; + } + } + + /// Run this operation + /// Event.ResultsPrinted + public Event Run() + { + ReadAndSetDataToMeters(); + + if (!ShowForm) + return Event.ModelessFormClosed; + + if (ProcessData.SelectedProcedure.OrderInfo != null && entryFormCfg.Direction == Direction.S640) + { + for (int i = 0; i < waterMeters.Count; i++) + { + if (waterMeters[i] != null) + waterMeters[i].PurchaseOrder = ProcessData.SelectedProcedure.OrderInfo.POName; + } + return Event.ModelessFormClosed; + } + + if ((modelessDlg is IHasCompleted) && !(modelessDlg as IHasCompleted).Completed) + { + return Event.ModelessFormIsOpen; + } + + if (!resultSaved) /// This is to save the result only once + { + if (currentOp == CurrentOp.SendStartDataStream) + { + CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm); + if (dlg != null) + { + for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++) + { + if (waterMeters[i] != null) + { + if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder; + } + } + } + } + else if (modelessDlg is TestStartEndForm && currentOp == CurrentOp.ReadDatastream_StartStates) + { + /// Fixed start test - start + TestStartEndForm dlg = (modelessDlg as TestStartEndForm); + if (dlg != null) + { + for (int i = 0; i < dlg.WaterMetersCount; i++) + { + wmStartState[i] = dlg.WMStartState[i]; + wmStartStateStr[i] = dlg.WMStartStateStr[i]; + } + } + } + else if (modelessDlg is TestStartEndForm && currentOp == CurrentOp.ReadDatastream_EndStates) + { + /// Fixed start test - end + TestStartEndForm dlg = (modelessDlg as TestStartEndForm); + if (dlg != null) + { + for (int i = 0; i < dlg.WaterMetersCount; i++) + { + wmEndState[i] = dlg.WMEndState[i]; + } + } + } + resultSaved = true; + modelessDlg = null; + } + + return Event.ModelessFormClosed; /// Form closed + } + + /// Stop this operation + public void Stop() + { + if (modelessDlg is IHasCompleted) + { + UiBridge.Bridge.OnCloseModelessForm(this, null); + modelessDlg = null; + } + currentOp = CurrentOp.None; + } + + public bool ShowForm { get; set; } + public bool ReadAndSetDataToMeters() + { + bool bOperationSuccess = false; + if (currentOp == CurrentOp.SendStartDataStream) + { + bool finishedReading = regReaders == null; // we can work only with register readers + while (!finishedReading) + { + bool bAllReadersFinished = true; + foreach (var iRegReader in regReaders ) + { + if (iRegReader is PoseidonReader) + { + PoseidonReader poseidonReader = (iRegReader as PoseidonReader); + if (poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.SendStartDataStream_Done + || poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.SendStartDataStream_Runing) + { + poseidonReader.SetCurrentOp(PoseidonReader.CurrentPoseidonOp.SendStartDataStream); + } + /// Send start data stream + poseidonReader.Run(); + if (!(poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.Done + || poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.Error)) + { + bAllReadersFinished = false; + } + } + } + /// Wait for all readers to finish + if (bAllReadersFinished) + { + finishedReading = true; + } + else + { + System.Threading.Thread.Sleep(100); + } + } + + bOperationSuccess = true; + } + else if ((currentOp == CurrentOp.ReadDatastream_StartStates) + || (currentOp == CurrentOp.ReadDatastream_EndStates)) + { + bool finishedReading = regReaders == null; // we can work only with register readers + while (!finishedReading) + { + bool bAllReadersFinished = true; + foreach (var iRegReader in regReaders ) + { + if (iRegReader is PoseidonReader) + { + PoseidonReader poseidonReader = (iRegReader as PoseidonReader); + if (!(poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.ReadDatastream_Done + || poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.ReadDatastream_Running)) + { + poseidonReader.SetCurrentOp((currentOp == CurrentOp.ReadDatastream_StartStates)? + PoseidonReader.CurrentPoseidonOp.ReadDataStream_Start : + PoseidonReader.CurrentPoseidonOp.ReadDataStream_End); + } + /// Send start data stream + poseidonReader.Run(); + if (!(poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.Done + || poseidonReader.CurrentOp == PoseidonReader.CurrentPoseidonOp.Error)) + { + bAllReadersFinished = false; + } + } + } + if (bAllReadersFinished) + { + finishedReading = true; + } + else + { + System.Threading.Thread.Sleep(100); + } + } + + bOperationSuccess = true; + } + + return bOperationSuccess; + } + } +} diff --git a/TBF/Rig/DataEntry/PoseidonCmd/EntryFormCfg.cs b/TBF/Rig/DataEntry/PoseidonCmd/EntryFormCfg.cs new file mode 100644 index 000000000..0e7c91a1b --- /dev/null +++ b/TBF/Rig/DataEntry/PoseidonCmd/EntryFormCfg.cs @@ -0,0 +1,191 @@ +/// +/// Copyright (c) 2015-2021 Sensus Slovensko a.s. +/// +using System; +using System.Collections.Generic; +using System.Xml.Serialization; +using Common; +using Config.Entities; +using TBF.Resources; +using TBF.Rig.Generic; + +namespace TBF.Rig.DataEntry.PoseidonCmd +{ + public enum Direction + { +#if LANG_SK + [Description("iPERL normálne (R-L)")] Forward_RL, + [Description("iPERL opačne (L-R)")] Reversed_LR, + [Description("640")] S640, +#elif LANG_DE + [Description("iPERL Forward (R-L)")] Forward_RL, + [Description("iPERL Reversed (L-R)")] Reversed_LR, + [Description("640")] S640, +#else + [Description("iPERL Forward (R-L)")] Forward_RL, + [Description("iPERL Reversed (L-R)")] Reversed_LR, + [Description("640")] S640, +#endif + Count, + } + + public enum Orders + { +#if LANG_SK + [Description("Ľubovolné")] Arbitrary, + [Description("Z Oracle databázy")] FromOracle, + [Description("Zo sledovacej databázy")] FromTracingDB, + [Description("Združené a z Oracle")] CombinedAndFromOracle, + [Description("Združené a zo sledovacej databázy")] CombinedAndFromTracingDB, +#elif LANG_CZ + [Description("Libovolné")] Arbitrary, + [Description("Z Oracle databáze")] FromOracle, + [Description("Ze sledovací databáze")] FromTracingDB, + [Description("Sdružené a z Oracle")] CombinedAndFromOracle, + [Description("Sdružené a ze sledovací databáze")] CombinedAndFromTracingDB, +#else + [Description("Arbitrary")] Arbitrary, + [Description("From Oracle")] FromOracle, + [Description("From Tracing DB")] FromTracingDB, + [Description("Combined and from Oracle")] CombinedAndFromOracle, + [Description("Combined and from Tracing DB")] CombinedAndFromTracingDB, +#endif + Count, + } + + public class EntryFormCfg : ComponentCfgBase, IComponentCfg, IParamsProvider + { + public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0]; + public override XmlSerializer GetSerializer() { return Serializer; } + + public IComponentCfgCtrl GetControl(IList cmpntEntities) + { + return new Configs.ParamsProvider.ComponentCfgCtrl(this, null); + } + + /// + /// Serialized parameters + /// + public Direction Direction; + public Orders Orders; + + /// Private parameterless constructor invoked by all other (public) constructors + EntryFormCfg() { } + + public EntryFormCfg(string name, IComponentFactory factory) + : this() + { + Name = name; + Factory = factory; + ParentName = string.Empty; + InitializeAll(); + } + + public string ComponentName { get { return Name; } } + + public void InitializeAll() + { + Direction = Direction.Forward_RL; + Orders = Orders.Arbitrary; + } + + string[] paramNames = new string[] + { + Strings.Direction, + Strings.Orders, + }; + public string ParamName(int i) { return paramNames[i]; } + public int ParamsCount() { return paramNames.Length; } + + public ICollection ParamValues(int i) + { + var list = new List(); + switch (i) + { + case 0: + for (Direction d = 0; d < Direction.Count; d++) list.Add(d.ToDescription()); + return list; + case 1: + for (Orders o = 0; o < Orders.Count; o++) list.Add(o.ToDescription()); + return list; + default: + return null; + } + } + + + public string ToString(int i) + { + switch (i) + { + case 0: return Direction.ToDescription(); + case 1: return Orders.ToDescription(); + default: + return string.Format("Name={0}, Direction={1}, Orders={2}", Name, Direction, Orders); + } + } + + public CfgUpdateFlags UpdateParam(int i, string str) + { + switch (i) + { + case 0: + for (Direction d = 0; d < Direction.Count; d++) + if (d.ToDescription() == str) + { + Direction = d; + return CfgUpdateFlags.RestartRqrd; + } + break; + + case 1: + for (Orders o = 0; o < Orders.Count; o++) + if (o.ToDescription() == str) + { + Orders = o; + return CfgUpdateFlags.RestartRqrd; + } + break; + } + + return CfgUpdateFlags.None; + } + + public bool ValidateParam(int i, string str, out string message) + { + message = string.Empty; + + switch (i) + { + case 0: + case 1: + if (ParamValues(i).Contains(str)) return true; + break; + default: + message = "Invalid index"; + return false; + } + + message = ParamName(i) + " is invalid"; + return false; + } + + void CopyContentTo(EntryFormCfg prms) + { + prms.Direction = this.Direction; + prms.Orders = this.Orders; + } + + public IParamsProvider Clone() + { + EntryFormCfg pars = new EntryFormCfg(); + CopyContentTo(pars); + return pars; + } + + public bool UpdateEmbeddedDbEntity() + { + return true; /// =OK, do nothing + } + } +} diff --git a/TBF/Rig/DataEntry/PoseidonCmd/Factory.cs b/TBF/Rig/DataEntry/PoseidonCmd/Factory.cs new file mode 100644 index 000000000..c538f6172 --- /dev/null +++ b/TBF/Rig/DataEntry/PoseidonCmd/Factory.cs @@ -0,0 +1,25 @@ +/// +/// Copyright (c) 2015-2021 Sensus Slovensko a.s. +/// +using System.Collections.Generic; +using TBF.Rig.Generic; + +namespace TBF.Rig.DataEntry.PoseidonCmd +{ + public class Factory : IComponentFactory + { + public string ClassName { get { return GetType().Namespace.Substring(8); } } + public override string ToString() { return ClassName; } + + public IComponent DummyComponent() { return new EntryForm(); } + + public IComponent GetComponent(IComponentCfg cfg, IList components) { return new EntryForm(cfg); } + + public IComponentCfg DefaultConfig() { return new EntryFormCfg("DataEntry-PoseidonCmd", this); } + + public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component) + { + return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this); + } + } +} diff --git a/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.cs b/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.cs new file mode 100644 index 000000000..8e785d7d3 --- /dev/null +++ b/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.cs @@ -0,0 +1,478 @@ +/// +/// Copyright (c) 2015-2017 Sensus Metering Systems +/// +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using log4net; +using TBF.Rig.GenericDevices; +using TBF.Resources; + +namespace TBF.Rig.DataEntry.PoseidonCmd +{ + public partial class TestStartEndForm : Form, GenericDevices.IHasCompleted + { + private static readonly ILog log = LogManager.GetLogger(typeof(TestStartEndForm)); + + // Set to 'true' when the form closes + public bool Completed { get { return completed; } } + bool completed; + + /// Number of text boxes for serial numbers + public readonly int WaterMetersCount; + readonly IRegReader[] regReaders; + readonly bool[] disabled; + + // To be retrieved after the form closes + public double[] WMStartState; + + // To be retrieved after the form closes + public readonly string[] WMStartStateStr; + + // To be retrieved after the form closes + public double[] WMEndState; + + bool endStates; /// false=start states, true=end states + double refVolume; + double warningLimLo; /// limit to display exclamation mark, typically 2x errLimLo + double warningLimHi; /// limit to display exclamation mark, typically 2x errLimHi + + int TextBoxesCount; + /// + Label[] labels; + TextBox[] startTextBoxes; + TextBox[] endTextBoxes; + IList enabledTextBoxes; + + /// + /// Parameterless constructor initializing common part for start and endstate form + /// + public TestStartEndForm() + { + InitializeComponent(); + ControlBox = false; + + TextBoxesCount = 48; + + labels = new Label[] + { + label1, label2, label3, label4, label5, label6, label7, label8, label9, label10, + label11, label12, label13, label14, label15, label16, label17, label18, label19, label20, + label21, label22, label23, label24, label25, label26, label27, label28, label29, label30, + label31, label32, label33, label34, label35, label36, label37, label38, label39, label40, + label41, label42, label43, label44, label45, label46, label47, label48, + }; + startTextBoxes = new TextBox[] + { + startTextBox1, startTextBox2, startTextBox3, startTextBox4, startTextBox5, startTextBox6, startTextBox7, startTextBox8, startTextBox9, startTextBox10, + startTextBox11, startTextBox12, startTextBox13, startTextBox14, startTextBox15, startTextBox16, startTextBox17, startTextBox18, startTextBox19, startTextBox20, + startTextBox21, startTextBox22, startTextBox23, startTextBox24, startTextBox25, startTextBox26, startTextBox27, startTextBox28, startTextBox29, startTextBox30, + startTextBox31, startTextBox32, startTextBox33, startTextBox34, startTextBox35, startTextBox36, startTextBox37, startTextBox38, startTextBox39, startTextBox40, + startTextBox41, startTextBox42, startTextBox43, startTextBox44, startTextBox45, startTextBox46, startTextBox47, startTextBox48, + }; + endTextBoxes = new TextBox[] + { + endTextBox1, endTextBox2, endTextBox3, endTextBox4, endTextBox5, endTextBox6, endTextBox7, endTextBox8, endTextBox9, endTextBox10, + endTextBox11, endTextBox12, endTextBox13, endTextBox14, endTextBox15, endTextBox16, endTextBox17, endTextBox18, endTextBox19, endTextBox20, + endTextBox21, endTextBox22, endTextBox23, endTextBox24, endTextBox25, endTextBox26, endTextBox27, endTextBox28, endTextBox29, endTextBox30, + endTextBox31, endTextBox32, endTextBox33, endTextBox34, endTextBox35, endTextBox36, endTextBox37, endTextBox38, endTextBox39, endTextBox40, + endTextBox41, endTextBox42, endTextBox43, endTextBox44, endTextBox45, endTextBox46, endTextBox47, endTextBox48, + }; + enabledTextBoxes = new List(); + + completed = false; + StartForceCloseHandler(); + } + + /// + /// Constructor to fill in start states + /// + /// Number of water meters + /// Information from CycleBeginningForm about availability of water meters + public TestStartEndForm(int waterMetersCount, IRegReader[] regReaders, bool[] disabled) + : this() + { + endStates = false; + + this.WaterMetersCount = waterMetersCount; + this.regReaders = regReaders; + this.disabled = disabled; + + ShuffleTextBoxes(); + + WMStartState = new double[waterMetersCount]; + WMStartStateStr = new string[waterMetersCount]; + } + + /// + /// Constructor to fill in end states + /// + /// Number of water meters + /// Information entered on test start + /// Information from CycleBeginningForm about availability of water meters + /// Reference volume, it is used to verify the end state, show/hide exclamation if necessary + /// Error limit low, it is used to verify the end state, show/hide exclamation if necessary + /// Error limit high, it is used to verify the end state, show/hide exclamation if necessary + public TestStartEndForm(int waterMetersCount, IRegReader[] regReaders, string[] wmStartStateStr, bool[] disabled, + double refVolume, double errLimLo, double errLimHi) + : this() + { + endStates = true; + + this.WaterMetersCount = waterMetersCount; + this.regReaders = regReaders; + if (wmStartStateStr == null || wmStartStateStr.Length != waterMetersCount) + throw (new Exception("Invalid 'wmStartStateStr' argument")); + this.WMStartStateStr = wmStartStateStr; + this.disabled = disabled; + this.refVolume = refVolume; + this.warningLimLo = 2 * errLimLo; + this.warningLimHi = 2 * errLimHi; + + ShuffleTextBoxes(); + + WMEndState = new double[waterMetersCount]; + } + + /// + /// Make sure the layout of labels/text boxes on the screen + /// corresponds to the layout of watermeters of the test bench. + /// + void ShuffleTextBoxes() + { + if (TBF.Data.WMsCount < TextBoxesCount) + { + int nrLines = TBF.Data.WMsCount / TBF.Data.LineSize; + int gap = (TextBoxesCount - TBF.Data.WMsCount) / nrLines; + + int dest = 0; + for (int l = 0; l < nrLines; l++) + { + for (int i = 0; i < TBF.Data.LineSize; i++) + { + labels[dest] = labels[l * TBF.Data.LineSize + l * gap + i]; + startTextBoxes[dest] = startTextBoxes[l * TBF.Data.LineSize + l * gap + i]; + endTextBoxes[dest] = endTextBoxes[l * TBF.Data.LineSize + l * gap + i]; + dest++; + } + } + TextBoxesCount = TBF.Data.WMsCount; + } + } + + private void CycleEndForm_Load(object sender, EventArgs e) + { + Localize(); + + //Height = 115 + 90 * WaterMetersCount; + + for (int i = 0; i < TextBoxesCount; i++) + { + if (i < WaterMetersCount) + { + labels[i].Visible = startTextBoxes[i].Visible = endTextBoxes[i].Visible = true; + } + } + + if (endStates) + { + for (int i = 0; i < TextBoxesCount; i++) + { + if (WMStartStateStr != null && i < WMStartStateStr.Length) + { + startTextBoxes[i].Text = WMStartStateStr[i]; + } + + if (disabled != null && i < disabled.Length && disabled[i]) + { + endTextBoxes[i].Enabled = false; + } + else + { + endTextBoxes[i].Enabled = true; + enabledTextBoxes.Add(endTextBoxes[i]); + } + } + } + else + { + for (int i = 0; i < TextBoxesCount; i++) + { + if (disabled != null && i < disabled.Length && disabled[i]) + { + startTextBoxes[i].Enabled = false; + } + else + { + startTextBoxes[i].Enabled = true; + enabledTextBoxes.Add(startTextBoxes[i]); + } + } + } + } + + void Localize() + { + Text = Strings.Water_Meter_States; + for (int i = 0; i < TextBoxesCount; i++) + { + labels[i].Text = string.Format("{0} {1}", Strings.Water_Meter, i + 1); + } + startLabel.Text = start2Label.Text = Strings.Start; + endLabel.Text = end2Label.Text = Strings.End; + okButton.Text = Strings.OkBtnText; + } + + private void okButton_Click(object sender, EventArgs eArgs) + { + try + { + if (endStates) + { + for (int i = 0; i < Math.Min(WaterMetersCount, TextBoxesCount); i++) + { + if (endTextBoxes[i].Visible && endTextBoxes[i].Enabled) + { + WMEndState[i] = Utils.ParseUDouble(endTextBoxes[i].Text); + } + } + } + else + { + for (int i = 0; i < Math.Min(WaterMetersCount, TextBoxesCount); i++) + { + if (startTextBoxes[i].Visible && startTextBoxes[i].Enabled) + { + WMStartStateStr[i] = startTextBoxes[i].Text; + WMStartState[i] = Utils.ParseUDouble(startTextBoxes[i].Text); + } + } + } + } + catch(Exception e) + { + log.ErrorFormat("Exception: {0}", e.Message); + return; + } + + completed = true; + Close(); + } + + #region Forced close handling + + public void StartForceCloseHandler() + { + UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args) + { + if (InvokeRequired) { Invoke(new EventHandler(OnForceClose), sender, args); } + else OnForceClose(sender, args); + }; + } + + void OnForceClose(object sender, EventArgs args) + { + DialogResult = DialogResult.Cancel; + Close(); + } + + #endregion + + + /// + /// Calculate the approximate error and verify whether it is within limits. + /// Make an exclamation mark visible if out of range. + /// Similar event handler is implemented for all endTextBoxes (1..24). + /// + private void ProcTextChanged(object sender, EventArgs e, TextBox endStateTB, TextBox startStateTB, Label exclamation) + { + double err = 0; + try + { + double endState = Utils.ParseUDouble(endStateTB.Text); + double startState = Utils.ParseUDouble(startStateTB.Text); + err = 100.0 * (endState - startState - refVolume) / refVolume; + } + catch { err = 1000.0f; }; + exclamation.Visible = (err < warningLimLo) || (warningLimHi < err); + } + + private void endTextBox1_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox1, startTextBox1, exclamation1); } + private void endTextBox2_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox2, startTextBox2, exclamation2); } + private void endTextBox3_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox3, startTextBox3, exclamation3); } + private void endTextBox4_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox4, startTextBox4, exclamation4); } + private void endTextBox5_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox5, startTextBox5, exclamation5); } + private void endTextBox6_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox6, startTextBox6, exclamation6); } + private void endTextBox7_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox7, startTextBox7, exclamation7); } + private void endTextBox8_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox8, startTextBox8, exclamation8); } + private void endTextBox9_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox9, startTextBox9, exclamation9); } + private void endTextBox10_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox10, startTextBox10, exclamation10); } + private void endTextBox11_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox11, startTextBox11, exclamation11); } + private void endTextBox12_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox12, startTextBox12, exclamation12); } + private void endTextBox13_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox13, startTextBox13, exclamation13); } + private void endTextBox14_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox14, startTextBox14, exclamation14); } + private void endTextBox15_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox15, startTextBox15, exclamation15); } + private void endTextBox16_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox16, startTextBox16, exclamation16); } + private void endTextBox17_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox17, startTextBox17, exclamation17); } + private void endTextBox18_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox18, startTextBox18, exclamation18); } + private void endTextBox19_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox19, startTextBox19, exclamation19); } + private void endTextBox20_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox20, startTextBox20, exclamation20); } + private void endTextBox21_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox21, startTextBox21, exclamation21); } + private void endTextBox22_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox22, startTextBox22, exclamation22); } + private void endTextBox23_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox23, startTextBox23, exclamation23); } + private void endTextBox24_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox24, startTextBox24, exclamation24); } + private void endTextBox25_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox25, startTextBox25, exclamation25); } + private void endTextBox26_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox26, startTextBox26, exclamation26); } + private void endTextBox27_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox27, startTextBox27, exclamation27); } + private void endTextBox28_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox28, startTextBox28, exclamation28); } + private void endTextBox29_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox29, startTextBox29, exclamation29); } + private void endTextBox30_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox30, startTextBox30, exclamation30); } + private void endTextBox31_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox31, startTextBox31, exclamation31); } + private void endTextBox32_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox32, startTextBox32, exclamation32); } + private void endTextBox33_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox33, startTextBox33, exclamation33); } + private void endTextBox34_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox34, startTextBox34, exclamation34); } + private void endTextBox35_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox35, startTextBox35, exclamation35); } + private void endTextBox36_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox36, startTextBox36, exclamation36); } + private void endTextBox37_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox37, startTextBox37, exclamation37); } + private void endTextBox38_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox38, startTextBox38, exclamation38); } + private void endTextBox39_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox39, startTextBox39, exclamation39); } + private void endTextBox40_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox40, startTextBox40, exclamation40); } + private void endTextBox41_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox41, startTextBox41, exclamation41); } + private void endTextBox42_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox42, startTextBox42, exclamation42); } + private void endTextBox43_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox43, startTextBox43, exclamation43); } + private void endTextBox44_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox44, startTextBox44, exclamation44); } + private void endTextBox45_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox45, startTextBox45, exclamation45); } + private void endTextBox46_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox46, startTextBox46, exclamation46); } + private void endTextBox47_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox47, startTextBox47, exclamation47); } + private void endTextBox48_TextChanged(object sndr, EventArgs e) { ProcTextChanged(sndr, e, endTextBox48, startTextBox48, exclamation48); } + + + /// + /// Process a key press within any enabled text boxe + /// + /// + /// + /// TextBox control which received the event + private void ProcKeyPress(object sender, KeyPressEventArgs e, TextBox currentFocusOwner) + { + if (e.KeyChar == '+') + { + /// Process '+' key ..... Form completed + okButton_Click(sender, e); + } + if (e.KeyChar == '\r') + { + /// Process key ..... Next text field + if (enabledTextBoxes.Count < 2) return; /// There is just one enabled textbox + + for (int i = 0; i < enabledTextBoxes.Count; i++) + { + if (enabledTextBoxes[i] == currentFocusOwner) + { + /// Change focus to the next enabled text box + enabledTextBoxes[(i + 1) % enabledTextBoxes.Count].Focus(); + return; + } + } + } + } + + private void startTextBox1_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox1); } + private void startTextBox2_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox2); } + private void startTextBox3_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox3); } + private void startTextBox4_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox4); } + private void startTextBox5_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox5); } + private void startTextBox6_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox6); } + private void startTextBox7_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox7); } + private void startTextBox8_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox8); } + private void startTextBox9_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox9); } + private void startTextBox10_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox10); } + private void startTextBox11_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox11); } + private void startTextBox12_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox12); } + private void startTextBox13_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox13); } + private void startTextBox14_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox14); } + private void startTextBox15_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox15); } + private void startTextBox16_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox16); } + private void startTextBox17_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox17); } + private void startTextBox18_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox18); } + private void startTextBox19_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox19); } + private void startTextBox20_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox20); } + private void startTextBox21_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox21); } + private void startTextBox22_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox22); } + private void startTextBox23_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox23); } + private void startTextBox24_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox24); } + private void startTextBox25_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox25); } + private void startTextBox26_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox26); } + private void startTextBox27_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox27); } + private void startTextBox28_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox28); } + private void startTextBox29_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox29); } + private void startTextBox30_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox30); } + private void startTextBox31_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox31); } + private void startTextBox32_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox32); } + private void startTextBox33_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox33); } + private void startTextBox34_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox34); } + private void startTextBox35_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox35); } + private void startTextBox36_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox36); } + private void startTextBox37_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox37); } + private void startTextBox38_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox38); } + private void startTextBox39_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox39); } + private void startTextBox40_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox40); } + private void startTextBox41_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox41); } + private void startTextBox42_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox42); } + private void startTextBox43_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox43); } + private void startTextBox44_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox44); } + private void startTextBox45_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox45); } + private void startTextBox46_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox46); } + private void startTextBox47_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox47); } + private void startTextBox48_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, startTextBox48); } + + private void endTextBox1_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox1); } + private void endTextBox2_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox2); } + private void endTextBox3_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox3); } + private void endTextBox4_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox4); } + private void endTextBox5_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox5); } + private void endTextBox6_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox6); } + private void endTextBox7_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox7); } + private void endTextBox8_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox8); } + private void endTextBox9_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox9); } + private void endTextBox10_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox10); } + private void endTextBox11_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox11); } + private void endTextBox12_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox12); } + private void endTextBox13_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox13); } + private void endTextBox14_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox14); } + private void endTextBox15_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox15); } + private void endTextBox16_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox16); } + private void endTextBox17_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox17); } + private void endTextBox18_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox18); } + private void endTextBox19_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox19); } + private void endTextBox20_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox20); } + private void endTextBox21_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox21); } + private void endTextBox22_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox22); } + private void endTextBox23_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox23); } + private void endTextBox24_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox24); } + private void endTextBox25_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox25); } + private void endTextBox26_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox26); } + private void endTextBox27_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox27); } + private void endTextBox28_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox28); } + private void endTextBox29_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox29); } + private void endTextBox30_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox30); } + private void endTextBox31_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox31); } + private void endTextBox32_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox32); } + private void endTextBox33_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox33); } + private void endTextBox34_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox34); } + private void endTextBox35_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox35); } + private void endTextBox36_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox36); } + private void endTextBox37_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox37); } + private void endTextBox38_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox38); } + private void endTextBox39_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox39); } + private void endTextBox40_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox40); } + private void endTextBox41_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox41); } + private void endTextBox42_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox42); } + private void endTextBox43_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox43); } + private void endTextBox44_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox44); } + private void endTextBox45_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox45); } + private void endTextBox46_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox46); } + private void endTextBox47_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox47); } + private void endTextBox48_KeyPress(object sndr, KeyPressEventArgs e) { ProcKeyPress(sndr, e, endTextBox48); } + } +} diff --git a/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.designer.cs b/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.designer.cs new file mode 100644 index 000000000..1c1ef645a --- /dev/null +++ b/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.designer.cs @@ -0,0 +1,2908 @@ +/// +/// Copyright (c) 2015-2017 Sensus Metering Systems +/// +namespace TBF.Rig.DataEntry.PoseidonCmd +{ + partial class TestStartEndForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.exclamation1 = new System.Windows.Forms.Label(); + this.startTextBox1 = new System.Windows.Forms.TextBox(); + this.endTextBox1 = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.okButton = new System.Windows.Forms.Button(); + this.exclamation3 = new System.Windows.Forms.Label(); + this.startTextBox3 = new System.Windows.Forms.TextBox(); + this.endTextBox3 = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.exclamation4 = new System.Windows.Forms.Label(); + this.startTextBox4 = new System.Windows.Forms.TextBox(); + this.endTextBox4 = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.exclamation5 = new System.Windows.Forms.Label(); + this.startTextBox5 = new System.Windows.Forms.TextBox(); + this.endTextBox5 = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.exclamation6 = new System.Windows.Forms.Label(); + this.startTextBox6 = new System.Windows.Forms.TextBox(); + this.endTextBox6 = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.startLabel = new System.Windows.Forms.Label(); + this.endLabel = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.endTextBox2 = new System.Windows.Forms.TextBox(); + this.startTextBox2 = new System.Windows.Forms.TextBox(); + this.exclamation2 = new System.Windows.Forms.Label(); + this.exclamation7 = new System.Windows.Forms.Label(); + this.startTextBox7 = new System.Windows.Forms.TextBox(); + this.endTextBox7 = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.exclamation8 = new System.Windows.Forms.Label(); + this.startTextBox8 = new System.Windows.Forms.TextBox(); + this.endTextBox8 = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.exclamation9 = new System.Windows.Forms.Label(); + this.startTextBox9 = new System.Windows.Forms.TextBox(); + this.endTextBox9 = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.exclamation10 = new System.Windows.Forms.Label(); + this.startTextBox10 = new System.Windows.Forms.TextBox(); + this.endTextBox10 = new System.Windows.Forms.TextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.exclamation11 = new System.Windows.Forms.Label(); + this.startTextBox11 = new System.Windows.Forms.TextBox(); + this.endTextBox11 = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.exclamation12 = new System.Windows.Forms.Label(); + this.startTextBox12 = new System.Windows.Forms.TextBox(); + this.endTextBox12 = new System.Windows.Forms.TextBox(); + this.label12 = new System.Windows.Forms.Label(); + this.exclamation24 = new System.Windows.Forms.Label(); + this.startTextBox24 = new System.Windows.Forms.TextBox(); + this.endTextBox24 = new System.Windows.Forms.TextBox(); + this.label24 = new System.Windows.Forms.Label(); + this.exclamation23 = new System.Windows.Forms.Label(); + this.startTextBox23 = new System.Windows.Forms.TextBox(); + this.endTextBox23 = new System.Windows.Forms.TextBox(); + this.label23 = new System.Windows.Forms.Label(); + this.exclamation22 = new System.Windows.Forms.Label(); + this.startTextBox22 = new System.Windows.Forms.TextBox(); + this.endTextBox22 = new System.Windows.Forms.TextBox(); + this.label22 = new System.Windows.Forms.Label(); + this.exclamation21 = new System.Windows.Forms.Label(); + this.startTextBox21 = new System.Windows.Forms.TextBox(); + this.endTextBox21 = new System.Windows.Forms.TextBox(); + this.label21 = new System.Windows.Forms.Label(); + this.exclamation20 = new System.Windows.Forms.Label(); + this.startTextBox20 = new System.Windows.Forms.TextBox(); + this.endTextBox20 = new System.Windows.Forms.TextBox(); + this.label20 = new System.Windows.Forms.Label(); + this.exclamation19 = new System.Windows.Forms.Label(); + this.startTextBox19 = new System.Windows.Forms.TextBox(); + this.endTextBox19 = new System.Windows.Forms.TextBox(); + this.label19 = new System.Windows.Forms.Label(); + this.exclamation18 = new System.Windows.Forms.Label(); + this.exclamation17 = new System.Windows.Forms.Label(); + this.startTextBox18 = new System.Windows.Forms.TextBox(); + this.exclamation16 = new System.Windows.Forms.Label(); + this.endTextBox18 = new System.Windows.Forms.TextBox(); + this.label18 = new System.Windows.Forms.Label(); + this.startTextBox17 = new System.Windows.Forms.TextBox(); + this.exclamation15 = new System.Windows.Forms.Label(); + this.endTextBox17 = new System.Windows.Forms.TextBox(); + this.label17 = new System.Windows.Forms.Label(); + this.startTextBox16 = new System.Windows.Forms.TextBox(); + this.exclamation14 = new System.Windows.Forms.Label(); + this.endTextBox16 = new System.Windows.Forms.TextBox(); + this.label16 = new System.Windows.Forms.Label(); + this.startTextBox15 = new System.Windows.Forms.TextBox(); + this.exclamation13 = new System.Windows.Forms.Label(); + this.endTextBox15 = new System.Windows.Forms.TextBox(); + this.label15 = new System.Windows.Forms.Label(); + this.startTextBox14 = new System.Windows.Forms.TextBox(); + this.end2Label = new System.Windows.Forms.Label(); + this.endTextBox14 = new System.Windows.Forms.TextBox(); + this.label14 = new System.Windows.Forms.Label(); + this.startTextBox13 = new System.Windows.Forms.TextBox(); + this.start2Label = new System.Windows.Forms.Label(); + this.endTextBox13 = new System.Windows.Forms.TextBox(); + this.label13 = new System.Windows.Forms.Label(); + this.exclamation25 = new System.Windows.Forms.Label(); + this.startTextBox25 = new System.Windows.Forms.TextBox(); + this.endTextBox25 = new System.Windows.Forms.TextBox(); + this.label25 = new System.Windows.Forms.Label(); + this.label26 = new System.Windows.Forms.Label(); + this.label27 = new System.Windows.Forms.Label(); + this.label28 = new System.Windows.Forms.Label(); + this.label29 = new System.Windows.Forms.Label(); + this.label30 = new System.Windows.Forms.Label(); + this.label31 = new System.Windows.Forms.Label(); + this.label32 = new System.Windows.Forms.Label(); + this.label33 = new System.Windows.Forms.Label(); + this.label34 = new System.Windows.Forms.Label(); + this.label35 = new System.Windows.Forms.Label(); + this.label36 = new System.Windows.Forms.Label(); + this.label37 = new System.Windows.Forms.Label(); + this.label38 = new System.Windows.Forms.Label(); + this.label39 = new System.Windows.Forms.Label(); + this.label40 = new System.Windows.Forms.Label(); + this.label41 = new System.Windows.Forms.Label(); + this.label42 = new System.Windows.Forms.Label(); + this.label43 = new System.Windows.Forms.Label(); + this.label44 = new System.Windows.Forms.Label(); + this.label45 = new System.Windows.Forms.Label(); + this.label46 = new System.Windows.Forms.Label(); + this.label47 = new System.Windows.Forms.Label(); + this.label48 = new System.Windows.Forms.Label(); + this.startTextBox48 = new System.Windows.Forms.TextBox(); + this.startTextBox47 = new System.Windows.Forms.TextBox(); + this.startTextBox46 = new System.Windows.Forms.TextBox(); + this.startTextBox45 = new System.Windows.Forms.TextBox(); + this.startTextBox44 = new System.Windows.Forms.TextBox(); + this.startTextBox43 = new System.Windows.Forms.TextBox(); + this.startTextBox42 = new System.Windows.Forms.TextBox(); + this.startTextBox41 = new System.Windows.Forms.TextBox(); + this.startTextBox40 = new System.Windows.Forms.TextBox(); + this.startTextBox39 = new System.Windows.Forms.TextBox(); + this.startTextBox38 = new System.Windows.Forms.TextBox(); + this.startTextBox37 = new System.Windows.Forms.TextBox(); + this.startTextBox36 = new System.Windows.Forms.TextBox(); + this.startTextBox35 = new System.Windows.Forms.TextBox(); + this.startTextBox34 = new System.Windows.Forms.TextBox(); + this.startTextBox33 = new System.Windows.Forms.TextBox(); + this.startTextBox32 = new System.Windows.Forms.TextBox(); + this.startTextBox31 = new System.Windows.Forms.TextBox(); + this.startTextBox30 = new System.Windows.Forms.TextBox(); + this.startTextBox29 = new System.Windows.Forms.TextBox(); + this.startTextBox28 = new System.Windows.Forms.TextBox(); + this.startTextBox27 = new System.Windows.Forms.TextBox(); + this.startTextBox26 = new System.Windows.Forms.TextBox(); + this.exclamation48 = new System.Windows.Forms.Label(); + this.endTextBox48 = new System.Windows.Forms.TextBox(); + this.exclamation47 = new System.Windows.Forms.Label(); + this.endTextBox47 = new System.Windows.Forms.TextBox(); + this.exclamation46 = new System.Windows.Forms.Label(); + this.endTextBox46 = new System.Windows.Forms.TextBox(); + this.exclamation45 = new System.Windows.Forms.Label(); + this.endTextBox45 = new System.Windows.Forms.TextBox(); + this.exclamation44 = new System.Windows.Forms.Label(); + this.endTextBox44 = new System.Windows.Forms.TextBox(); + this.exclamation43 = new System.Windows.Forms.Label(); + this.endTextBox43 = new System.Windows.Forms.TextBox(); + this.exclamation42 = new System.Windows.Forms.Label(); + this.exclamation41 = new System.Windows.Forms.Label(); + this.exclamation40 = new System.Windows.Forms.Label(); + this.endTextBox42 = new System.Windows.Forms.TextBox(); + this.exclamation39 = new System.Windows.Forms.Label(); + this.endTextBox41 = new System.Windows.Forms.TextBox(); + this.exclamation38 = new System.Windows.Forms.Label(); + this.endTextBox40 = new System.Windows.Forms.TextBox(); + this.exclamation37 = new System.Windows.Forms.Label(); + this.endTextBox39 = new System.Windows.Forms.TextBox(); + this.endTextBox38 = new System.Windows.Forms.TextBox(); + this.endTextBox37 = new System.Windows.Forms.TextBox(); + this.exclamation36 = new System.Windows.Forms.Label(); + this.endTextBox36 = new System.Windows.Forms.TextBox(); + this.exclamation35 = new System.Windows.Forms.Label(); + this.endTextBox35 = new System.Windows.Forms.TextBox(); + this.exclamation34 = new System.Windows.Forms.Label(); + this.endTextBox34 = new System.Windows.Forms.TextBox(); + this.exclamation33 = new System.Windows.Forms.Label(); + this.endTextBox33 = new System.Windows.Forms.TextBox(); + this.exclamation32 = new System.Windows.Forms.Label(); + this.endTextBox32 = new System.Windows.Forms.TextBox(); + this.exclamation31 = new System.Windows.Forms.Label(); + this.endTextBox31 = new System.Windows.Forms.TextBox(); + this.exclamation30 = new System.Windows.Forms.Label(); + this.exclamation29 = new System.Windows.Forms.Label(); + this.exclamation28 = new System.Windows.Forms.Label(); + this.endTextBox30 = new System.Windows.Forms.TextBox(); + this.exclamation27 = new System.Windows.Forms.Label(); + this.endTextBox29 = new System.Windows.Forms.TextBox(); + this.exclamation26 = new System.Windows.Forms.Label(); + this.endTextBox28 = new System.Windows.Forms.TextBox(); + this.endTextBox27 = new System.Windows.Forms.TextBox(); + this.endTextBox26 = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // exclamation1 + // + this.exclamation1.AutoSize = true; + this.exclamation1.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation1.ForeColor = System.Drawing.Color.Red; + this.exclamation1.Location = new System.Drawing.Point(532, 30); + this.exclamation1.Name = "exclamation1"; + this.exclamation1.Size = new System.Drawing.Size(26, 32); + this.exclamation1.TabIndex = 5; + this.exclamation1.Text = "!"; + this.exclamation1.Visible = false; + // + // startTextBox1 + // + this.startTextBox1.Enabled = false; + this.startTextBox1.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox1.Location = new System.Drawing.Point(185, 34); + this.startTextBox1.Name = "startTextBox1"; + this.startTextBox1.Size = new System.Drawing.Size(163, 27); + this.startTextBox1.TabIndex = 3; + this.startTextBox1.Visible = false; + this.startTextBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox1_KeyPress); + // + // endTextBox1 + // + this.endTextBox1.Enabled = false; + this.endTextBox1.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox1.Location = new System.Drawing.Point(367, 34); + this.endTextBox1.Name = "endTextBox1"; + this.endTextBox1.Size = new System.Drawing.Size(163, 27); + this.endTextBox1.TabIndex = 4; + this.endTextBox1.Visible = false; + this.endTextBox1.TextChanged += new System.EventHandler(this.endTextBox1_TextChanged); + this.endTextBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox1_KeyPress); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label1.Location = new System.Drawing.Point(23, 37); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(126, 18); + this.label1.TabIndex = 2; + this.label1.Text = "Water Meter 1"; + this.label1.Visible = false; + // + // okButton + // + this.okButton.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.okButton.ForeColor = System.Drawing.Color.Black; + this.okButton.Location = new System.Drawing.Point(1138, 34); + this.okButton.Name = "okButton"; + this.okButton.Size = new System.Drawing.Size(98, 63); + this.okButton.TabIndex = 100; + this.okButton.Text = "OK"; + this.okButton.UseVisualStyleBackColor = true; + this.okButton.Click += new System.EventHandler(this.okButton_Click); + // + // exclamation3 + // + this.exclamation3.AutoSize = true; + this.exclamation3.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation3.ForeColor = System.Drawing.Color.Red; + this.exclamation3.Location = new System.Drawing.Point(532, 90); + this.exclamation3.Name = "exclamation3"; + this.exclamation3.Size = new System.Drawing.Size(26, 32); + this.exclamation3.TabIndex = 13; + this.exclamation3.Text = "!"; + this.exclamation3.Visible = false; + // + // startTextBox3 + // + this.startTextBox3.Enabled = false; + this.startTextBox3.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox3.Location = new System.Drawing.Point(185, 94); + this.startTextBox3.Name = "startTextBox3"; + this.startTextBox3.Size = new System.Drawing.Size(163, 27); + this.startTextBox3.TabIndex = 11; + this.startTextBox3.Visible = false; + this.startTextBox3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox3_KeyPress); + // + // endTextBox3 + // + this.endTextBox3.Enabled = false; + this.endTextBox3.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox3.Location = new System.Drawing.Point(367, 94); + this.endTextBox3.Name = "endTextBox3"; + this.endTextBox3.Size = new System.Drawing.Size(163, 27); + this.endTextBox3.TabIndex = 12; + this.endTextBox3.Visible = false; + this.endTextBox3.TextChanged += new System.EventHandler(this.endTextBox3_TextChanged); + this.endTextBox3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox3_KeyPress); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label3.Location = new System.Drawing.Point(23, 97); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(126, 18); + this.label3.TabIndex = 10; + this.label3.Text = "Water Meter 3"; + this.label3.Visible = false; + // + // exclamation4 + // + this.exclamation4.AutoSize = true; + this.exclamation4.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation4.ForeColor = System.Drawing.Color.Red; + this.exclamation4.Location = new System.Drawing.Point(532, 120); + this.exclamation4.Name = "exclamation4"; + this.exclamation4.Size = new System.Drawing.Size(26, 32); + this.exclamation4.TabIndex = 17; + this.exclamation4.Text = "!"; + this.exclamation4.Visible = false; + // + // startTextBox4 + // + this.startTextBox4.Enabled = false; + this.startTextBox4.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox4.Location = new System.Drawing.Point(185, 124); + this.startTextBox4.Name = "startTextBox4"; + this.startTextBox4.Size = new System.Drawing.Size(163, 27); + this.startTextBox4.TabIndex = 15; + this.startTextBox4.Visible = false; + this.startTextBox4.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox4_KeyPress); + // + // endTextBox4 + // + this.endTextBox4.Enabled = false; + this.endTextBox4.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox4.Location = new System.Drawing.Point(367, 124); + this.endTextBox4.Name = "endTextBox4"; + this.endTextBox4.Size = new System.Drawing.Size(163, 27); + this.endTextBox4.TabIndex = 16; + this.endTextBox4.Visible = false; + this.endTextBox4.TextChanged += new System.EventHandler(this.endTextBox4_TextChanged); + this.endTextBox4.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox4_KeyPress); + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label4.Location = new System.Drawing.Point(23, 127); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(126, 18); + this.label4.TabIndex = 14; + this.label4.Text = "Water Meter 4"; + this.label4.Visible = false; + // + // exclamation5 + // + this.exclamation5.AutoSize = true; + this.exclamation5.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation5.ForeColor = System.Drawing.Color.Red; + this.exclamation5.Location = new System.Drawing.Point(532, 150); + this.exclamation5.Name = "exclamation5"; + this.exclamation5.Size = new System.Drawing.Size(26, 32); + this.exclamation5.TabIndex = 21; + this.exclamation5.Text = "!"; + this.exclamation5.Visible = false; + // + // startTextBox5 + // + this.startTextBox5.Enabled = false; + this.startTextBox5.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox5.Location = new System.Drawing.Point(185, 154); + this.startTextBox5.Name = "startTextBox5"; + this.startTextBox5.Size = new System.Drawing.Size(163, 27); + this.startTextBox5.TabIndex = 19; + this.startTextBox5.Visible = false; + this.startTextBox5.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox5_KeyPress); + // + // endTextBox5 + // + this.endTextBox5.Enabled = false; + this.endTextBox5.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox5.Location = new System.Drawing.Point(367, 154); + this.endTextBox5.Name = "endTextBox5"; + this.endTextBox5.Size = new System.Drawing.Size(163, 27); + this.endTextBox5.TabIndex = 20; + this.endTextBox5.Visible = false; + this.endTextBox5.TextChanged += new System.EventHandler(this.endTextBox5_TextChanged); + this.endTextBox5.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox5_KeyPress); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label5.Location = new System.Drawing.Point(23, 157); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(126, 18); + this.label5.TabIndex = 18; + this.label5.Text = "Water Meter 5"; + this.label5.Visible = false; + // + // exclamation6 + // + this.exclamation6.AutoSize = true; + this.exclamation6.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation6.ForeColor = System.Drawing.Color.Red; + this.exclamation6.Location = new System.Drawing.Point(532, 180); + this.exclamation6.Name = "exclamation6"; + this.exclamation6.Size = new System.Drawing.Size(26, 32); + this.exclamation6.TabIndex = 25; + this.exclamation6.Text = "!"; + this.exclamation6.Visible = false; + // + // startTextBox6 + // + this.startTextBox6.Enabled = false; + this.startTextBox6.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox6.Location = new System.Drawing.Point(185, 184); + this.startTextBox6.Name = "startTextBox6"; + this.startTextBox6.Size = new System.Drawing.Size(163, 27); + this.startTextBox6.TabIndex = 23; + this.startTextBox6.Visible = false; + this.startTextBox6.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox6_KeyPress); + // + // endTextBox6 + // + this.endTextBox6.Enabled = false; + this.endTextBox6.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox6.Location = new System.Drawing.Point(367, 184); + this.endTextBox6.Name = "endTextBox6"; + this.endTextBox6.Size = new System.Drawing.Size(163, 27); + this.endTextBox6.TabIndex = 24; + this.endTextBox6.Visible = false; + this.endTextBox6.TextChanged += new System.EventHandler(this.endTextBox6_TextChanged); + this.endTextBox6.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox6_KeyPress); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label6.Location = new System.Drawing.Point(23, 187); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(126, 18); + this.label6.TabIndex = 22; + this.label6.Text = "Water Meter 6"; + this.label6.Visible = false; + // + // startLabel + // + this.startLabel.AutoSize = true; + this.startLabel.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startLabel.Location = new System.Drawing.Point(237, 6); + this.startLabel.Name = "startLabel"; + this.startLabel.Size = new System.Drawing.Size(56, 23); + this.startLabel.TabIndex = 0; + this.startLabel.Text = "Start"; + // + // endLabel + // + this.endLabel.AutoSize = true; + this.endLabel.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endLabel.Location = new System.Drawing.Point(423, 6); + this.endLabel.Name = "endLabel"; + this.endLabel.Size = new System.Drawing.Size(46, 23); + this.endLabel.TabIndex = 1; + this.endLabel.Text = "End"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label2.Location = new System.Drawing.Point(23, 67); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(126, 18); + this.label2.TabIndex = 6; + this.label2.Text = "Water Meter 2"; + this.label2.Visible = false; + // + // endTextBox2 + // + this.endTextBox2.Enabled = false; + this.endTextBox2.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox2.Location = new System.Drawing.Point(367, 64); + this.endTextBox2.Name = "endTextBox2"; + this.endTextBox2.Size = new System.Drawing.Size(163, 27); + this.endTextBox2.TabIndex = 8; + this.endTextBox2.Visible = false; + this.endTextBox2.TextChanged += new System.EventHandler(this.endTextBox2_TextChanged); + this.endTextBox2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox2_KeyPress); + // + // startTextBox2 + // + this.startTextBox2.Enabled = false; + this.startTextBox2.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox2.Location = new System.Drawing.Point(185, 64); + this.startTextBox2.Name = "startTextBox2"; + this.startTextBox2.Size = new System.Drawing.Size(163, 27); + this.startTextBox2.TabIndex = 7; + this.startTextBox2.Visible = false; + this.startTextBox2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox2_KeyPress); + // + // exclamation2 + // + this.exclamation2.AutoSize = true; + this.exclamation2.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation2.ForeColor = System.Drawing.Color.Red; + this.exclamation2.Location = new System.Drawing.Point(532, 60); + this.exclamation2.Name = "exclamation2"; + this.exclamation2.Size = new System.Drawing.Size(26, 32); + this.exclamation2.TabIndex = 9; + this.exclamation2.Text = "!"; + this.exclamation2.Visible = false; + // + // exclamation7 + // + this.exclamation7.AutoSize = true; + this.exclamation7.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation7.ForeColor = System.Drawing.Color.Red; + this.exclamation7.Location = new System.Drawing.Point(532, 210); + this.exclamation7.Name = "exclamation7"; + this.exclamation7.Size = new System.Drawing.Size(26, 32); + this.exclamation7.TabIndex = 29; + this.exclamation7.Text = "!"; + this.exclamation7.Visible = false; + // + // startTextBox7 + // + this.startTextBox7.Enabled = false; + this.startTextBox7.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox7.Location = new System.Drawing.Point(185, 214); + this.startTextBox7.Name = "startTextBox7"; + this.startTextBox7.Size = new System.Drawing.Size(163, 27); + this.startTextBox7.TabIndex = 27; + this.startTextBox7.Visible = false; + this.startTextBox7.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox7_KeyPress); + // + // endTextBox7 + // + this.endTextBox7.Enabled = false; + this.endTextBox7.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox7.Location = new System.Drawing.Point(367, 214); + this.endTextBox7.Name = "endTextBox7"; + this.endTextBox7.Size = new System.Drawing.Size(163, 27); + this.endTextBox7.TabIndex = 28; + this.endTextBox7.Visible = false; + this.endTextBox7.TextChanged += new System.EventHandler(this.endTextBox7_TextChanged); + this.endTextBox7.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox7_KeyPress); + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label7.Location = new System.Drawing.Point(23, 217); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(126, 18); + this.label7.TabIndex = 26; + this.label7.Text = "Water Meter 7"; + this.label7.Visible = false; + // + // exclamation8 + // + this.exclamation8.AutoSize = true; + this.exclamation8.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation8.ForeColor = System.Drawing.Color.Red; + this.exclamation8.Location = new System.Drawing.Point(532, 240); + this.exclamation8.Name = "exclamation8"; + this.exclamation8.Size = new System.Drawing.Size(26, 32); + this.exclamation8.TabIndex = 33; + this.exclamation8.Text = "!"; + this.exclamation8.Visible = false; + // + // startTextBox8 + // + this.startTextBox8.Enabled = false; + this.startTextBox8.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox8.Location = new System.Drawing.Point(185, 244); + this.startTextBox8.Name = "startTextBox8"; + this.startTextBox8.Size = new System.Drawing.Size(163, 27); + this.startTextBox8.TabIndex = 31; + this.startTextBox8.Visible = false; + this.startTextBox8.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox8_KeyPress); + // + // endTextBox8 + // + this.endTextBox8.Enabled = false; + this.endTextBox8.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox8.Location = new System.Drawing.Point(367, 244); + this.endTextBox8.Name = "endTextBox8"; + this.endTextBox8.Size = new System.Drawing.Size(163, 27); + this.endTextBox8.TabIndex = 32; + this.endTextBox8.Visible = false; + this.endTextBox8.TextChanged += new System.EventHandler(this.endTextBox8_TextChanged); + this.endTextBox8.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox8_KeyPress); + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label8.Location = new System.Drawing.Point(23, 247); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(126, 18); + this.label8.TabIndex = 30; + this.label8.Text = "Water Meter 8"; + this.label8.Visible = false; + // + // exclamation9 + // + this.exclamation9.AutoSize = true; + this.exclamation9.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation9.ForeColor = System.Drawing.Color.Red; + this.exclamation9.Location = new System.Drawing.Point(532, 270); + this.exclamation9.Name = "exclamation9"; + this.exclamation9.Size = new System.Drawing.Size(26, 32); + this.exclamation9.TabIndex = 37; + this.exclamation9.Text = "!"; + this.exclamation9.Visible = false; + // + // startTextBox9 + // + this.startTextBox9.Enabled = false; + this.startTextBox9.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox9.Location = new System.Drawing.Point(185, 274); + this.startTextBox9.Name = "startTextBox9"; + this.startTextBox9.Size = new System.Drawing.Size(163, 27); + this.startTextBox9.TabIndex = 35; + this.startTextBox9.Visible = false; + this.startTextBox9.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox9_KeyPress); + // + // endTextBox9 + // + this.endTextBox9.Enabled = false; + this.endTextBox9.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox9.Location = new System.Drawing.Point(367, 274); + this.endTextBox9.Name = "endTextBox9"; + this.endTextBox9.Size = new System.Drawing.Size(163, 27); + this.endTextBox9.TabIndex = 36; + this.endTextBox9.Visible = false; + this.endTextBox9.TextChanged += new System.EventHandler(this.endTextBox9_TextChanged); + this.endTextBox9.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox9_KeyPress); + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label9.Location = new System.Drawing.Point(23, 277); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(126, 18); + this.label9.TabIndex = 34; + this.label9.Text = "Water Meter 9"; + this.label9.Visible = false; + // + // exclamation10 + // + this.exclamation10.AutoSize = true; + this.exclamation10.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation10.ForeColor = System.Drawing.Color.Red; + this.exclamation10.Location = new System.Drawing.Point(532, 300); + this.exclamation10.Name = "exclamation10"; + this.exclamation10.Size = new System.Drawing.Size(26, 32); + this.exclamation10.TabIndex = 41; + this.exclamation10.Text = "!"; + this.exclamation10.Visible = false; + // + // startTextBox10 + // + this.startTextBox10.Enabled = false; + this.startTextBox10.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox10.Location = new System.Drawing.Point(185, 304); + this.startTextBox10.Name = "startTextBox10"; + this.startTextBox10.Size = new System.Drawing.Size(163, 27); + this.startTextBox10.TabIndex = 39; + this.startTextBox10.Visible = false; + this.startTextBox10.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox10_KeyPress); + // + // endTextBox10 + // + this.endTextBox10.Enabled = false; + this.endTextBox10.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox10.Location = new System.Drawing.Point(367, 304); + this.endTextBox10.Name = "endTextBox10"; + this.endTextBox10.Size = new System.Drawing.Size(163, 27); + this.endTextBox10.TabIndex = 40; + this.endTextBox10.Visible = false; + this.endTextBox10.TextChanged += new System.EventHandler(this.endTextBox10_TextChanged); + this.endTextBox10.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox10_KeyPress); + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label10.Location = new System.Drawing.Point(23, 307); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(136, 18); + this.label10.TabIndex = 38; + this.label10.Text = "Water Meter 10"; + this.label10.Visible = false; + // + // exclamation11 + // + this.exclamation11.AutoSize = true; + this.exclamation11.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation11.ForeColor = System.Drawing.Color.Red; + this.exclamation11.Location = new System.Drawing.Point(532, 330); + this.exclamation11.Name = "exclamation11"; + this.exclamation11.Size = new System.Drawing.Size(26, 32); + this.exclamation11.TabIndex = 45; + this.exclamation11.Text = "!"; + this.exclamation11.Visible = false; + // + // startTextBox11 + // + this.startTextBox11.Enabled = false; + this.startTextBox11.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox11.Location = new System.Drawing.Point(185, 334); + this.startTextBox11.Name = "startTextBox11"; + this.startTextBox11.Size = new System.Drawing.Size(163, 27); + this.startTextBox11.TabIndex = 43; + this.startTextBox11.Visible = false; + this.startTextBox11.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox11_KeyPress); + // + // endTextBox11 + // + this.endTextBox11.Enabled = false; + this.endTextBox11.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox11.Location = new System.Drawing.Point(367, 334); + this.endTextBox11.Name = "endTextBox11"; + this.endTextBox11.Size = new System.Drawing.Size(163, 27); + this.endTextBox11.TabIndex = 44; + this.endTextBox11.Visible = false; + this.endTextBox11.TextChanged += new System.EventHandler(this.endTextBox11_TextChanged); + this.endTextBox11.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox11_KeyPress); + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label11.Location = new System.Drawing.Point(23, 337); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(136, 18); + this.label11.TabIndex = 42; + this.label11.Text = "Water Meter 11"; + this.label11.Visible = false; + // + // exclamation12 + // + this.exclamation12.AutoSize = true; + this.exclamation12.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation12.ForeColor = System.Drawing.Color.Red; + this.exclamation12.Location = new System.Drawing.Point(532, 360); + this.exclamation12.Name = "exclamation12"; + this.exclamation12.Size = new System.Drawing.Size(26, 32); + this.exclamation12.TabIndex = 49; + this.exclamation12.Text = "!"; + this.exclamation12.Visible = false; + // + // startTextBox12 + // + this.startTextBox12.Enabled = false; + this.startTextBox12.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox12.Location = new System.Drawing.Point(185, 364); + this.startTextBox12.Name = "startTextBox12"; + this.startTextBox12.Size = new System.Drawing.Size(163, 27); + this.startTextBox12.TabIndex = 47; + this.startTextBox12.Visible = false; + this.startTextBox12.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox12_KeyPress); + // + // endTextBox12 + // + this.endTextBox12.Enabled = false; + this.endTextBox12.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox12.Location = new System.Drawing.Point(367, 364); + this.endTextBox12.Name = "endTextBox12"; + this.endTextBox12.Size = new System.Drawing.Size(163, 27); + this.endTextBox12.TabIndex = 48; + this.endTextBox12.Visible = false; + this.endTextBox12.TextChanged += new System.EventHandler(this.endTextBox12_TextChanged); + this.endTextBox12.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox12_KeyPress); + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label12.Location = new System.Drawing.Point(23, 367); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(136, 18); + this.label12.TabIndex = 46; + this.label12.Text = "Water Meter 12"; + this.label12.Visible = false; + // + // exclamation24 + // + this.exclamation24.AutoSize = true; + this.exclamation24.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation24.ForeColor = System.Drawing.Color.Red; + this.exclamation24.Location = new System.Drawing.Point(532, 720); + this.exclamation24.Name = "exclamation24"; + this.exclamation24.Size = new System.Drawing.Size(26, 32); + this.exclamation24.TabIndex = 99; + this.exclamation24.Text = "!"; + this.exclamation24.Visible = false; + // + // startTextBox24 + // + this.startTextBox24.Enabled = false; + this.startTextBox24.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox24.Location = new System.Drawing.Point(185, 724); + this.startTextBox24.Name = "startTextBox24"; + this.startTextBox24.Size = new System.Drawing.Size(163, 27); + this.startTextBox24.TabIndex = 97; + this.startTextBox24.Visible = false; + this.startTextBox24.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox24_KeyPress); + // + // endTextBox24 + // + this.endTextBox24.Enabled = false; + this.endTextBox24.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox24.Location = new System.Drawing.Point(367, 724); + this.endTextBox24.Name = "endTextBox24"; + this.endTextBox24.Size = new System.Drawing.Size(163, 27); + this.endTextBox24.TabIndex = 98; + this.endTextBox24.Visible = false; + this.endTextBox24.TextChanged += new System.EventHandler(this.endTextBox24_TextChanged); + this.endTextBox24.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox24_KeyPress); + // + // label24 + // + this.label24.AutoSize = true; + this.label24.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label24.Location = new System.Drawing.Point(23, 727); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(136, 18); + this.label24.TabIndex = 96; + this.label24.Text = "Water Meter 24"; + this.label24.Visible = false; + // + // exclamation23 + // + this.exclamation23.AutoSize = true; + this.exclamation23.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation23.ForeColor = System.Drawing.Color.Red; + this.exclamation23.Location = new System.Drawing.Point(532, 690); + this.exclamation23.Name = "exclamation23"; + this.exclamation23.Size = new System.Drawing.Size(26, 32); + this.exclamation23.TabIndex = 95; + this.exclamation23.Text = "!"; + this.exclamation23.Visible = false; + // + // startTextBox23 + // + this.startTextBox23.Enabled = false; + this.startTextBox23.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox23.Location = new System.Drawing.Point(185, 694); + this.startTextBox23.Name = "startTextBox23"; + this.startTextBox23.Size = new System.Drawing.Size(163, 27); + this.startTextBox23.TabIndex = 93; + this.startTextBox23.Visible = false; + this.startTextBox23.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox23_KeyPress); + // + // endTextBox23 + // + this.endTextBox23.Enabled = false; + this.endTextBox23.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox23.Location = new System.Drawing.Point(367, 694); + this.endTextBox23.Name = "endTextBox23"; + this.endTextBox23.Size = new System.Drawing.Size(163, 27); + this.endTextBox23.TabIndex = 94; + this.endTextBox23.Visible = false; + this.endTextBox23.TextChanged += new System.EventHandler(this.endTextBox23_TextChanged); + this.endTextBox23.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox23_KeyPress); + // + // label23 + // + this.label23.AutoSize = true; + this.label23.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label23.Location = new System.Drawing.Point(23, 697); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(136, 18); + this.label23.TabIndex = 92; + this.label23.Text = "Water Meter 23"; + this.label23.Visible = false; + // + // exclamation22 + // + this.exclamation22.AutoSize = true; + this.exclamation22.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation22.ForeColor = System.Drawing.Color.Red; + this.exclamation22.Location = new System.Drawing.Point(532, 660); + this.exclamation22.Name = "exclamation22"; + this.exclamation22.Size = new System.Drawing.Size(26, 32); + this.exclamation22.TabIndex = 91; + this.exclamation22.Text = "!"; + this.exclamation22.Visible = false; + // + // startTextBox22 + // + this.startTextBox22.Enabled = false; + this.startTextBox22.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox22.Location = new System.Drawing.Point(185, 664); + this.startTextBox22.Name = "startTextBox22"; + this.startTextBox22.Size = new System.Drawing.Size(163, 27); + this.startTextBox22.TabIndex = 89; + this.startTextBox22.Visible = false; + this.startTextBox22.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox22_KeyPress); + // + // endTextBox22 + // + this.endTextBox22.Enabled = false; + this.endTextBox22.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox22.Location = new System.Drawing.Point(367, 664); + this.endTextBox22.Name = "endTextBox22"; + this.endTextBox22.Size = new System.Drawing.Size(163, 27); + this.endTextBox22.TabIndex = 90; + this.endTextBox22.Visible = false; + this.endTextBox22.TextChanged += new System.EventHandler(this.endTextBox22_TextChanged); + this.endTextBox22.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox22_KeyPress); + // + // label22 + // + this.label22.AutoSize = true; + this.label22.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label22.Location = new System.Drawing.Point(23, 667); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(136, 18); + this.label22.TabIndex = 88; + this.label22.Text = "Water Meter 22"; + this.label22.Visible = false; + // + // exclamation21 + // + this.exclamation21.AutoSize = true; + this.exclamation21.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation21.ForeColor = System.Drawing.Color.Red; + this.exclamation21.Location = new System.Drawing.Point(532, 630); + this.exclamation21.Name = "exclamation21"; + this.exclamation21.Size = new System.Drawing.Size(26, 32); + this.exclamation21.TabIndex = 87; + this.exclamation21.Text = "!"; + this.exclamation21.Visible = false; + // + // startTextBox21 + // + this.startTextBox21.Enabled = false; + this.startTextBox21.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox21.Location = new System.Drawing.Point(185, 634); + this.startTextBox21.Name = "startTextBox21"; + this.startTextBox21.Size = new System.Drawing.Size(163, 27); + this.startTextBox21.TabIndex = 85; + this.startTextBox21.Visible = false; + this.startTextBox21.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox21_KeyPress); + // + // endTextBox21 + // + this.endTextBox21.Enabled = false; + this.endTextBox21.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox21.Location = new System.Drawing.Point(367, 634); + this.endTextBox21.Name = "endTextBox21"; + this.endTextBox21.Size = new System.Drawing.Size(163, 27); + this.endTextBox21.TabIndex = 86; + this.endTextBox21.Visible = false; + this.endTextBox21.TextChanged += new System.EventHandler(this.endTextBox21_TextChanged); + this.endTextBox21.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox21_KeyPress); + // + // label21 + // + this.label21.AutoSize = true; + this.label21.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label21.Location = new System.Drawing.Point(23, 637); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(136, 18); + this.label21.TabIndex = 84; + this.label21.Text = "Water Meter 21"; + this.label21.Visible = false; + // + // exclamation20 + // + this.exclamation20.AutoSize = true; + this.exclamation20.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation20.ForeColor = System.Drawing.Color.Red; + this.exclamation20.Location = new System.Drawing.Point(532, 600); + this.exclamation20.Name = "exclamation20"; + this.exclamation20.Size = new System.Drawing.Size(26, 32); + this.exclamation20.TabIndex = 83; + this.exclamation20.Text = "!"; + this.exclamation20.Visible = false; + // + // startTextBox20 + // + this.startTextBox20.Enabled = false; + this.startTextBox20.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox20.Location = new System.Drawing.Point(185, 604); + this.startTextBox20.Name = "startTextBox20"; + this.startTextBox20.Size = new System.Drawing.Size(163, 27); + this.startTextBox20.TabIndex = 81; + this.startTextBox20.Visible = false; + this.startTextBox20.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox20_KeyPress); + // + // endTextBox20 + // + this.endTextBox20.Enabled = false; + this.endTextBox20.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox20.Location = new System.Drawing.Point(367, 604); + this.endTextBox20.Name = "endTextBox20"; + this.endTextBox20.Size = new System.Drawing.Size(163, 27); + this.endTextBox20.TabIndex = 82; + this.endTextBox20.Visible = false; + this.endTextBox20.TextChanged += new System.EventHandler(this.endTextBox20_TextChanged); + this.endTextBox20.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox20_KeyPress); + // + // label20 + // + this.label20.AutoSize = true; + this.label20.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label20.Location = new System.Drawing.Point(23, 607); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(136, 18); + this.label20.TabIndex = 80; + this.label20.Text = "Water Meter 20"; + this.label20.Visible = false; + // + // exclamation19 + // + this.exclamation19.AutoSize = true; + this.exclamation19.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation19.ForeColor = System.Drawing.Color.Red; + this.exclamation19.Location = new System.Drawing.Point(532, 570); + this.exclamation19.Name = "exclamation19"; + this.exclamation19.Size = new System.Drawing.Size(26, 32); + this.exclamation19.TabIndex = 79; + this.exclamation19.Text = "!"; + this.exclamation19.Visible = false; + // + // startTextBox19 + // + this.startTextBox19.Enabled = false; + this.startTextBox19.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox19.Location = new System.Drawing.Point(185, 574); + this.startTextBox19.Name = "startTextBox19"; + this.startTextBox19.Size = new System.Drawing.Size(163, 27); + this.startTextBox19.TabIndex = 77; + this.startTextBox19.Visible = false; + this.startTextBox19.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox19_KeyPress); + // + // endTextBox19 + // + this.endTextBox19.Enabled = false; + this.endTextBox19.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox19.Location = new System.Drawing.Point(367, 574); + this.endTextBox19.Name = "endTextBox19"; + this.endTextBox19.Size = new System.Drawing.Size(163, 27); + this.endTextBox19.TabIndex = 78; + this.endTextBox19.Visible = false; + this.endTextBox19.TextChanged += new System.EventHandler(this.endTextBox19_TextChanged); + this.endTextBox19.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox19_KeyPress); + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label19.Location = new System.Drawing.Point(23, 577); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(136, 18); + this.label19.TabIndex = 76; + this.label19.Text = "Water Meter 19"; + this.label19.Visible = false; + // + // exclamation18 + // + this.exclamation18.AutoSize = true; + this.exclamation18.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation18.ForeColor = System.Drawing.Color.Red; + this.exclamation18.Location = new System.Drawing.Point(532, 540); + this.exclamation18.Name = "exclamation18"; + this.exclamation18.Size = new System.Drawing.Size(26, 32); + this.exclamation18.TabIndex = 75; + this.exclamation18.Text = "!"; + this.exclamation18.Visible = false; + // + // exclamation17 + // + this.exclamation17.AutoSize = true; + this.exclamation17.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation17.ForeColor = System.Drawing.Color.Red; + this.exclamation17.Location = new System.Drawing.Point(532, 510); + this.exclamation17.Name = "exclamation17"; + this.exclamation17.Size = new System.Drawing.Size(26, 32); + this.exclamation17.TabIndex = 71; + this.exclamation17.Text = "!"; + this.exclamation17.Visible = false; + // + // startTextBox18 + // + this.startTextBox18.Enabled = false; + this.startTextBox18.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox18.Location = new System.Drawing.Point(185, 544); + this.startTextBox18.Name = "startTextBox18"; + this.startTextBox18.Size = new System.Drawing.Size(163, 27); + this.startTextBox18.TabIndex = 73; + this.startTextBox18.Visible = false; + this.startTextBox18.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox18_KeyPress); + // + // exclamation16 + // + this.exclamation16.AutoSize = true; + this.exclamation16.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation16.ForeColor = System.Drawing.Color.Red; + this.exclamation16.Location = new System.Drawing.Point(532, 480); + this.exclamation16.Name = "exclamation16"; + this.exclamation16.Size = new System.Drawing.Size(26, 32); + this.exclamation16.TabIndex = 67; + this.exclamation16.Text = "!"; + this.exclamation16.Visible = false; + // + // endTextBox18 + // + this.endTextBox18.Enabled = false; + this.endTextBox18.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox18.Location = new System.Drawing.Point(367, 544); + this.endTextBox18.Name = "endTextBox18"; + this.endTextBox18.Size = new System.Drawing.Size(163, 27); + this.endTextBox18.TabIndex = 74; + this.endTextBox18.Visible = false; + this.endTextBox18.TextChanged += new System.EventHandler(this.endTextBox18_TextChanged); + this.endTextBox18.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox18_KeyPress); + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label18.Location = new System.Drawing.Point(23, 547); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(136, 18); + this.label18.TabIndex = 72; + this.label18.Text = "Water Meter 18"; + this.label18.Visible = false; + // + // startTextBox17 + // + this.startTextBox17.Enabled = false; + this.startTextBox17.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox17.Location = new System.Drawing.Point(185, 514); + this.startTextBox17.Name = "startTextBox17"; + this.startTextBox17.Size = new System.Drawing.Size(163, 27); + this.startTextBox17.TabIndex = 69; + this.startTextBox17.Visible = false; + this.startTextBox17.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox17_KeyPress); + // + // exclamation15 + // + this.exclamation15.AutoSize = true; + this.exclamation15.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation15.ForeColor = System.Drawing.Color.Red; + this.exclamation15.Location = new System.Drawing.Point(532, 450); + this.exclamation15.Name = "exclamation15"; + this.exclamation15.Size = new System.Drawing.Size(26, 32); + this.exclamation15.TabIndex = 63; + this.exclamation15.Text = "!"; + this.exclamation15.Visible = false; + // + // endTextBox17 + // + this.endTextBox17.Enabled = false; + this.endTextBox17.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox17.Location = new System.Drawing.Point(367, 514); + this.endTextBox17.Name = "endTextBox17"; + this.endTextBox17.Size = new System.Drawing.Size(163, 27); + this.endTextBox17.TabIndex = 70; + this.endTextBox17.Visible = false; + this.endTextBox17.TextChanged += new System.EventHandler(this.endTextBox17_TextChanged); + this.endTextBox17.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox17_KeyPress); + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label17.Location = new System.Drawing.Point(23, 517); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(136, 18); + this.label17.TabIndex = 68; + this.label17.Text = "Water Meter 17"; + this.label17.Visible = false; + // + // startTextBox16 + // + this.startTextBox16.Enabled = false; + this.startTextBox16.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox16.Location = new System.Drawing.Point(185, 484); + this.startTextBox16.Name = "startTextBox16"; + this.startTextBox16.Size = new System.Drawing.Size(163, 27); + this.startTextBox16.TabIndex = 65; + this.startTextBox16.Visible = false; + this.startTextBox16.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox16_KeyPress); + // + // exclamation14 + // + this.exclamation14.AutoSize = true; + this.exclamation14.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation14.ForeColor = System.Drawing.Color.Red; + this.exclamation14.Location = new System.Drawing.Point(532, 420); + this.exclamation14.Name = "exclamation14"; + this.exclamation14.Size = new System.Drawing.Size(26, 32); + this.exclamation14.TabIndex = 59; + this.exclamation14.Text = "!"; + this.exclamation14.Visible = false; + // + // endTextBox16 + // + this.endTextBox16.Enabled = false; + this.endTextBox16.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox16.Location = new System.Drawing.Point(367, 484); + this.endTextBox16.Name = "endTextBox16"; + this.endTextBox16.Size = new System.Drawing.Size(163, 27); + this.endTextBox16.TabIndex = 66; + this.endTextBox16.Visible = false; + this.endTextBox16.TextChanged += new System.EventHandler(this.endTextBox16_TextChanged); + this.endTextBox16.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox16_KeyPress); + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label16.Location = new System.Drawing.Point(23, 487); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(136, 18); + this.label16.TabIndex = 64; + this.label16.Text = "Water Meter 16"; + this.label16.Visible = false; + // + // startTextBox15 + // + this.startTextBox15.Enabled = false; + this.startTextBox15.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox15.Location = new System.Drawing.Point(185, 454); + this.startTextBox15.Name = "startTextBox15"; + this.startTextBox15.Size = new System.Drawing.Size(163, 27); + this.startTextBox15.TabIndex = 61; + this.startTextBox15.Visible = false; + this.startTextBox15.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox15_KeyPress); + // + // exclamation13 + // + this.exclamation13.AutoSize = true; + this.exclamation13.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation13.ForeColor = System.Drawing.Color.Red; + this.exclamation13.Location = new System.Drawing.Point(532, 390); + this.exclamation13.Name = "exclamation13"; + this.exclamation13.Size = new System.Drawing.Size(26, 32); + this.exclamation13.TabIndex = 55; + this.exclamation13.Text = "!"; + this.exclamation13.Visible = false; + // + // endTextBox15 + // + this.endTextBox15.Enabled = false; + this.endTextBox15.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox15.Location = new System.Drawing.Point(367, 454); + this.endTextBox15.Name = "endTextBox15"; + this.endTextBox15.Size = new System.Drawing.Size(163, 27); + this.endTextBox15.TabIndex = 62; + this.endTextBox15.Visible = false; + this.endTextBox15.TextChanged += new System.EventHandler(this.endTextBox15_TextChanged); + this.endTextBox15.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox15_KeyPress); + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label15.Location = new System.Drawing.Point(23, 457); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(136, 18); + this.label15.TabIndex = 60; + this.label15.Text = "Water Meter 15"; + this.label15.Visible = false; + // + // startTextBox14 + // + this.startTextBox14.Enabled = false; + this.startTextBox14.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox14.Location = new System.Drawing.Point(185, 424); + this.startTextBox14.Name = "startTextBox14"; + this.startTextBox14.Size = new System.Drawing.Size(163, 27); + this.startTextBox14.TabIndex = 57; + this.startTextBox14.Visible = false; + this.startTextBox14.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox14_KeyPress); + // + // end2Label + // + this.end2Label.AutoSize = true; + this.end2Label.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.end2Label.Location = new System.Drawing.Point(992, 6); + this.end2Label.Name = "end2Label"; + this.end2Label.Size = new System.Drawing.Size(46, 23); + this.end2Label.TabIndex = 51; + this.end2Label.Text = "End"; + // + // endTextBox14 + // + this.endTextBox14.Enabled = false; + this.endTextBox14.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox14.Location = new System.Drawing.Point(367, 424); + this.endTextBox14.Name = "endTextBox14"; + this.endTextBox14.Size = new System.Drawing.Size(163, 27); + this.endTextBox14.TabIndex = 58; + this.endTextBox14.Visible = false; + this.endTextBox14.TextChanged += new System.EventHandler(this.endTextBox14_TextChanged); + this.endTextBox14.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox14_KeyPress); + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label14.Location = new System.Drawing.Point(23, 427); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(136, 18); + this.label14.TabIndex = 56; + this.label14.Text = "Water Meter 14"; + this.label14.Visible = false; + // + // startTextBox13 + // + this.startTextBox13.Enabled = false; + this.startTextBox13.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox13.Location = new System.Drawing.Point(185, 394); + this.startTextBox13.Name = "startTextBox13"; + this.startTextBox13.Size = new System.Drawing.Size(163, 27); + this.startTextBox13.TabIndex = 53; + this.startTextBox13.Visible = false; + this.startTextBox13.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox13_KeyPress); + // + // start2Label + // + this.start2Label.AutoSize = true; + this.start2Label.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.start2Label.Location = new System.Drawing.Point(802, 6); + this.start2Label.Name = "start2Label"; + this.start2Label.Size = new System.Drawing.Size(56, 23); + this.start2Label.TabIndex = 50; + this.start2Label.Text = "Start"; + // + // endTextBox13 + // + this.endTextBox13.Enabled = false; + this.endTextBox13.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox13.Location = new System.Drawing.Point(367, 394); + this.endTextBox13.Name = "endTextBox13"; + this.endTextBox13.Size = new System.Drawing.Size(163, 27); + this.endTextBox13.TabIndex = 54; + this.endTextBox13.Visible = false; + this.endTextBox13.TextChanged += new System.EventHandler(this.endTextBox13_TextChanged); + this.endTextBox13.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox13_KeyPress); + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label13.Location = new System.Drawing.Point(23, 397); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(136, 18); + this.label13.TabIndex = 52; + this.label13.Text = "Water Meter 13"; + this.label13.Visible = false; + // + // exclamation25 + // + this.exclamation25.AutoSize = true; + this.exclamation25.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation25.ForeColor = System.Drawing.Color.Red; + this.exclamation25.Location = new System.Drawing.Point(1095, 30); + this.exclamation25.Name = "exclamation25"; + this.exclamation25.Size = new System.Drawing.Size(26, 32); + this.exclamation25.TabIndex = 104; + this.exclamation25.Text = "!"; + this.exclamation25.Visible = false; + // + // startTextBox25 + // + this.startTextBox25.Enabled = false; + this.startTextBox25.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox25.Location = new System.Drawing.Point(748, 34); + this.startTextBox25.Name = "startTextBox25"; + this.startTextBox25.Size = new System.Drawing.Size(163, 27); + this.startTextBox25.TabIndex = 102; + this.startTextBox25.Visible = false; + this.startTextBox25.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox25_KeyPress); + // + // endTextBox25 + // + this.endTextBox25.Enabled = false; + this.endTextBox25.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox25.Location = new System.Drawing.Point(930, 34); + this.endTextBox25.Name = "endTextBox25"; + this.endTextBox25.Size = new System.Drawing.Size(163, 27); + this.endTextBox25.TabIndex = 103; + this.endTextBox25.Visible = false; + this.endTextBox25.TextChanged += new System.EventHandler(this.endTextBox25_TextChanged); + this.endTextBox25.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox25_KeyPress); + // + // label25 + // + this.label25.AutoSize = true; + this.label25.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label25.Location = new System.Drawing.Point(586, 37); + this.label25.Name = "label25"; + this.label25.Size = new System.Drawing.Size(136, 18); + this.label25.TabIndex = 101; + this.label25.Text = "Water Meter 25"; + this.label25.Visible = false; + // + // label26 + // + this.label26.AutoSize = true; + this.label26.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label26.Location = new System.Drawing.Point(586, 67); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(136, 18); + this.label26.TabIndex = 105; + this.label26.Text = "Water Meter 26"; + this.label26.Visible = false; + // + // label27 + // + this.label27.AutoSize = true; + this.label27.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label27.Location = new System.Drawing.Point(586, 97); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(136, 18); + this.label27.TabIndex = 106; + this.label27.Text = "Water Meter 27"; + this.label27.Visible = false; + // + // label28 + // + this.label28.AutoSize = true; + this.label28.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label28.Location = new System.Drawing.Point(586, 127); + this.label28.Name = "label28"; + this.label28.Size = new System.Drawing.Size(136, 18); + this.label28.TabIndex = 107; + this.label28.Text = "Water Meter 28"; + this.label28.Visible = false; + // + // label29 + // + this.label29.AutoSize = true; + this.label29.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label29.Location = new System.Drawing.Point(586, 157); + this.label29.Name = "label29"; + this.label29.Size = new System.Drawing.Size(136, 18); + this.label29.TabIndex = 108; + this.label29.Text = "Water Meter 29"; + this.label29.Visible = false; + // + // label30 + // + this.label30.AutoSize = true; + this.label30.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label30.Location = new System.Drawing.Point(586, 187); + this.label30.Name = "label30"; + this.label30.Size = new System.Drawing.Size(136, 18); + this.label30.TabIndex = 109; + this.label30.Text = "Water Meter 30"; + this.label30.Visible = false; + // + // label31 + // + this.label31.AutoSize = true; + this.label31.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label31.Location = new System.Drawing.Point(586, 217); + this.label31.Name = "label31"; + this.label31.Size = new System.Drawing.Size(136, 18); + this.label31.TabIndex = 110; + this.label31.Text = "Water Meter 31"; + this.label31.Visible = false; + // + // label32 + // + this.label32.AutoSize = true; + this.label32.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label32.Location = new System.Drawing.Point(586, 247); + this.label32.Name = "label32"; + this.label32.Size = new System.Drawing.Size(136, 18); + this.label32.TabIndex = 111; + this.label32.Text = "Water Meter 32"; + this.label32.Visible = false; + // + // label33 + // + this.label33.AutoSize = true; + this.label33.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label33.Location = new System.Drawing.Point(586, 277); + this.label33.Name = "label33"; + this.label33.Size = new System.Drawing.Size(136, 18); + this.label33.TabIndex = 112; + this.label33.Text = "Water Meter 33"; + this.label33.Visible = false; + // + // label34 + // + this.label34.AutoSize = true; + this.label34.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label34.Location = new System.Drawing.Point(586, 307); + this.label34.Name = "label34"; + this.label34.Size = new System.Drawing.Size(136, 18); + this.label34.TabIndex = 113; + this.label34.Text = "Water Meter 34"; + this.label34.Visible = false; + // + // label35 + // + this.label35.AutoSize = true; + this.label35.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label35.Location = new System.Drawing.Point(586, 337); + this.label35.Name = "label35"; + this.label35.Size = new System.Drawing.Size(136, 18); + this.label35.TabIndex = 114; + this.label35.Text = "Water Meter 35"; + this.label35.Visible = false; + // + // label36 + // + this.label36.AutoSize = true; + this.label36.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label36.Location = new System.Drawing.Point(586, 367); + this.label36.Name = "label36"; + this.label36.Size = new System.Drawing.Size(136, 18); + this.label36.TabIndex = 115; + this.label36.Text = "Water Meter 36"; + this.label36.Visible = false; + // + // label37 + // + this.label37.AutoSize = true; + this.label37.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label37.Location = new System.Drawing.Point(586, 397); + this.label37.Name = "label37"; + this.label37.Size = new System.Drawing.Size(136, 18); + this.label37.TabIndex = 116; + this.label37.Text = "Water Meter 37"; + this.label37.Visible = false; + // + // label38 + // + this.label38.AutoSize = true; + this.label38.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label38.Location = new System.Drawing.Point(586, 427); + this.label38.Name = "label38"; + this.label38.Size = new System.Drawing.Size(136, 18); + this.label38.TabIndex = 117; + this.label38.Text = "Water Meter 38"; + this.label38.Visible = false; + // + // label39 + // + this.label39.AutoSize = true; + this.label39.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label39.Location = new System.Drawing.Point(586, 457); + this.label39.Name = "label39"; + this.label39.Size = new System.Drawing.Size(136, 18); + this.label39.TabIndex = 118; + this.label39.Text = "Water Meter 39"; + this.label39.Visible = false; + // + // label40 + // + this.label40.AutoSize = true; + this.label40.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label40.Location = new System.Drawing.Point(586, 487); + this.label40.Name = "label40"; + this.label40.Size = new System.Drawing.Size(136, 18); + this.label40.TabIndex = 119; + this.label40.Text = "Water Meter 40"; + this.label40.Visible = false; + // + // label41 + // + this.label41.AutoSize = true; + this.label41.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label41.Location = new System.Drawing.Point(586, 517); + this.label41.Name = "label41"; + this.label41.Size = new System.Drawing.Size(136, 18); + this.label41.TabIndex = 120; + this.label41.Text = "Water Meter 41"; + this.label41.Visible = false; + // + // label42 + // + this.label42.AutoSize = true; + this.label42.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label42.Location = new System.Drawing.Point(586, 547); + this.label42.Name = "label42"; + this.label42.Size = new System.Drawing.Size(136, 18); + this.label42.TabIndex = 121; + this.label42.Text = "Water Meter 42"; + this.label42.Visible = false; + // + // label43 + // + this.label43.AutoSize = true; + this.label43.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label43.Location = new System.Drawing.Point(586, 577); + this.label43.Name = "label43"; + this.label43.Size = new System.Drawing.Size(136, 18); + this.label43.TabIndex = 122; + this.label43.Text = "Water Meter 43"; + this.label43.Visible = false; + // + // label44 + // + this.label44.AutoSize = true; + this.label44.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label44.Location = new System.Drawing.Point(586, 607); + this.label44.Name = "label44"; + this.label44.Size = new System.Drawing.Size(136, 18); + this.label44.TabIndex = 123; + this.label44.Text = "Water Meter 44"; + this.label44.Visible = false; + // + // label45 + // + this.label45.AutoSize = true; + this.label45.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label45.Location = new System.Drawing.Point(586, 637); + this.label45.Name = "label45"; + this.label45.Size = new System.Drawing.Size(136, 18); + this.label45.TabIndex = 124; + this.label45.Text = "Water Meter 45"; + this.label45.Visible = false; + // + // label46 + // + this.label46.AutoSize = true; + this.label46.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label46.Location = new System.Drawing.Point(586, 667); + this.label46.Name = "label46"; + this.label46.Size = new System.Drawing.Size(136, 18); + this.label46.TabIndex = 125; + this.label46.Text = "Water Meter 46"; + this.label46.Visible = false; + // + // label47 + // + this.label47.AutoSize = true; + this.label47.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label47.Location = new System.Drawing.Point(586, 697); + this.label47.Name = "label47"; + this.label47.Size = new System.Drawing.Size(136, 18); + this.label47.TabIndex = 126; + this.label47.Text = "Water Meter 47"; + this.label47.Visible = false; + // + // label48 + // + this.label48.AutoSize = true; + this.label48.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label48.Location = new System.Drawing.Point(586, 727); + this.label48.Name = "label48"; + this.label48.Size = new System.Drawing.Size(136, 18); + this.label48.TabIndex = 127; + this.label48.Text = "Water Meter 48"; + this.label48.Visible = false; + // + // startTextBox48 + // + this.startTextBox48.Enabled = false; + this.startTextBox48.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox48.Location = new System.Drawing.Point(748, 724); + this.startTextBox48.Name = "startTextBox48"; + this.startTextBox48.Size = new System.Drawing.Size(163, 27); + this.startTextBox48.TabIndex = 150; + this.startTextBox48.Visible = false; + this.startTextBox48.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox48_KeyPress); + // + // startTextBox47 + // + this.startTextBox47.Enabled = false; + this.startTextBox47.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox47.Location = new System.Drawing.Point(748, 694); + this.startTextBox47.Name = "startTextBox47"; + this.startTextBox47.Size = new System.Drawing.Size(163, 27); + this.startTextBox47.TabIndex = 149; + this.startTextBox47.Visible = false; + this.startTextBox47.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox47_KeyPress); + // + // startTextBox46 + // + this.startTextBox46.Enabled = false; + this.startTextBox46.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox46.Location = new System.Drawing.Point(748, 664); + this.startTextBox46.Name = "startTextBox46"; + this.startTextBox46.Size = new System.Drawing.Size(163, 27); + this.startTextBox46.TabIndex = 148; + this.startTextBox46.Visible = false; + this.startTextBox46.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox46_KeyPress); + // + // startTextBox45 + // + this.startTextBox45.Enabled = false; + this.startTextBox45.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox45.Location = new System.Drawing.Point(748, 634); + this.startTextBox45.Name = "startTextBox45"; + this.startTextBox45.Size = new System.Drawing.Size(163, 27); + this.startTextBox45.TabIndex = 147; + this.startTextBox45.Visible = false; + this.startTextBox45.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox45_KeyPress); + // + // startTextBox44 + // + this.startTextBox44.Enabled = false; + this.startTextBox44.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox44.Location = new System.Drawing.Point(748, 604); + this.startTextBox44.Name = "startTextBox44"; + this.startTextBox44.Size = new System.Drawing.Size(163, 27); + this.startTextBox44.TabIndex = 146; + this.startTextBox44.Visible = false; + this.startTextBox44.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox44_KeyPress); + // + // startTextBox43 + // + this.startTextBox43.Enabled = false; + this.startTextBox43.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox43.Location = new System.Drawing.Point(748, 574); + this.startTextBox43.Name = "startTextBox43"; + this.startTextBox43.Size = new System.Drawing.Size(163, 27); + this.startTextBox43.TabIndex = 145; + this.startTextBox43.Visible = false; + this.startTextBox43.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox43_KeyPress); + // + // startTextBox42 + // + this.startTextBox42.Enabled = false; + this.startTextBox42.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox42.Location = new System.Drawing.Point(748, 544); + this.startTextBox42.Name = "startTextBox42"; + this.startTextBox42.Size = new System.Drawing.Size(163, 27); + this.startTextBox42.TabIndex = 144; + this.startTextBox42.Visible = false; + this.startTextBox42.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox42_KeyPress); + // + // startTextBox41 + // + this.startTextBox41.Enabled = false; + this.startTextBox41.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox41.Location = new System.Drawing.Point(748, 514); + this.startTextBox41.Name = "startTextBox41"; + this.startTextBox41.Size = new System.Drawing.Size(163, 27); + this.startTextBox41.TabIndex = 143; + this.startTextBox41.Visible = false; + this.startTextBox41.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox41_KeyPress); + // + // startTextBox40 + // + this.startTextBox40.Enabled = false; + this.startTextBox40.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox40.Location = new System.Drawing.Point(748, 484); + this.startTextBox40.Name = "startTextBox40"; + this.startTextBox40.Size = new System.Drawing.Size(163, 27); + this.startTextBox40.TabIndex = 142; + this.startTextBox40.Visible = false; + this.startTextBox40.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox40_KeyPress); + // + // startTextBox39 + // + this.startTextBox39.Enabled = false; + this.startTextBox39.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox39.Location = new System.Drawing.Point(748, 454); + this.startTextBox39.Name = "startTextBox39"; + this.startTextBox39.Size = new System.Drawing.Size(163, 27); + this.startTextBox39.TabIndex = 141; + this.startTextBox39.Visible = false; + this.startTextBox39.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox39_KeyPress); + // + // startTextBox38 + // + this.startTextBox38.Enabled = false; + this.startTextBox38.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox38.Location = new System.Drawing.Point(748, 424); + this.startTextBox38.Name = "startTextBox38"; + this.startTextBox38.Size = new System.Drawing.Size(163, 27); + this.startTextBox38.TabIndex = 140; + this.startTextBox38.Visible = false; + this.startTextBox38.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox38_KeyPress); + // + // startTextBox37 + // + this.startTextBox37.Enabled = false; + this.startTextBox37.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox37.Location = new System.Drawing.Point(748, 394); + this.startTextBox37.Name = "startTextBox37"; + this.startTextBox37.Size = new System.Drawing.Size(163, 27); + this.startTextBox37.TabIndex = 139; + this.startTextBox37.Visible = false; + this.startTextBox37.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox37_KeyPress); + // + // startTextBox36 + // + this.startTextBox36.Enabled = false; + this.startTextBox36.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox36.Location = new System.Drawing.Point(748, 364); + this.startTextBox36.Name = "startTextBox36"; + this.startTextBox36.Size = new System.Drawing.Size(163, 27); + this.startTextBox36.TabIndex = 138; + this.startTextBox36.Visible = false; + this.startTextBox36.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox36_KeyPress); + // + // startTextBox35 + // + this.startTextBox35.Enabled = false; + this.startTextBox35.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox35.Location = new System.Drawing.Point(748, 334); + this.startTextBox35.Name = "startTextBox35"; + this.startTextBox35.Size = new System.Drawing.Size(163, 27); + this.startTextBox35.TabIndex = 137; + this.startTextBox35.Visible = false; + this.startTextBox35.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox35_KeyPress); + // + // startTextBox34 + // + this.startTextBox34.Enabled = false; + this.startTextBox34.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox34.Location = new System.Drawing.Point(748, 304); + this.startTextBox34.Name = "startTextBox34"; + this.startTextBox34.Size = new System.Drawing.Size(163, 27); + this.startTextBox34.TabIndex = 136; + this.startTextBox34.Visible = false; + this.startTextBox34.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox34_KeyPress); + // + // startTextBox33 + // + this.startTextBox33.Enabled = false; + this.startTextBox33.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox33.Location = new System.Drawing.Point(748, 274); + this.startTextBox33.Name = "startTextBox33"; + this.startTextBox33.Size = new System.Drawing.Size(163, 27); + this.startTextBox33.TabIndex = 135; + this.startTextBox33.Visible = false; + this.startTextBox33.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox33_KeyPress); + // + // startTextBox32 + // + this.startTextBox32.Enabled = false; + this.startTextBox32.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox32.Location = new System.Drawing.Point(748, 244); + this.startTextBox32.Name = "startTextBox32"; + this.startTextBox32.Size = new System.Drawing.Size(163, 27); + this.startTextBox32.TabIndex = 134; + this.startTextBox32.Visible = false; + this.startTextBox32.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox32_KeyPress); + // + // startTextBox31 + // + this.startTextBox31.Enabled = false; + this.startTextBox31.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox31.Location = new System.Drawing.Point(748, 214); + this.startTextBox31.Name = "startTextBox31"; + this.startTextBox31.Size = new System.Drawing.Size(163, 27); + this.startTextBox31.TabIndex = 133; + this.startTextBox31.Visible = false; + this.startTextBox31.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox31_KeyPress); + // + // startTextBox30 + // + this.startTextBox30.Enabled = false; + this.startTextBox30.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox30.Location = new System.Drawing.Point(748, 184); + this.startTextBox30.Name = "startTextBox30"; + this.startTextBox30.Size = new System.Drawing.Size(163, 27); + this.startTextBox30.TabIndex = 132; + this.startTextBox30.Visible = false; + this.startTextBox30.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox30_KeyPress); + // + // startTextBox29 + // + this.startTextBox29.Enabled = false; + this.startTextBox29.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox29.Location = new System.Drawing.Point(748, 154); + this.startTextBox29.Name = "startTextBox29"; + this.startTextBox29.Size = new System.Drawing.Size(163, 27); + this.startTextBox29.TabIndex = 131; + this.startTextBox29.Visible = false; + this.startTextBox29.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox29_KeyPress); + // + // startTextBox28 + // + this.startTextBox28.Enabled = false; + this.startTextBox28.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox28.Location = new System.Drawing.Point(748, 124); + this.startTextBox28.Name = "startTextBox28"; + this.startTextBox28.Size = new System.Drawing.Size(163, 27); + this.startTextBox28.TabIndex = 130; + this.startTextBox28.Visible = false; + this.startTextBox28.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox28_KeyPress); + // + // startTextBox27 + // + this.startTextBox27.Enabled = false; + this.startTextBox27.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox27.Location = new System.Drawing.Point(748, 94); + this.startTextBox27.Name = "startTextBox27"; + this.startTextBox27.Size = new System.Drawing.Size(163, 27); + this.startTextBox27.TabIndex = 129; + this.startTextBox27.Visible = false; + this.startTextBox27.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox27_KeyPress); + // + // startTextBox26 + // + this.startTextBox26.Enabled = false; + this.startTextBox26.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.startTextBox26.Location = new System.Drawing.Point(748, 64); + this.startTextBox26.Name = "startTextBox26"; + this.startTextBox26.Size = new System.Drawing.Size(163, 27); + this.startTextBox26.TabIndex = 128; + this.startTextBox26.Visible = false; + this.startTextBox26.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.startTextBox26_KeyPress); + // + // exclamation48 + // + this.exclamation48.AutoSize = true; + this.exclamation48.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation48.ForeColor = System.Drawing.Color.Red; + this.exclamation48.Location = new System.Drawing.Point(1095, 720); + this.exclamation48.Name = "exclamation48"; + this.exclamation48.Size = new System.Drawing.Size(26, 32); + this.exclamation48.TabIndex = 196; + this.exclamation48.Text = "!"; + this.exclamation48.Visible = false; + // + // endTextBox48 + // + this.endTextBox48.Enabled = false; + this.endTextBox48.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox48.Location = new System.Drawing.Point(930, 724); + this.endTextBox48.Name = "endTextBox48"; + this.endTextBox48.Size = new System.Drawing.Size(163, 27); + this.endTextBox48.TabIndex = 195; + this.endTextBox48.Visible = false; + this.endTextBox48.TextChanged += new System.EventHandler(this.endTextBox48_TextChanged); + this.endTextBox48.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox48_KeyPress); + // + // exclamation47 + // + this.exclamation47.AutoSize = true; + this.exclamation47.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation47.ForeColor = System.Drawing.Color.Red; + this.exclamation47.Location = new System.Drawing.Point(1095, 690); + this.exclamation47.Name = "exclamation47"; + this.exclamation47.Size = new System.Drawing.Size(26, 32); + this.exclamation47.TabIndex = 194; + this.exclamation47.Text = "!"; + this.exclamation47.Visible = false; + // + // endTextBox47 + // + this.endTextBox47.Enabled = false; + this.endTextBox47.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox47.Location = new System.Drawing.Point(930, 694); + this.endTextBox47.Name = "endTextBox47"; + this.endTextBox47.Size = new System.Drawing.Size(163, 27); + this.endTextBox47.TabIndex = 193; + this.endTextBox47.Visible = false; + this.endTextBox47.TextChanged += new System.EventHandler(this.endTextBox47_TextChanged); + this.endTextBox47.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox47_KeyPress); + // + // exclamation46 + // + this.exclamation46.AutoSize = true; + this.exclamation46.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation46.ForeColor = System.Drawing.Color.Red; + this.exclamation46.Location = new System.Drawing.Point(1095, 660); + this.exclamation46.Name = "exclamation46"; + this.exclamation46.Size = new System.Drawing.Size(26, 32); + this.exclamation46.TabIndex = 192; + this.exclamation46.Text = "!"; + this.exclamation46.Visible = false; + // + // endTextBox46 + // + this.endTextBox46.Enabled = false; + this.endTextBox46.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox46.Location = new System.Drawing.Point(930, 664); + this.endTextBox46.Name = "endTextBox46"; + this.endTextBox46.Size = new System.Drawing.Size(163, 27); + this.endTextBox46.TabIndex = 191; + this.endTextBox46.Visible = false; + this.endTextBox46.TextChanged += new System.EventHandler(this.endTextBox46_TextChanged); + this.endTextBox46.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox46_KeyPress); + // + // exclamation45 + // + this.exclamation45.AutoSize = true; + this.exclamation45.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation45.ForeColor = System.Drawing.Color.Red; + this.exclamation45.Location = new System.Drawing.Point(1095, 630); + this.exclamation45.Name = "exclamation45"; + this.exclamation45.Size = new System.Drawing.Size(26, 32); + this.exclamation45.TabIndex = 190; + this.exclamation45.Text = "!"; + this.exclamation45.Visible = false; + // + // endTextBox45 + // + this.endTextBox45.Enabled = false; + this.endTextBox45.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox45.Location = new System.Drawing.Point(930, 634); + this.endTextBox45.Name = "endTextBox45"; + this.endTextBox45.Size = new System.Drawing.Size(163, 27); + this.endTextBox45.TabIndex = 189; + this.endTextBox45.Visible = false; + this.endTextBox45.TextChanged += new System.EventHandler(this.endTextBox45_TextChanged); + this.endTextBox45.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox45_KeyPress); + // + // exclamation44 + // + this.exclamation44.AutoSize = true; + this.exclamation44.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation44.ForeColor = System.Drawing.Color.Red; + this.exclamation44.Location = new System.Drawing.Point(1095, 600); + this.exclamation44.Name = "exclamation44"; + this.exclamation44.Size = new System.Drawing.Size(26, 32); + this.exclamation44.TabIndex = 188; + this.exclamation44.Text = "!"; + this.exclamation44.Visible = false; + // + // endTextBox44 + // + this.endTextBox44.Enabled = false; + this.endTextBox44.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox44.Location = new System.Drawing.Point(930, 604); + this.endTextBox44.Name = "endTextBox44"; + this.endTextBox44.Size = new System.Drawing.Size(163, 27); + this.endTextBox44.TabIndex = 187; + this.endTextBox44.Visible = false; + this.endTextBox44.TextChanged += new System.EventHandler(this.endTextBox44_TextChanged); + this.endTextBox44.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox44_KeyPress); + // + // exclamation43 + // + this.exclamation43.AutoSize = true; + this.exclamation43.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation43.ForeColor = System.Drawing.Color.Red; + this.exclamation43.Location = new System.Drawing.Point(1095, 570); + this.exclamation43.Name = "exclamation43"; + this.exclamation43.Size = new System.Drawing.Size(26, 32); + this.exclamation43.TabIndex = 186; + this.exclamation43.Text = "!"; + this.exclamation43.Visible = false; + // + // endTextBox43 + // + this.endTextBox43.Enabled = false; + this.endTextBox43.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox43.Location = new System.Drawing.Point(930, 574); + this.endTextBox43.Name = "endTextBox43"; + this.endTextBox43.Size = new System.Drawing.Size(163, 27); + this.endTextBox43.TabIndex = 185; + this.endTextBox43.Visible = false; + this.endTextBox43.TextChanged += new System.EventHandler(this.endTextBox43_TextChanged); + this.endTextBox43.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox43_KeyPress); + // + // exclamation42 + // + this.exclamation42.AutoSize = true; + this.exclamation42.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation42.ForeColor = System.Drawing.Color.Red; + this.exclamation42.Location = new System.Drawing.Point(1095, 540); + this.exclamation42.Name = "exclamation42"; + this.exclamation42.Size = new System.Drawing.Size(26, 32); + this.exclamation42.TabIndex = 184; + this.exclamation42.Text = "!"; + this.exclamation42.Visible = false; + // + // exclamation41 + // + this.exclamation41.AutoSize = true; + this.exclamation41.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation41.ForeColor = System.Drawing.Color.Red; + this.exclamation41.Location = new System.Drawing.Point(1095, 510); + this.exclamation41.Name = "exclamation41"; + this.exclamation41.Size = new System.Drawing.Size(26, 32); + this.exclamation41.TabIndex = 182; + this.exclamation41.Text = "!"; + this.exclamation41.Visible = false; + // + // exclamation40 + // + this.exclamation40.AutoSize = true; + this.exclamation40.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation40.ForeColor = System.Drawing.Color.Red; + this.exclamation40.Location = new System.Drawing.Point(1095, 480); + this.exclamation40.Name = "exclamation40"; + this.exclamation40.Size = new System.Drawing.Size(26, 32); + this.exclamation40.TabIndex = 180; + this.exclamation40.Text = "!"; + this.exclamation40.Visible = false; + // + // endTextBox42 + // + this.endTextBox42.Enabled = false; + this.endTextBox42.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox42.Location = new System.Drawing.Point(930, 544); + this.endTextBox42.Name = "endTextBox42"; + this.endTextBox42.Size = new System.Drawing.Size(163, 27); + this.endTextBox42.TabIndex = 183; + this.endTextBox42.Visible = false; + this.endTextBox42.TextChanged += new System.EventHandler(this.endTextBox42_TextChanged); + this.endTextBox42.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox42_KeyPress); + // + // exclamation39 + // + this.exclamation39.AutoSize = true; + this.exclamation39.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation39.ForeColor = System.Drawing.Color.Red; + this.exclamation39.Location = new System.Drawing.Point(1095, 450); + this.exclamation39.Name = "exclamation39"; + this.exclamation39.Size = new System.Drawing.Size(26, 32); + this.exclamation39.TabIndex = 178; + this.exclamation39.Text = "!"; + this.exclamation39.Visible = false; + // + // endTextBox41 + // + this.endTextBox41.Enabled = false; + this.endTextBox41.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox41.Location = new System.Drawing.Point(930, 514); + this.endTextBox41.Name = "endTextBox41"; + this.endTextBox41.Size = new System.Drawing.Size(163, 27); + this.endTextBox41.TabIndex = 181; + this.endTextBox41.Visible = false; + this.endTextBox41.TextChanged += new System.EventHandler(this.endTextBox41_TextChanged); + this.endTextBox41.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox41_KeyPress); + // + // exclamation38 + // + this.exclamation38.AutoSize = true; + this.exclamation38.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation38.ForeColor = System.Drawing.Color.Red; + this.exclamation38.Location = new System.Drawing.Point(1095, 420); + this.exclamation38.Name = "exclamation38"; + this.exclamation38.Size = new System.Drawing.Size(26, 32); + this.exclamation38.TabIndex = 176; + this.exclamation38.Text = "!"; + this.exclamation38.Visible = false; + // + // endTextBox40 + // + this.endTextBox40.Enabled = false; + this.endTextBox40.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox40.Location = new System.Drawing.Point(930, 484); + this.endTextBox40.Name = "endTextBox40"; + this.endTextBox40.Size = new System.Drawing.Size(163, 27); + this.endTextBox40.TabIndex = 179; + this.endTextBox40.Visible = false; + this.endTextBox40.TextChanged += new System.EventHandler(this.endTextBox40_TextChanged); + this.endTextBox40.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox40_KeyPress); + // + // exclamation37 + // + this.exclamation37.AutoSize = true; + this.exclamation37.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation37.ForeColor = System.Drawing.Color.Red; + this.exclamation37.Location = new System.Drawing.Point(1095, 390); + this.exclamation37.Name = "exclamation37"; + this.exclamation37.Size = new System.Drawing.Size(26, 32); + this.exclamation37.TabIndex = 174; + this.exclamation37.Text = "!"; + this.exclamation37.Visible = false; + // + // endTextBox39 + // + this.endTextBox39.Enabled = false; + this.endTextBox39.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox39.Location = new System.Drawing.Point(930, 454); + this.endTextBox39.Name = "endTextBox39"; + this.endTextBox39.Size = new System.Drawing.Size(163, 27); + this.endTextBox39.TabIndex = 177; + this.endTextBox39.Visible = false; + this.endTextBox39.TextChanged += new System.EventHandler(this.endTextBox39_TextChanged); + this.endTextBox39.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox39_KeyPress); + // + // endTextBox38 + // + this.endTextBox38.Enabled = false; + this.endTextBox38.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox38.Location = new System.Drawing.Point(930, 424); + this.endTextBox38.Name = "endTextBox38"; + this.endTextBox38.Size = new System.Drawing.Size(163, 27); + this.endTextBox38.TabIndex = 175; + this.endTextBox38.Visible = false; + this.endTextBox38.TextChanged += new System.EventHandler(this.endTextBox38_TextChanged); + this.endTextBox38.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox38_KeyPress); + // + // endTextBox37 + // + this.endTextBox37.Enabled = false; + this.endTextBox37.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox37.Location = new System.Drawing.Point(930, 394); + this.endTextBox37.Name = "endTextBox37"; + this.endTextBox37.Size = new System.Drawing.Size(163, 27); + this.endTextBox37.TabIndex = 173; + this.endTextBox37.Visible = false; + this.endTextBox37.TextChanged += new System.EventHandler(this.endTextBox37_TextChanged); + this.endTextBox37.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox37_KeyPress); + // + // exclamation36 + // + this.exclamation36.AutoSize = true; + this.exclamation36.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation36.ForeColor = System.Drawing.Color.Red; + this.exclamation36.Location = new System.Drawing.Point(1095, 360); + this.exclamation36.Name = "exclamation36"; + this.exclamation36.Size = new System.Drawing.Size(26, 32); + this.exclamation36.TabIndex = 172; + this.exclamation36.Text = "!"; + this.exclamation36.Visible = false; + // + // endTextBox36 + // + this.endTextBox36.Enabled = false; + this.endTextBox36.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox36.Location = new System.Drawing.Point(930, 364); + this.endTextBox36.Name = "endTextBox36"; + this.endTextBox36.Size = new System.Drawing.Size(163, 27); + this.endTextBox36.TabIndex = 171; + this.endTextBox36.Visible = false; + this.endTextBox36.TextChanged += new System.EventHandler(this.endTextBox36_TextChanged); + this.endTextBox36.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox36_KeyPress); + // + // exclamation35 + // + this.exclamation35.AutoSize = true; + this.exclamation35.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation35.ForeColor = System.Drawing.Color.Red; + this.exclamation35.Location = new System.Drawing.Point(1095, 330); + this.exclamation35.Name = "exclamation35"; + this.exclamation35.Size = new System.Drawing.Size(26, 32); + this.exclamation35.TabIndex = 170; + this.exclamation35.Text = "!"; + this.exclamation35.Visible = false; + // + // endTextBox35 + // + this.endTextBox35.Enabled = false; + this.endTextBox35.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox35.Location = new System.Drawing.Point(930, 334); + this.endTextBox35.Name = "endTextBox35"; + this.endTextBox35.Size = new System.Drawing.Size(163, 27); + this.endTextBox35.TabIndex = 169; + this.endTextBox35.Visible = false; + this.endTextBox35.TextChanged += new System.EventHandler(this.endTextBox35_TextChanged); + this.endTextBox35.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox35_KeyPress); + // + // exclamation34 + // + this.exclamation34.AutoSize = true; + this.exclamation34.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation34.ForeColor = System.Drawing.Color.Red; + this.exclamation34.Location = new System.Drawing.Point(1095, 300); + this.exclamation34.Name = "exclamation34"; + this.exclamation34.Size = new System.Drawing.Size(26, 32); + this.exclamation34.TabIndex = 168; + this.exclamation34.Text = "!"; + this.exclamation34.Visible = false; + // + // endTextBox34 + // + this.endTextBox34.Enabled = false; + this.endTextBox34.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox34.Location = new System.Drawing.Point(930, 304); + this.endTextBox34.Name = "endTextBox34"; + this.endTextBox34.Size = new System.Drawing.Size(163, 27); + this.endTextBox34.TabIndex = 167; + this.endTextBox34.Visible = false; + this.endTextBox34.TextChanged += new System.EventHandler(this.endTextBox34_TextChanged); + this.endTextBox34.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox34_KeyPress); + // + // exclamation33 + // + this.exclamation33.AutoSize = true; + this.exclamation33.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation33.ForeColor = System.Drawing.Color.Red; + this.exclamation33.Location = new System.Drawing.Point(1095, 270); + this.exclamation33.Name = "exclamation33"; + this.exclamation33.Size = new System.Drawing.Size(26, 32); + this.exclamation33.TabIndex = 166; + this.exclamation33.Text = "!"; + this.exclamation33.Visible = false; + // + // endTextBox33 + // + this.endTextBox33.Enabled = false; + this.endTextBox33.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox33.Location = new System.Drawing.Point(930, 274); + this.endTextBox33.Name = "endTextBox33"; + this.endTextBox33.Size = new System.Drawing.Size(163, 27); + this.endTextBox33.TabIndex = 165; + this.endTextBox33.Visible = false; + this.endTextBox33.TextChanged += new System.EventHandler(this.endTextBox33_TextChanged); + this.endTextBox33.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox33_KeyPress); + // + // exclamation32 + // + this.exclamation32.AutoSize = true; + this.exclamation32.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation32.ForeColor = System.Drawing.Color.Red; + this.exclamation32.Location = new System.Drawing.Point(1095, 240); + this.exclamation32.Name = "exclamation32"; + this.exclamation32.Size = new System.Drawing.Size(26, 32); + this.exclamation32.TabIndex = 164; + this.exclamation32.Text = "!"; + this.exclamation32.Visible = false; + // + // endTextBox32 + // + this.endTextBox32.Enabled = false; + this.endTextBox32.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox32.Location = new System.Drawing.Point(930, 244); + this.endTextBox32.Name = "endTextBox32"; + this.endTextBox32.Size = new System.Drawing.Size(163, 27); + this.endTextBox32.TabIndex = 163; + this.endTextBox32.Visible = false; + this.endTextBox32.TextChanged += new System.EventHandler(this.endTextBox32_TextChanged); + this.endTextBox32.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox32_KeyPress); + // + // exclamation31 + // + this.exclamation31.AutoSize = true; + this.exclamation31.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation31.ForeColor = System.Drawing.Color.Red; + this.exclamation31.Location = new System.Drawing.Point(1095, 210); + this.exclamation31.Name = "exclamation31"; + this.exclamation31.Size = new System.Drawing.Size(26, 32); + this.exclamation31.TabIndex = 162; + this.exclamation31.Text = "!"; + this.exclamation31.Visible = false; + // + // endTextBox31 + // + this.endTextBox31.Enabled = false; + this.endTextBox31.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox31.Location = new System.Drawing.Point(930, 214); + this.endTextBox31.Name = "endTextBox31"; + this.endTextBox31.Size = new System.Drawing.Size(163, 27); + this.endTextBox31.TabIndex = 161; + this.endTextBox31.Visible = false; + this.endTextBox31.TextChanged += new System.EventHandler(this.endTextBox31_TextChanged); + this.endTextBox31.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox31_KeyPress); + // + // exclamation30 + // + this.exclamation30.AutoSize = true; + this.exclamation30.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation30.ForeColor = System.Drawing.Color.Red; + this.exclamation30.Location = new System.Drawing.Point(1095, 180); + this.exclamation30.Name = "exclamation30"; + this.exclamation30.Size = new System.Drawing.Size(26, 32); + this.exclamation30.TabIndex = 160; + this.exclamation30.Text = "!"; + this.exclamation30.Visible = false; + // + // exclamation29 + // + this.exclamation29.AutoSize = true; + this.exclamation29.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation29.ForeColor = System.Drawing.Color.Red; + this.exclamation29.Location = new System.Drawing.Point(1095, 150); + this.exclamation29.Name = "exclamation29"; + this.exclamation29.Size = new System.Drawing.Size(26, 32); + this.exclamation29.TabIndex = 158; + this.exclamation29.Text = "!"; + this.exclamation29.Visible = false; + // + // exclamation28 + // + this.exclamation28.AutoSize = true; + this.exclamation28.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation28.ForeColor = System.Drawing.Color.Red; + this.exclamation28.Location = new System.Drawing.Point(1095, 120); + this.exclamation28.Name = "exclamation28"; + this.exclamation28.Size = new System.Drawing.Size(26, 32); + this.exclamation28.TabIndex = 156; + this.exclamation28.Text = "!"; + this.exclamation28.Visible = false; + // + // endTextBox30 + // + this.endTextBox30.Enabled = false; + this.endTextBox30.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox30.Location = new System.Drawing.Point(930, 184); + this.endTextBox30.Name = "endTextBox30"; + this.endTextBox30.Size = new System.Drawing.Size(163, 27); + this.endTextBox30.TabIndex = 159; + this.endTextBox30.Visible = false; + this.endTextBox30.TextChanged += new System.EventHandler(this.endTextBox30_TextChanged); + this.endTextBox30.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox30_KeyPress); + // + // exclamation27 + // + this.exclamation27.AutoSize = true; + this.exclamation27.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation27.ForeColor = System.Drawing.Color.Red; + this.exclamation27.Location = new System.Drawing.Point(1095, 90); + this.exclamation27.Name = "exclamation27"; + this.exclamation27.Size = new System.Drawing.Size(26, 32); + this.exclamation27.TabIndex = 154; + this.exclamation27.Text = "!"; + this.exclamation27.Visible = false; + // + // endTextBox29 + // + this.endTextBox29.Enabled = false; + this.endTextBox29.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox29.Location = new System.Drawing.Point(930, 154); + this.endTextBox29.Name = "endTextBox29"; + this.endTextBox29.Size = new System.Drawing.Size(163, 27); + this.endTextBox29.TabIndex = 157; + this.endTextBox29.Visible = false; + this.endTextBox29.TextChanged += new System.EventHandler(this.endTextBox29_TextChanged); + this.endTextBox29.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox29_KeyPress); + // + // exclamation26 + // + this.exclamation26.AutoSize = true; + this.exclamation26.Font = new System.Drawing.Font("Verdana", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.exclamation26.ForeColor = System.Drawing.Color.Red; + this.exclamation26.Location = new System.Drawing.Point(1095, 60); + this.exclamation26.Name = "exclamation26"; + this.exclamation26.Size = new System.Drawing.Size(26, 32); + this.exclamation26.TabIndex = 152; + this.exclamation26.Text = "!"; + this.exclamation26.Visible = false; + // + // endTextBox28 + // + this.endTextBox28.Enabled = false; + this.endTextBox28.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox28.Location = new System.Drawing.Point(930, 124); + this.endTextBox28.Name = "endTextBox28"; + this.endTextBox28.Size = new System.Drawing.Size(163, 27); + this.endTextBox28.TabIndex = 155; + this.endTextBox28.Visible = false; + this.endTextBox28.TextChanged += new System.EventHandler(this.endTextBox28_TextChanged); + this.endTextBox28.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox28_KeyPress); + // + // endTextBox27 + // + this.endTextBox27.Enabled = false; + this.endTextBox27.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox27.Location = new System.Drawing.Point(930, 94); + this.endTextBox27.Name = "endTextBox27"; + this.endTextBox27.Size = new System.Drawing.Size(163, 27); + this.endTextBox27.TabIndex = 153; + this.endTextBox27.Visible = false; + this.endTextBox27.TextChanged += new System.EventHandler(this.endTextBox27_TextChanged); + this.endTextBox27.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox27_KeyPress); + // + // endTextBox26 + // + this.endTextBox26.Enabled = false; + this.endTextBox26.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.endTextBox26.Location = new System.Drawing.Point(930, 64); + this.endTextBox26.Name = "endTextBox26"; + this.endTextBox26.Size = new System.Drawing.Size(163, 27); + this.endTextBox26.TabIndex = 151; + this.endTextBox26.Visible = false; + this.endTextBox26.TextChanged += new System.EventHandler(this.endTextBox26_TextChanged); + this.endTextBox26.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.endTextBox26_KeyPress); + // + // TestStartEndForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.DarkGray; + this.ClientSize = new System.Drawing.Size(1267, 758); + this.Controls.Add(this.exclamation48); + this.Controls.Add(this.endTextBox48); + this.Controls.Add(this.exclamation47); + this.Controls.Add(this.endTextBox47); + this.Controls.Add(this.exclamation46); + this.Controls.Add(this.endTextBox46); + this.Controls.Add(this.exclamation45); + this.Controls.Add(this.endTextBox45); + this.Controls.Add(this.exclamation44); + this.Controls.Add(this.endTextBox44); + this.Controls.Add(this.exclamation43); + this.Controls.Add(this.endTextBox43); + this.Controls.Add(this.exclamation42); + this.Controls.Add(this.exclamation41); + this.Controls.Add(this.exclamation40); + this.Controls.Add(this.endTextBox42); + this.Controls.Add(this.exclamation39); + this.Controls.Add(this.endTextBox41); + this.Controls.Add(this.exclamation38); + this.Controls.Add(this.endTextBox40); + this.Controls.Add(this.exclamation37); + this.Controls.Add(this.endTextBox39); + this.Controls.Add(this.endTextBox38); + this.Controls.Add(this.endTextBox37); + this.Controls.Add(this.exclamation36); + this.Controls.Add(this.endTextBox36); + this.Controls.Add(this.exclamation35); + this.Controls.Add(this.endTextBox35); + this.Controls.Add(this.exclamation34); + this.Controls.Add(this.endTextBox34); + this.Controls.Add(this.exclamation33); + this.Controls.Add(this.endTextBox33); + this.Controls.Add(this.exclamation32); + this.Controls.Add(this.endTextBox32); + this.Controls.Add(this.exclamation31); + this.Controls.Add(this.endTextBox31); + this.Controls.Add(this.exclamation30); + this.Controls.Add(this.exclamation29); + this.Controls.Add(this.exclamation28); + this.Controls.Add(this.endTextBox30); + this.Controls.Add(this.exclamation27); + this.Controls.Add(this.endTextBox29); + this.Controls.Add(this.exclamation26); + this.Controls.Add(this.endTextBox28); + this.Controls.Add(this.endTextBox27); + this.Controls.Add(this.endTextBox26); + this.Controls.Add(this.startTextBox48); + this.Controls.Add(this.startTextBox47); + this.Controls.Add(this.startTextBox46); + this.Controls.Add(this.startTextBox45); + this.Controls.Add(this.startTextBox44); + this.Controls.Add(this.startTextBox43); + this.Controls.Add(this.startTextBox42); + this.Controls.Add(this.startTextBox41); + this.Controls.Add(this.startTextBox40); + this.Controls.Add(this.startTextBox39); + this.Controls.Add(this.startTextBox38); + this.Controls.Add(this.startTextBox37); + this.Controls.Add(this.startTextBox36); + this.Controls.Add(this.startTextBox35); + this.Controls.Add(this.startTextBox34); + this.Controls.Add(this.startTextBox33); + this.Controls.Add(this.startTextBox32); + this.Controls.Add(this.startTextBox31); + this.Controls.Add(this.startTextBox30); + this.Controls.Add(this.startTextBox29); + this.Controls.Add(this.startTextBox28); + this.Controls.Add(this.startTextBox27); + this.Controls.Add(this.startTextBox26); + this.Controls.Add(this.label48); + this.Controls.Add(this.label47); + this.Controls.Add(this.label46); + this.Controls.Add(this.label45); + this.Controls.Add(this.label44); + this.Controls.Add(this.label43); + this.Controls.Add(this.label42); + this.Controls.Add(this.label41); + this.Controls.Add(this.label40); + this.Controls.Add(this.label39); + this.Controls.Add(this.label38); + this.Controls.Add(this.label37); + this.Controls.Add(this.label36); + this.Controls.Add(this.label35); + this.Controls.Add(this.label34); + this.Controls.Add(this.label33); + this.Controls.Add(this.label32); + this.Controls.Add(this.label31); + this.Controls.Add(this.label30); + this.Controls.Add(this.label29); + this.Controls.Add(this.label28); + this.Controls.Add(this.label27); + this.Controls.Add(this.label26); + this.Controls.Add(this.exclamation25); + this.Controls.Add(this.startTextBox25); + this.Controls.Add(this.endTextBox25); + this.Controls.Add(this.label25); + this.Controls.Add(this.exclamation24); + this.Controls.Add(this.startTextBox24); + this.Controls.Add(this.endTextBox24); + this.Controls.Add(this.label24); + this.Controls.Add(this.exclamation23); + this.Controls.Add(this.startTextBox23); + this.Controls.Add(this.endTextBox23); + this.Controls.Add(this.label23); + this.Controls.Add(this.exclamation22); + this.Controls.Add(this.startTextBox22); + this.Controls.Add(this.endTextBox22); + this.Controls.Add(this.label22); + this.Controls.Add(this.exclamation21); + this.Controls.Add(this.startTextBox21); + this.Controls.Add(this.endTextBox21); + this.Controls.Add(this.label21); + this.Controls.Add(this.exclamation20); + this.Controls.Add(this.startTextBox20); + this.Controls.Add(this.endTextBox20); + this.Controls.Add(this.label20); + this.Controls.Add(this.exclamation19); + this.Controls.Add(this.startTextBox19); + this.Controls.Add(this.endTextBox19); + this.Controls.Add(this.label19); + this.Controls.Add(this.exclamation18); + this.Controls.Add(this.exclamation17); + this.Controls.Add(this.startTextBox18); + this.Controls.Add(this.exclamation16); + this.Controls.Add(this.endTextBox18); + this.Controls.Add(this.label18); + this.Controls.Add(this.startTextBox17); + this.Controls.Add(this.exclamation15); + this.Controls.Add(this.endTextBox17); + this.Controls.Add(this.label17); + this.Controls.Add(this.startTextBox16); + this.Controls.Add(this.exclamation14); + this.Controls.Add(this.endTextBox16); + this.Controls.Add(this.label16); + this.Controls.Add(this.startTextBox15); + this.Controls.Add(this.exclamation13); + this.Controls.Add(this.endTextBox15); + this.Controls.Add(this.label15); + this.Controls.Add(this.startTextBox14); + this.Controls.Add(this.end2Label); + this.Controls.Add(this.endTextBox14); + this.Controls.Add(this.label14); + this.Controls.Add(this.startTextBox13); + this.Controls.Add(this.start2Label); + this.Controls.Add(this.endTextBox13); + this.Controls.Add(this.label13); + this.Controls.Add(this.exclamation12); + this.Controls.Add(this.startTextBox12); + this.Controls.Add(this.endTextBox12); + this.Controls.Add(this.label12); + this.Controls.Add(this.exclamation11); + this.Controls.Add(this.startTextBox11); + this.Controls.Add(this.endTextBox11); + this.Controls.Add(this.label11); + this.Controls.Add(this.exclamation10); + this.Controls.Add(this.startTextBox10); + this.Controls.Add(this.endTextBox10); + this.Controls.Add(this.label10); + this.Controls.Add(this.exclamation9); + this.Controls.Add(this.startTextBox9); + this.Controls.Add(this.endTextBox9); + this.Controls.Add(this.label9); + this.Controls.Add(this.exclamation8); + this.Controls.Add(this.startTextBox8); + this.Controls.Add(this.endTextBox8); + this.Controls.Add(this.label8); + this.Controls.Add(this.exclamation7); + this.Controls.Add(this.startTextBox7); + this.Controls.Add(this.endTextBox7); + this.Controls.Add(this.label7); + this.Controls.Add(this.exclamation6); + this.Controls.Add(this.exclamation5); + this.Controls.Add(this.startTextBox6); + this.Controls.Add(this.exclamation4); + this.Controls.Add(this.endTextBox6); + this.Controls.Add(this.label6); + this.Controls.Add(this.startTextBox5); + this.Controls.Add(this.exclamation3); + this.Controls.Add(this.endTextBox5); + this.Controls.Add(this.label5); + this.Controls.Add(this.startTextBox4); + this.Controls.Add(this.exclamation2); + this.Controls.Add(this.endTextBox4); + this.Controls.Add(this.label4); + this.Controls.Add(this.startTextBox3); + this.Controls.Add(this.exclamation1); + this.Controls.Add(this.endTextBox3); + this.Controls.Add(this.label3); + this.Controls.Add(this.startTextBox2); + this.Controls.Add(this.endLabel); + this.Controls.Add(this.endTextBox2); + this.Controls.Add(this.label2); + this.Controls.Add(this.startTextBox1); + this.Controls.Add(this.startLabel); + this.Controls.Add(this.endTextBox1); + this.Controls.Add(this.label1); + this.Controls.Add(this.okButton); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "TestStartEndForm"; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.Text = "End States"; + this.TopMost = true; + this.Load += new System.EventHandler(this.CycleEndForm_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox endTextBox1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Button okButton; + private System.Windows.Forms.TextBox endTextBox3; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox endTextBox4; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox endTextBox5; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox endTextBox6; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox startTextBox1; + private System.Windows.Forms.TextBox startTextBox3; + private System.Windows.Forms.TextBox startTextBox4; + private System.Windows.Forms.TextBox startTextBox5; + private System.Windows.Forms.TextBox startTextBox6; + private System.Windows.Forms.Label startLabel; + private System.Windows.Forms.Label endLabel; + private System.Windows.Forms.Label exclamation1; + private System.Windows.Forms.Label exclamation3; + private System.Windows.Forms.Label exclamation4; + private System.Windows.Forms.Label exclamation5; + private System.Windows.Forms.Label exclamation6; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox endTextBox2; + private System.Windows.Forms.TextBox startTextBox2; + private System.Windows.Forms.Label exclamation2; + private System.Windows.Forms.Label exclamation7; + private System.Windows.Forms.TextBox startTextBox7; + private System.Windows.Forms.TextBox endTextBox7; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label exclamation8; + private System.Windows.Forms.TextBox startTextBox8; + private System.Windows.Forms.TextBox endTextBox8; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label exclamation9; + private System.Windows.Forms.TextBox startTextBox9; + private System.Windows.Forms.TextBox endTextBox9; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label exclamation10; + private System.Windows.Forms.TextBox startTextBox10; + private System.Windows.Forms.TextBox endTextBox10; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.Label exclamation11; + private System.Windows.Forms.TextBox startTextBox11; + private System.Windows.Forms.TextBox endTextBox11; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Label exclamation12; + private System.Windows.Forms.TextBox startTextBox12; + private System.Windows.Forms.TextBox endTextBox12; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label exclamation24; + private System.Windows.Forms.TextBox startTextBox24; + private System.Windows.Forms.TextBox endTextBox24; + private System.Windows.Forms.Label label24; + private System.Windows.Forms.Label exclamation23; + private System.Windows.Forms.TextBox startTextBox23; + private System.Windows.Forms.TextBox endTextBox23; + private System.Windows.Forms.Label label23; + private System.Windows.Forms.Label exclamation22; + private System.Windows.Forms.TextBox startTextBox22; + private System.Windows.Forms.TextBox endTextBox22; + private System.Windows.Forms.Label label22; + private System.Windows.Forms.Label exclamation21; + private System.Windows.Forms.TextBox startTextBox21; + private System.Windows.Forms.TextBox endTextBox21; + private System.Windows.Forms.Label label21; + private System.Windows.Forms.Label exclamation20; + private System.Windows.Forms.TextBox startTextBox20; + private System.Windows.Forms.TextBox endTextBox20; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.Label exclamation19; + private System.Windows.Forms.TextBox startTextBox19; + private System.Windows.Forms.TextBox endTextBox19; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.Label exclamation18; + private System.Windows.Forms.Label exclamation17; + private System.Windows.Forms.TextBox startTextBox18; + private System.Windows.Forms.Label exclamation16; + private System.Windows.Forms.TextBox endTextBox18; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.TextBox startTextBox17; + private System.Windows.Forms.Label exclamation15; + private System.Windows.Forms.TextBox endTextBox17; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.TextBox startTextBox16; + private System.Windows.Forms.Label exclamation14; + private System.Windows.Forms.TextBox endTextBox16; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.TextBox startTextBox15; + private System.Windows.Forms.Label exclamation13; + private System.Windows.Forms.TextBox endTextBox15; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.TextBox startTextBox14; + private System.Windows.Forms.Label end2Label; + private System.Windows.Forms.TextBox endTextBox14; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.TextBox startTextBox13; + private System.Windows.Forms.Label start2Label; + private System.Windows.Forms.TextBox endTextBox13; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Label exclamation25; + private System.Windows.Forms.TextBox startTextBox25; + private System.Windows.Forms.TextBox endTextBox25; + private System.Windows.Forms.Label label25; + private System.Windows.Forms.Label label26; + private System.Windows.Forms.Label label27; + private System.Windows.Forms.Label label28; + private System.Windows.Forms.Label label29; + private System.Windows.Forms.Label label30; + private System.Windows.Forms.Label label31; + private System.Windows.Forms.Label label32; + private System.Windows.Forms.Label label33; + private System.Windows.Forms.Label label34; + private System.Windows.Forms.Label label35; + private System.Windows.Forms.Label label36; + private System.Windows.Forms.Label label37; + private System.Windows.Forms.Label label38; + private System.Windows.Forms.Label label39; + private System.Windows.Forms.Label label40; + private System.Windows.Forms.Label label41; + private System.Windows.Forms.Label label42; + private System.Windows.Forms.Label label43; + private System.Windows.Forms.Label label44; + private System.Windows.Forms.Label label45; + private System.Windows.Forms.Label label46; + private System.Windows.Forms.Label label47; + private System.Windows.Forms.Label label48; + private System.Windows.Forms.TextBox startTextBox48; + private System.Windows.Forms.TextBox startTextBox47; + private System.Windows.Forms.TextBox startTextBox46; + private System.Windows.Forms.TextBox startTextBox45; + private System.Windows.Forms.TextBox startTextBox44; + private System.Windows.Forms.TextBox startTextBox43; + private System.Windows.Forms.TextBox startTextBox42; + private System.Windows.Forms.TextBox startTextBox41; + private System.Windows.Forms.TextBox startTextBox40; + private System.Windows.Forms.TextBox startTextBox39; + private System.Windows.Forms.TextBox startTextBox38; + private System.Windows.Forms.TextBox startTextBox37; + private System.Windows.Forms.TextBox startTextBox36; + private System.Windows.Forms.TextBox startTextBox35; + private System.Windows.Forms.TextBox startTextBox34; + private System.Windows.Forms.TextBox startTextBox33; + private System.Windows.Forms.TextBox startTextBox32; + private System.Windows.Forms.TextBox startTextBox31; + private System.Windows.Forms.TextBox startTextBox30; + private System.Windows.Forms.TextBox startTextBox29; + private System.Windows.Forms.TextBox startTextBox28; + private System.Windows.Forms.TextBox startTextBox27; + private System.Windows.Forms.TextBox startTextBox26; + private System.Windows.Forms.Label exclamation48; + private System.Windows.Forms.TextBox endTextBox48; + private System.Windows.Forms.Label exclamation47; + private System.Windows.Forms.TextBox endTextBox47; + private System.Windows.Forms.Label exclamation46; + private System.Windows.Forms.TextBox endTextBox46; + private System.Windows.Forms.Label exclamation45; + private System.Windows.Forms.TextBox endTextBox45; + private System.Windows.Forms.Label exclamation44; + private System.Windows.Forms.TextBox endTextBox44; + private System.Windows.Forms.Label exclamation43; + private System.Windows.Forms.TextBox endTextBox43; + private System.Windows.Forms.Label exclamation42; + private System.Windows.Forms.Label exclamation41; + private System.Windows.Forms.Label exclamation40; + private System.Windows.Forms.TextBox endTextBox42; + private System.Windows.Forms.Label exclamation39; + private System.Windows.Forms.TextBox endTextBox41; + private System.Windows.Forms.Label exclamation38; + private System.Windows.Forms.TextBox endTextBox40; + private System.Windows.Forms.Label exclamation37; + private System.Windows.Forms.TextBox endTextBox39; + private System.Windows.Forms.TextBox endTextBox38; + private System.Windows.Forms.TextBox endTextBox37; + private System.Windows.Forms.Label exclamation36; + private System.Windows.Forms.TextBox endTextBox36; + private System.Windows.Forms.Label exclamation35; + private System.Windows.Forms.TextBox endTextBox35; + private System.Windows.Forms.Label exclamation34; + private System.Windows.Forms.TextBox endTextBox34; + private System.Windows.Forms.Label exclamation33; + private System.Windows.Forms.TextBox endTextBox33; + private System.Windows.Forms.Label exclamation32; + private System.Windows.Forms.TextBox endTextBox32; + private System.Windows.Forms.Label exclamation31; + private System.Windows.Forms.TextBox endTextBox31; + private System.Windows.Forms.Label exclamation30; + private System.Windows.Forms.Label exclamation29; + private System.Windows.Forms.Label exclamation28; + private System.Windows.Forms.TextBox endTextBox30; + private System.Windows.Forms.Label exclamation27; + private System.Windows.Forms.TextBox endTextBox29; + private System.Windows.Forms.Label exclamation26; + private System.Windows.Forms.TextBox endTextBox28; + private System.Windows.Forms.TextBox endTextBox27; + private System.Windows.Forms.TextBox endTextBox26; + + } +} \ No newline at end of file diff --git a/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.resx b/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.resx new file mode 100644 index 000000000..1af7de150 --- /dev/null +++ b/TBF/Rig/DataEntry/PoseidonCmd/TestStartEndForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/TBF/Rig/GenericDevices/IHasFromUNIDisablePossibility.cs b/TBF/Rig/GenericDevices/IHasFromUNIDisablePossibility.cs new file mode 100644 index 000000000..1f47418c1 --- /dev/null +++ b/TBF/Rig/GenericDevices/IHasFromUNIDisablePossibility.cs @@ -0,0 +1,9 @@ +namespace TBF.Rig.GenericDevices +{ + public interface IHasFromUNIDisablePossibility + { + bool ShowForm { get; set; } + + bool ReadAndSetDataToMeters(); + } +} \ No newline at end of file diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunner.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunner.cs new file mode 100644 index 000000000..f0c5539d3 --- /dev/null +++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/CliRunner.cs @@ -0,0 +1,159 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; + +namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop +{ + public class CliRunner + { + private List taskPool = new List(); + private long startTime; + + public List TaskPool { get { return taskPool; } } + public void AddTask(Task task) { taskPool.Add(task); } + public void WaitAll() { Task.WaitAll(taskPool.ToArray()); } + public void Clear() { taskPool.Clear(); } + public void CancelAll() { Task.WhenAll(taskPool).ContinueWith(t => { }); } + + public void StartAll() + { + taskPool.ForEach(t => t.Start()); + } + + public bool AreTasksDone() + { + return taskPool.All(task => task.IsCompleted); + } + + public long StartTime + { + get => startTime; + } + + public bool TimeOutReceived(long timeout) + { + return (DateTime.Now.Ticks - startTime) > timeout; + } + + public CliRunner() + { + startTime = DateTime.Now.Ticks; + } + + /// + /// + /// + /// + /// + /// + public void AddSendAsync(SerialPortData data, SerialPortData.EMeterArg eMeterArg) + { + var task = SendAsync(data.SerialPortCmdClientPath, data.DefaultArgSettings(eMeterArg)); + taskPool.Add(task); + } + + public void AddSendAsync(string fileName, string args) + { + var task = SendAsync(fileName, args); + taskPool.Add(task); + } + + + public async Task SendAsync(string fileName, string args) + { + var psi = new ProcessStartInfo + { + FileName = fileName, + Arguments = args, + RedirectStandardOutput = true, + RedirectStandardError = true, + UseShellExecute = false, + CreateNoWindow = true + }; + + var process = new Process { StartInfo = psi }; + var sb = new StringBuilder(); + + process.OutputDataReceived += (sender, e) => + { + if (e.Data != null) + sb.AppendLine(e.Data); + }; + + process.Start(); + process.BeginOutputReadLine(); + + process.WaitForExit(); + + // Now all outputs are available + string allOutput = sb.ToString(); + + + return allOutput; + } + + public void AddRunAndCaptureJsonAsync(SerialPortData data, SerialPortData.EMeterArg eMeterArg) + { + var task = RunAndCaptureJsonAsync(data.SerialPortCmdClientPath, data.DefaultArgSettings(eMeterArg)); + taskPool.Add(task); + } + + public async Task RunAndCaptureJsonAsync(string fileName, string args) + { + var psi = new ProcessStartInfo + { + FileName = fileName, + Arguments = args, + RedirectStandardOutput = true, + RedirectStandardError = true, + UseShellExecute = false, + CreateNoWindow = true + }; + + var process = new Process { StartInfo = psi }; + var sb = new StringBuilder(); + + process.OutputDataReceived += (sender, e) => + { + if (e.Data != null) + sb.AppendLine(e.Data); + }; + + process.Start(); + process.BeginOutputReadLine(); + + process.WaitForExit(); + + // Now sb contains all output text + string allOutput = sb.ToString(); + + // Extract JSON part + string json = ExtractJson(allOutput); + + if (json != null) + { + return JsonConvert.DeserializeObject(json); + } + + return default; + } + + private string ExtractJson(string text) + { + int start = text.IndexOf('{'); + int end = text.LastIndexOf('}'); + + if (start >= 0 && end > start) + { + return text.Substring(start, end - start + 1); + } + + return null; + } + } + +} \ No newline at end of file diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/Factory.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/Factory.cs new file mode 100644 index 000000000..aefc51b83 --- /dev/null +++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/Factory.cs @@ -0,0 +1,26 @@ +/// +/// Copyright (c) 2013-2021 Sensus Slovensko a.s. +/// +using System.Collections.Generic; +using TBF.Rig.Generic; +using TBF.Rig.RegisterReaders.StandingStartStop; + +namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop +{ + public class Factory : IComponentFactory + { + public string ClassName { get { return this.GetType().Namespace.Substring(8); } } + public override string ToString() { return ClassName; } + + public IComponent DummyComponent() { return new PoseidonReader(); } + + public IComponent GetComponent(IComponentCfg cfg, IList components) { return new PoseidonReader(cfg, components); } + + public IComponentCfg DefaultConfig() { return new PoseidonCfg("PoseidonCmdStartStop", this); } + + public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component) + { + return ComponentCfgBase.CreateFromDbEntity(PoseidonCfg.Serializer, component, this); + } + } +} diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/JsonDataFromPoseidon.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/JsonDataFromPoseidon.cs new file mode 100644 index 000000000..71da1c0c1 --- /dev/null +++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/JsonDataFromPoseidon.cs @@ -0,0 +1,22 @@ + + +namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop +{ + public class JsonDataFromPoseidon + { + public bool? NfcTagDetected { get; set; } + public int? ProductType { get; set; } + public string ProductTypeVersion { get; set; } + public string DeviceId { get; set; } + public string Reading { get; set; } + public string Reading_Totalizer { get; set; } + public string Reading_Digits { get; set; } + public string Reading_Shift { get; set; } + public string Reading_Resolution { get; set; } + public string Reading_Units { get; set; } + public string Reading_FlowDirection { get; set; } + public string Reading_FlowRate { get; set; } + public string CalibrationFactor { get; set; } + public bool? ReadingComplete { get; set; } + } +} \ No newline at end of file diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonCfg.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonCfg.cs new file mode 100644 index 000000000..bbd66db12 --- /dev/null +++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonCfg.cs @@ -0,0 +1,156 @@ +/// +/// Copyright (c) 2013-2016 Sensus Metering Systems +/// +using System; +using System.Collections.Generic; +using System.IO.Ports; +using System.Xml.Serialization; +using Common; +using TBF.Rig.Generic; + +namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop +{ + /// PoseidonCSSCfg => Poseidon Cmd Start Stop Cfg + public class PoseidonCfg : ComponentCfgBase, IComponentCfg, IParamsProvider + { + public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PoseidonCfg) })[0]; + public override XmlSerializer GetSerializer() { return Serializer; } + public string ComponentName { get; } + + /// + /// Serialized parameters + /// + public int ComPortNr; + public string CliFileName; + public int MeterType; + + + /// Procedure parameters + [XmlIgnore] + public PoseidonProcParams ProcParams; + public override IParamsProvider GetRuntimeProcParamsProvider() { return ProcParams; } + public override IParamsProvider CreateProcParamsProvider() { return new PoseidonProcParams(true); } + + + + string[] paramNames = new string[] + { + "Serial port number", /// 0 + "CLI program name", /// 1 + "Meter Type", /// 2 + }; + public string ParamName(int i) { return paramNames[i]; } + public int ParamsCount() { return paramNames.Length; } + + public ICollection ParamValues(int i) + { + switch (i) + { + case 0: + return new string[] { "3","4","5","6","7","8","9","10","11","12"}; + case 1: + return new string[] { "HatCLI.exe"}; + case 2: + return new string[] { "74" }; + + default: + return null; + } + } + + public IComponentCfgCtrl GetControl(IList cmpntEntities) { return new Configs.ParamsProvider.ComponentCfgCtrl(this, null); } + + + public void InitializeAll() + { + ComPortNr = 3; + CliFileName = "HatCLI.exe"; + MeterType = 74; + } + + public bool ValidateParam(int i, string strValue, out string message) + { + message = string.Empty; + int idummy; + + switch (i) + { + case 0: + if (int.TryParse(strValue, out idummy) && idummy > 0) return true; + break; + case 1: + if (ParamValues(i).Contains(strValue)) return true; //is in list + if(System.Text.RegularExpressions.Regex.IsMatch(strValue, @"^[a-zA-Z0-9_-]+\.exe$")) return true; //validate exe file name + break; + case 2: + if (int.TryParse(strValue, out idummy) && idummy > 0) return true; + break; + default: + message = "Invalid index"; + return false; + } + + message = ParamName(i) + " is invalid"; + return false; + } + + public CfgUpdateFlags UpdateParam(int i, string str) + { + switch (i) + { + case 0: ComPortNr = int.Parse(str); return CfgUpdateFlags.RestartRqrd; + case 1: CliFileName = str; return CfgUpdateFlags.RestartRqrd; + case 2: MeterType = int.Parse(str); return CfgUpdateFlags.RestartRqrd; + default: return CfgUpdateFlags.None; + } + } + + public bool UpdateEmbeddedDbEntity() + { + return true; /// =OK, do nothing + } + + public IParamsProvider Clone() + { + PoseidonCfg pars = new PoseidonCfg(); + CopyContentTo(pars); + return pars; + } + + /// Private parameterless constructor invoked by all other (public) constructors + PoseidonCfg() + { + ProcParams = CreateProcParamsProvider() as PoseidonProcParams; + } + + public PoseidonCfg(string name, IComponentFactory factory) + : this() + { + Name = name; + Factory = factory; + ParentName = ""; + InitializeAll(); + } + + public string ToString(int i) + { + switch (i) + { + case 0: return ComPortNr.ToString(); + case 1: return CliFileName; + case 2: return MeterType.ToString(); + default: + return string.Format("{0}: Com{1}, CliName =`{2}`, MeterType = {3}", + Name, ComPortNr, CliFileName, MeterType); + } + } + + void CopyContentTo(PoseidonCfg prms) + { + prms.ComPortNr = this.ComPortNr; + prms.CliFileName = this.CliFileName; + prms.MeterType = this.MeterType; + prms.ProcParams = this.ProcParams; + } + } +} diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonProcParams.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonProcParams.cs new file mode 100644 index 000000000..697c30c77 --- /dev/null +++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonProcParams.cs @@ -0,0 +1,288 @@ +using System.IO; +using System.Xml.Serialization; +using Common; +using Config.Entities; +using TBF.Resources; +using TBF.Rig.Generic; +using TBF.Rig.RegisterReaders.SerialStream; + +namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop +{ + public class PoseidonProcParams : ProcedureParamsBase, IParamsProvider, IProcedureParams + { + public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PoseidonProcParams) })[0]; + public override XmlSerializer GetSerializer() { return Serializer; } + + public StreamType StreamType; /// Enumerated stream type + public int FrameLength; /// Frame length in characters/bytes, 0 = unknown + public double FrameFrequency; /// Number of frames per second, 0 = unknown + + public Common.Unit VolumeUnits; + public double VolumeScaleFactor; /// Volume = + public int VolumeFieldStart; /// Start of the volume field: 0-based index of the first character, -1 = no volume field in the frame + public int VolumeFieldEnd; /// End of the volume field: 0-based index of the last character + public FieldFormat VolumeFieldFormat; /// Hexadecimal or Decimal + + public Common.Unit TimeUnits; + public double TimeScaleFactor; /// Time = + public int TimeFieldStart; /// Start of the time field: 0-based index of the first character, -1 = no time field in the frame + public int TimeFieldEnd; /// End of the time field: 0-based index of the last character + public FieldFormat TimeFieldFormat; /// Hexadecimal or Decimal + + public override void InitializeAll() + { + /// Values are for iPerl DN15 in data stream mode at 8 Hz + StreamType = StreamType.Flexible; + FrameLength = 42; + FrameFrequency = 8; + + VolumeUnits = Common.Unit.l; + VolumeScaleFactor = 16000; + VolumeFieldStart = 17; + VolumeFieldEnd = 22; + VolumeFieldFormat = FieldFormat.HexadecimalWindow; + + TimeUnits = Common.Unit.s; + TimeScaleFactor = 8192; + TimeFieldStart = 29; + TimeFieldEnd = 36; + TimeFieldFormat = FieldFormat.HexadecimalWindow; + } + + string[] paramNames = new string[] + { + "Stream type", + "Frame Length", + "Frame Frequency", + + "Volume Units", + "Volume Scale Factor", + "Volume Field Start", + "Volume Field End", + "Volume Field Format", + + "Time Units", + "Time Scale Factor", + "Time Field Start", + "Time Field End", + "Time Field Format", + }; + public override string ParamName(int i) { return paramNames[i]; } + public override int ParamsCount() { return paramNames.Length; } + + public override string ToString(int i) + { + switch (i) + { + case 0: return StreamType.ToString(); + case 1: return FrameLength.ToString(); + case 2: return FrameFrequency.ToString(); + + case 3: return VolumeUnits.ToDescription(); + case 4: return VolumeScaleFactor.ToString(); + case 5: return VolumeFieldStart.ToString(); + case 6: return VolumeFieldEnd.ToString(); + case 7: return VolumeFieldFormat.ToString(); + + case 8: return TimeUnits.ToDescription(); + case 9: return TimeScaleFactor.ToString(); + case 10: return TimeFieldStart.ToString(); + case 11: return TimeFieldEnd.ToString(); + case 12: return TimeFieldFormat.ToString(); + + default: return string.Empty; + } + } + + /// Retrieves parameters from UI controls + public CfgUpdateFlags UpdateParam(int i, string strValue) + { + switch (i) + { + case 0: + for (StreamType st = 0; st < StreamType.Count; st++) + { + if (st.ToString().Equals(strValue)) { StreamType = st; return CfgUpdateFlags.None; } + } + break; + case 1: FrameLength = int.Parse(strValue); return CfgUpdateFlags.None; + case 2: FrameFrequency = Utils.ParseUDouble(strValue); return CfgUpdateFlags.None; + + case 3: + for (Unit u = 0; u < Unit.Count; u++) + { + if (Units.IsQuantity(u, Quantity.Volume) && u.ToDescription().Equals(strValue)) + { + VolumeUnits = u; + return CfgUpdateFlags.None; + } + } + break; + case 4: VolumeScaleFactor = Utils.ParseSDouble(strValue); return CfgUpdateFlags.None; + case 5: VolumeFieldStart = int.Parse(strValue); return CfgUpdateFlags.None; + case 6: VolumeFieldEnd = int.Parse(strValue); return CfgUpdateFlags.None; + case 7: + for (FieldFormat ff = 0; ff < FieldFormat.Count; ff++) + { + if (ff.ToString().Equals(strValue)) { VolumeFieldFormat = ff; return CfgUpdateFlags.None; } + } + break; + + case 8: + for (Unit u = 0; u < Unit.Count; u++) + { + if (Units.IsQuantity(u, Quantity.Time) && u.ToDescription().Equals(strValue)) + { + TimeUnits = u; + return CfgUpdateFlags.None; + } + } + break; + case 9: TimeScaleFactor = Utils.ParseSDouble(strValue); return CfgUpdateFlags.None; + case 10: TimeFieldStart = int.Parse(strValue); return CfgUpdateFlags.None; + case 11: TimeFieldEnd = int.Parse(strValue); return CfgUpdateFlags.None; + case 12: + for (FieldFormat ff = 0; ff < FieldFormat.Count; ff++) + { + if (ff.ToString().Equals(strValue)) { TimeFieldFormat = ff; return CfgUpdateFlags.None; } + } + break; + + default: return CfgUpdateFlags.None; + } + + return CfgUpdateFlags.None; + } + + /// Verifies whether strings in UI controls represent valid parameters + public bool ValidateParam(int i, string strValue, out string message) + { + message = string.Empty; + + int iDummy; + double fDummy; + + switch (i) + { + case 0: + for (StreamType st = 0; st < StreamType.Count; st++) + { + if (st.ToString().Equals(strValue)) return true; + } + break; + case 1: + if (int.TryParse(strValue, out iDummy) && iDummy >= 0 && iDummy <= 8000) return true; + break; + case 2: + if (Utils.TryParseUDouble(strValue, out fDummy) && fDummy <= 1000.0f) return true; + break; + + case 3: + for (Unit u = 0; u < Unit.Count; u++) + { + if (Units.IsQuantity(u, Quantity.Volume) && u.ToDescription().Equals(strValue)) + { + return true; + } + } + break; + case 4: return Utils.TryParseSDouble(strValue, out fDummy); + case 5: return (int.TryParse(strValue, out iDummy) && (iDummy >= -1)); + case 6: return (int.TryParse(strValue, out iDummy) && (iDummy >= 0)); + case 7: + for (FieldFormat ff = 0; ff < FieldFormat.Count; ff++) + { + if (ff.ToString().Equals(strValue)) return true; + } + break; + + case 8: + for (Unit u = 0; u < Unit.Count; u++) + { + if (Units.IsQuantity(u, Quantity.Time) && u.ToDescription().Equals(strValue)) + { + return true; + } + } + break; + case 9: return Utils.TryParseSDouble(strValue, out fDummy); + case 10: return (int.TryParse(strValue, out iDummy) && (iDummy >= -1)); + case 11: return (int.TryParse(strValue, out iDummy) && (iDummy >= 0)); + case 12: + for (FieldFormat ff = 0; ff < FieldFormat.Count; ff++) + { + if (ff.ToString().Equals(strValue)) return true; + } + break; + + default: + message = "Invalid index"; + return false; + } + + message = ParamName(i) + " is invalid"; + return false; + } + + void CopyContentTo(PoseidonProcParams prms) + { + prms.StreamType = this.StreamType; + prms.FrameLength = this.FrameLength; + prms.FrameFrequency = this.FrameFrequency; + + prms.VolumeUnits = this.VolumeUnits; + prms.VolumeScaleFactor = this.VolumeScaleFactor; + prms.VolumeFieldStart = this.VolumeFieldStart; + prms.VolumeFieldEnd = this.VolumeFieldEnd; + prms.VolumeFieldFormat = this.VolumeFieldFormat; + + prms.TimeUnits = this.TimeUnits; + prms.TimeScaleFactor = this.TimeScaleFactor; + prms.TimeFieldStart = this.TimeFieldStart; + prms.TimeFieldEnd = this.TimeFieldEnd; + prms.TimeFieldFormat = this.TimeFieldFormat; + } + + public IParamsProvider Clone() + { + PoseidonProcParams pars = new PoseidonProcParams(); + CopyContentTo(pars); + return pars; + } + + public override void UpdateFromDbEntity(ComponentProcedure dbEntity) + { + if (dbEntity == null) return; + try + { + PoseidonProcParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as PoseidonProcParams; + + procedureParamsEntity = dbEntity; + componentName = dbEntity.CmpntName; + procedure = dbEntity.Procedure; + + if (tmp != null) tmp.CopyContentTo(this); + } + catch + { + } + } + + + public PoseidonProcParams() + { + } + + public PoseidonProcParams(bool initialize) + { + if (initialize) InitializeAll(); + } + + public PoseidonProcParams(ComponentProcedure procedureParamsEntity, string componentName, Procedure procedure) + { + this.procedureParamsEntity = procedureParamsEntity; + this.componentName = componentName; + this.procedure = procedure; + } + } +} \ No newline at end of file diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonReader.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonReader.cs new file mode 100644 index 000000000..6c3cdfe79 --- /dev/null +++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonReader.cs @@ -0,0 +1,451 @@ +/// +/// Copyright (c) 2013-2020 Sensus Slovensko a.s. +/// +using System; +using System.Collections.Generic; +using System.IO; +using System.IO.Ports; +using System.Threading.Tasks; +using System.Windows.Forms; +using log4net; +using Common; +using NHibernate.Util; +using SharedDatabase.Entities; +using TBF.Boxes; +using TBF.Rig.Generic; +using TBF.Rig.GenericDevices; +using TBF.Rig.RegisterReaders.SerialStream; +using TBF.Rig.RegisterReaders.StandingStartStop; + +namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop +{ + public class PoseidonReader : ComponentBase, IDevice, IRegReaderDatastream, ISessionDataMngmnt, IOperation + { + private static readonly ILog log = LogManager.GetLogger(typeof(PoseidonReader)); + public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); } + + readonly PoseidonCfg registerReaderCfg; + readonly ControlBoard.IControlBoard controlBoard; + + + private bool activeHandlerSessioEnabled = false; + private CliRunner _cliRunner; + + public enum CurrentPoseidonOp + { + None, + SendStartDataStream, + SendStartDataStream_Runing, + SendStartDataStream_Done, + ReadDataStream_Start, + ReadDataStream_End, + ReadDatastream_Running, + ReadDatastream_Done, + Done, + Error, + } + + CurrentPoseidonOp _currentOp; + private bool _isReadingStart = true; + + public CurrentPoseidonOp CurrentOp + { + get { return _currentOp; } + } + + public void SetCurrentOp(CurrentPoseidonOp operation = CurrentPoseidonOp.None) + { + _currentOp = operation ; + } + + public int Position + { + get + { + int firstDigitPos = Name.IndexOfAny(new char[] { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' }); + int position; + return (firstDigitPos < 0) ? 0 : (int.TryParse(Name.Substring(firstDigitPos), out position) ? position : 0); + } + } + public RegisterReaderType RegisterReaderType { get { return RegisterReaderType.DataStream; } } + public double PulsesPerLtr { get { return 1000.0; } } + public double LtrsPerPulse { get { return 1 / PulsesPerLtr; } } + + /// + /// Wrappers for procedure parameters + /// + public StreamType StreamType { get { return (registerReaderCfg.ProcParams != null) ?registerReaderCfg.ProcParams.StreamType : StreamType.None; } } + public int FrameLength { get { return (registerReaderCfg.ProcParams != null) ?registerReaderCfg.ProcParams.FrameLength : 0; } } + public double FrameFrequency { get { return (registerReaderCfg.ProcParams != null) ?registerReaderCfg.ProcParams.FrameFrequency : 0; } } + + public Common.Unit VolumeUnits { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.VolumeUnits : Common.Unit.l; } } + public double VolumeScaleFactor { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.VolumeScaleFactor : 1; } } + public int VolumeFieldStart { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.VolumeFieldStart : 0; } } + public int VolumeFieldEnd { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.VolumeFieldEnd : 0; } } + public FieldFormat VolumeFieldFormat { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.VolumeFieldFormat : FieldFormat.None; } } + + public Common.Unit TimeUnits { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.TimeUnits : Common.Unit.s; } } + public double TimeScaleFactor { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.TimeScaleFactor : 1; } } + public int TimeFieldStart { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.TimeFieldStart : 0; } } + public int TimeFieldEnd { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.TimeFieldEnd : 0; } } + public FieldFormat TimeFieldFormat { get { return (registerReaderCfg.ProcParams != null) ? registerReaderCfg.ProcParams.TimeFieldFormat : FieldFormat.None; } } + + + public bool CommFailed + { + get { return commFailed; } + set { commFailed = value; } + } + bool commFailed; + + + /// + /// Passed to OptoTelegramRaw.UpdateFromString(...) + /// + Int64 volumeRawExtLast; + Int64 timestampExtLast; + + + /// + /// Required for IRegisterReader interface + /// + public int WMPulses { get { return wmPulses; } } + public int WMRefPulses { get { return wmRefPulses; } } + public double WMVolume { get { return wmVolume; } } + public double BeginWMState { get { return beginWMState; } } + public double EndWMState { get { return endWMState; } } + public double WMTestTime { get { return wmTestTime; } } + + + double beginWMState; + double endWMState; + double wmVolume; + int wmPulses; + int wmRefPulses; + double wmTestTime; + + + public IOperation ReadDatastreamOp() + { + return this; + } + + /// + /// Store/update values to be used as a part of the opto-data log file name. + /// Stop data stream processing and saving, if it is enabled. + /// + /// Currently executed test + /// Currently executed repetition number + public void TestIsGoingToStartSoon(Config.Entities.Test test, int repetitionNr) + { + /// Store/update values to be used as a part of the opto-data log file name + testName = test.Name; + testRepeats = test.Repeats; + this.repetitionNr = repetitionNr; + } + /// + string testName; + int testRepeats; + int repetitionNr; + + + /// + /// Volume of water from the opto telegram + /// + private Int64 lastVolumeRaw; /// Last read raw volume + private double volumeLtr; /// + private double volumeLtr0; + + public double VolumeLtrStart { get { return volumeLtrStart; } } /// Test start volume for metrology + public double VolumeLtrEnd { get { return volumeLtrEnd; } } /// Test end volume for metrology + double volumeLtrStart; /// Test start volume for metrology + double volumeLtrEnd; /// Test end volume for metrology + double volumeLtrEnd1; /// auxiliary buffer1 to keep the end volume before test stops + double volumeLtrEnd2; /// auxiliary buffer2 to keep the end volume before test stops + double volumeLtrEnd3; /// auxiliary buffer3 to keep the end volume before test stops + + /// + /// Timestamp from the opto telegram + /// + bool lastTimestampValid; + private Int64 lastTimestamp; + private double timestampSec; + private double timestampSec0; + + public bool NoSamples { get { return (timestampSecEnd - timestampSecStart) < float.Epsilon; } } + public double TimestampSecStart { get { return timestampSecStart; } } + public double TimestampSecEnd { get { return timestampSecEnd; } } + double timestampSecStart; + double timestampSecEnd; + double timestampSecEnd1; + double timestampSecEnd2; + double timestampSecEnd3; + + private int frameIx; + public int TestStartFrameIx; + public int TestEndFrameIx; + + + DatastreamFrame[] datastreamFrames; + const int MaxDatastreamFramesCount = 80000; /// almost 3h at 8 Hz + int datastreamFramesCount; + string datastreamLogFileName; + + + DatastreamFrame toBeFlushed; + int flushedFramesCount; + public int FlushedFramesCount + { + get { return flushedFramesCount; } + set { flushedFramesCount = lastFlushedFramesCount = lastFlushedFramesCount_1 = value; } + } + + int lastFlushedFramesCount_1; + int lastFlushedFramesCount; + public int FlushedFramesDelta + { + get + { + int retval = Math.Max(flushedFramesCount - lastFlushedFramesCount, lastFlushedFramesCount - lastFlushedFramesCount_1); + lastFlushedFramesCount_1 = lastFlushedFramesCount; + lastFlushedFramesCount = flushedFramesCount; + return retval; + } + } + + + + /// + /// Opto serial port and worker thread related private variables + /// + private SerialPortData serialPort; /// Used in DebugMode.Normal + private TextReader textReader; /// Used instead of serialPort in DebugMode.Simulate + + + public PoseidonReader() { } + + public PoseidonReader(Generic.IComponentCfg cfg, IList components) + : base(cfg) + { + registerReaderCfg = cfg as PoseidonCfg; + + /// Control board is used to read reference flowmeter pulses + // controlBoard = TbfComponents.FindComponent(cfg.ParentName, components) as ControlBoard.IControlBoard; + // if (controlBoard == null) throw new Exception("Cannot find " + Name + " parent"); + // + // log.Warn(this.ToString()); + } + + public override void Initialize() + { + Clear(); + //log.WarnFormat("Initialize() ... FrameFormat set to {0}"); + + /// Allocate memory for opto-data from iPerl + datastreamFrames = new DatastreamFrame[MaxDatastreamFramesCount]; + for (int i = 0; i < MaxDatastreamFramesCount; i++) datastreamFrames[i] = new DatastreamFrame(); + + toBeFlushed = new DatastreamFrame(); + flushedFramesCount = 0; + activeHandlerSessioEnabled = false; + + if (DebugLevel == DebugMode.Normal) + { + /// Prepare serial port + serialPort = new SerialPortData(string.Format("COM{0}", registerReaderCfg.ComPortNr), + registerReaderCfg.CliFileName, + registerReaderCfg.MeterType); + + + //TODO BUMI prepare serial port - for us do nothing + //serialPort.Open(); + //we can check file program if exists + if (!File.Exists(serialPort.SerialPortCmdClientPath)) + { + log.FatalFormat("Serial port CLI {0} does not exist!", serialPort.SerialPortCmdClientPath); + return; + } + log.FatalFormat("{0} initialized: {1}", Name, this); + } + else if (DebugLevel == DebugMode.Simulate) + { + } + else + { + serialPort = null; + log.FatalFormat("{0} in other mode: {1}", Name, this); + } + } + + public void Clear() + { + log.DebugFormat("{0}:Clear()", Name); + beginWMState = 0; + endWMState = 0; + wmRefPulses = 0; + } + + + + private void ReadPulses() + { + wmRefPulses = controlBoard.RefPulses; + } + + + /// Start this operation + public void Start() + { + //TODO BUMI start CLI serial port + _cliRunner = new CliRunner(); + } + + /// Run this operation + /// eventDone + public Event Run() + { + if (_currentOp == CurrentPoseidonOp.SendStartDataStream) + { + _cliRunner.AddSendAsync(serialPort, SerialPortData.EMeterArg.AllParams); + return Event.Busy; + } + else if (_currentOp == CurrentPoseidonOp.SendStartDataStream_Runing) + { + if (_cliRunner.AreTasksDone() + || _cliRunner.TimeOutReceived(5000)) + { + _currentOp = CurrentPoseidonOp.SendStartDataStream_Done; + } + return Event.Busy; + } + else if (_currentOp == CurrentPoseidonOp.SendStartDataStream_Done) + { + _currentOp = CurrentPoseidonOp.Done; + return Event.Done; + } + else if (_currentOp == CurrentPoseidonOp.ReadDataStream_Start + || _currentOp == CurrentPoseidonOp.ReadDataStream_End) + { + _isReadingStart = (_currentOp == CurrentPoseidonOp.ReadDataStream_Start); + _cliRunner.AddRunAndCaptureJsonAsync(serialPort, SerialPortData.EMeterArg.AllParams); + _currentOp = CurrentPoseidonOp.ReadDatastream_Running; + return Event.Busy; + }else if (_currentOp == CurrentPoseidonOp.ReadDatastream_Running) + { + if (_cliRunner.AreTasksDone() + || _cliRunner.TimeOutReceived(5000)) + { + _currentOp = CurrentPoseidonOp.ReadDatastream_Done; + } + return Event.Busy; + } + else if (_currentOp == CurrentPoseidonOp.ReadDatastream_Done) + { + JsonDataFromPoseidon data = null; + var first = _cliRunner.TaskPool.FindLast(t => t is Task); + if (first != null && first is Task) + { + data = (first as Task).Result; + + if (Double.TryParse(data.Reading, out double Volume)) + { + double VolumeLi = Units.ConvertFrom(Unit.USgal, Volume); + double VolumeM3 = Units.ConvertTo(Unit.m3, VolumeLi); + if (_isReadingStart) + { + //volume + beginWMState = VolumeM3; + } + else + { + //volume + endWMState = VolumeM3; + } + } + + } + _currentOp = CurrentPoseidonOp.Done; + return Event.Done; + } + + + return Event.None; + } + + /// Stop this operation + public void Stop() + { + //TODO BUMI stop CLI serial port + } + + public void RunDeviceBefore() + { + //Start CLI communication and set CLI inputs and get CLI data + //ValidateCliFileExistence(true); + + } + + private void ValidateCliFileExistence(bool showErrorIfMissing) + { + if (DebugLevel == DebugMode.Normal && serialPort != null) + { + if (!serialPort.CliExists) + { + log.ErrorFormat("CLI file {0} does not exist!", serialPort.SerialPortCmdClientPath); + if (showErrorIfMissing) + MessageBox.Show($"CLI file {serialPort.SerialPortCmdClientPath} does not exist!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + log.DebugFormat("CLI file {0} found", serialPort.SerialPortCmdClientPath); + } + } + + public void RunDeviceAfter() + { + + } + + public void StopDevice() + { + try + { + if (DebugLevel == DebugMode.Normal && serialPort != null) + { + + } + } + catch + { + } + } + + public void StopDevice2() + { + } + + public void StartSession() + { + + ValidateCliFileExistence(false); + + //TODO BUMI start session - CMD send data to Poseidon + _cliRunner = new CliRunner(); + _cliRunner.AddSendAsync(serialPort, SerialPortData.EMeterArg.DeviceId); + //_cliRunner.StartAll(); + } + + public void SaveMark(object mark) + { + throw new NotImplementedException(); + } + + public void EndSession() + { + if (_cliRunner != null) + { + + } + activeHandlerSessioEnabled = false; + } + } +} diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/SerialPortData.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/SerialPortData.cs new file mode 100644 index 000000000..32201d172 --- /dev/null +++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/SerialPortData.cs @@ -0,0 +1,55 @@ +using System; +using System.IO; + +namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop +{ + public class SerialPortData + { + private Boolean? _cliExists; + public bool CliExists { get { + if (_cliExists == null || !_cliExists.HasValue) + { + _cliExists = File.Exists(SerialPortCmdClientPath); + } + return _cliExists.Value; + } } + public string SerialPortCmdClientPath { + get { return Path.Combine("..","Cli", CmdClientName);} + } + public string CmdClientName { get; set; } = "HalCli.exe"; + public string PortName { get; set; } + public int MeterType { get; set; } + + public enum EMeterArg { + Calibration = 0, + AllParams = 2, + DeviceId = 3, + } + EMeterArg _eMeterArg = EMeterArg.AllParams; + + public string DefaultArgSettings(EMeterArg eMeterArg) + { + switch (eMeterArg) + { + case EMeterArg.Calibration: + return $"-p {PortName} -m {MeterType} --operation write --parameter Calibration --value 1"; + case EMeterArg.AllParams: + return $"-p {PortName} -m {MeterType} --operation readall"; + case EMeterArg.DeviceId: + return $"-p {PortName} -m {MeterType} --operation read --parameter DeviceId"; + default: + return ""; + } + } + + public SerialPortData( + string portName, + string cmdClientName, + int meterType) + { + PortName = portName; + CmdClientName = cmdClientName; + MeterType = meterType; + } + } +} \ No newline at end of file diff --git a/TBF/Rig/TbfComponents.cs b/TBF/Rig/TbfComponents.cs index 4ef66b2d9..46d5c0cd6 100644 --- a/TBF/Rig/TbfComponents.cs +++ b/TBF/Rig/TbfComponents.cs @@ -32,6 +32,7 @@ namespace TBF.Rig new DataEntry.HeatMeters6.Factory(), new DataEntry.HeatMeters12.Factory(), new DataEntry.iPerl.Factory(), + new DataEntry.PoseidonCmd.Factory(), new DataEntry.S620.Factory(), new DataEntry.Single.Factory(), new DataEntry.Single.FactoryNoStartEnd(), @@ -129,6 +130,7 @@ namespace TBF.Rig new TestMethods.iPerlCommunication.iPerlHead.Factory(), /// 'RegisterReader for iPerl' new RegisterReaders.S640Stream.Factory(), /// 'RegisterReader for S640' new RegisterReaders.SerialStream.Factory(), /// 'RegisterReader for generic serial stream' + new RegisterReaders.PoseidonCmdStartStop.Factory(), /// 'RegisterReader for poseidon start/stop' new RegisterReaders.KPackE.RegisterReader.Factory(), /// KPackE register reader new RegisterReaders.KPackE.Radio.Factory(), /// Radio for KPackE register readers new Uni.RegValve.Factory(), diff --git a/TBF/Rig/TestMethods/StandingStart/StandingStartSeq.cs b/TBF/Rig/TestMethods/StandingStart/StandingStartSeq.cs index 51535e1ee..da49417ce 100644 --- a/TBF/Rig/TestMethods/StandingStart/StandingStartSeq.cs +++ b/TBF/Rig/TestMethods/StandingStart/StandingStartSeq.cs @@ -615,7 +615,9 @@ namespace TBF.Rig.TestMethods.StandingStart Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.Test)); } - while (cBrd.RefPulses < initialPulsesCount + totalPulses && !e.Contains(Event.TestCompleted) && !e.Contains(Event.Next)); + while ((cBrd.DebugLevel==DebugMode.Simulate && !e.Contains(Event.FlowReached)) || + (cBrd.DebugLevel!=DebugMode.Simulate && cBrd.RefPulses < initialPulsesCount + totalPulses && !e.Contains(Event.TestCompleted) && !e.Contains(Event.Next))); + /// Measurement loop end log.WarnFormat("Start valve switch time on test start = {0} ms", cBrd.ValveOpenCloseTime); diff --git a/TBF/TBF.csproj b/TBF/TBF.csproj index 42eb13944..9e6892b13 100644 --- a/TBF/TBF.csproj +++ b/TBF/TBF.csproj @@ -339,6 +339,21 @@ TestStartEndForm.cs + + Form + + + CycleBeginningForm.cs + + + + + + Form + + + TestStartEndForm.cs + @@ -626,6 +641,7 @@ + @@ -1176,6 +1192,13 @@ RRCfgCtrl.cs + + + + + + + @@ -2717,6 +2740,12 @@ TestStartEndForm.cs + + CycleBeginningForm.cs + + + TestStartEndForm.cs + Barcode.cs