Compare commits

...
Author SHA1 Message Date
Milan Hanajik 5a4b0d5d76 Reconfigured for iPerl 2020-02-18 10:00:58 +01:00
Milan Hanajik 2e521cdc35 'Custom query' added to ResultsBrowser, default settings updated (IP addr.), ver. 2.25.1421 2020-02-18 10:00:03 +01:00
Milan Hanajik 860e369e35 PTest defaults for Krakov, ver. 2.25.1420 2020-02-14 16:27:57 +01:00
Milan Hanajik 658f5d2e27 Database upgrade 2.22 -> 2.24 fixed. 2020-02-14 08:56:11 +01:00
Milan Hanajik 3b1ab9fdca ver. 2.25.1417 2020-02-12 09:55:05 +01:00
Milan Hanajik 98aa74a0d4 Displaying production tracing records fixed. 2020-02-12 09:46:37 +01:00
Milan Hanajik e28b94c367 iPERL comm. (Set Active Mode) after saving results and deleting disabled WMs from the Batch fixed, ver. 2.25.1416 2020-02-12 09:15:52 +01:00
Milan Hanajik 09ccc282a5 Output.Printers.Label with water meter s/n printed as a QR code. 2020-02-12 08:38:08 +01:00
Milan Hanajik 3d3cac81b9 ver. 2.25.1414 2020-02-11 09:31:37 +01:00
Milan Hanajik a7965a7ffc (1) Publish.Internal&Never tests not saved to rslts.DB, (2) Publish.Never tests are in TestRslts, (3) bool Batch.IsRemoteProcedure field, etc. ver. 2.25.1410 2020-02-07 12:40:20 +01:00
Milan Hanajik 7dcb5ba6ce (1) Store/restore RawTestInfos & CompleteTestInfos as well, (2) TestRslt.TestDone = true after RFID, ver. 2.25.1409 2020-02-07 10:08:42 +01:00
Milan Hanajik 14a96ea3e8 (1) PData serialization of strings copes with nulls (2) Correct links MeterTestRslt->TestRslts restored, ver. 2.25.1408 2020-02-07 10:08:42 +01:00
Milan Hanajik a138e1117c Bug fixes in FlyingStartMassCollectionSeq.Simulate1(..) & Simulate2(..) 2020-02-07 10:08:42 +01:00
Milan Hanajik c73f6a857a (1) Save process data after each completed test, (2) Restore process data of an interrupted session via 'Abort' button. 2020-02-05 13:04:00 +01:00
Milan Hanajik 12c9e72d0c ProcessData (aka BatchResults) serialization part 2 2020-02-05 13:03:52 +01:00
Milan Hanajik 61747166ae UpdateTestResults(..) function abandoned from DataEntry components, WMStates component deleted 2020-02-05 10:33:42 +01:00
Milan Hanajik dc31e833ee BatchResults.WaterMeters eliminated, Batch.WaterMeters are used instead ... many changes 2020-02-05 10:33:32 +01:00
Milan Hanajik 51523ea577 BatchResults serialization (WriteBinary/ReadBinary methods) 2020-02-05 10:23:30 +01:00
Milan Hanajik ef75c30af9 Bug fix - more robust. 2020-02-05 10:23:30 +01:00
Milan Hanajik cf236d94b8 DEWA300 component upgraded (29.01.2020) : Zmena zapojenia vyhrevnych okruhov, grafika 2020-02-05 10:23:30 +01:00
Milan Hanajik 65ede62c1f DataEntry windows : StartPosition = CenterParent 2020-02-05 10:23:30 +01:00
Milan Hanajik 08c94aacce Database export/import in progress. 2020-02-05 10:23:30 +01:00
Milan Hanajik 9b11602ab8 TEST_MODE removed from code, ver. 2.25.1407 2020-02-05 10:23:09 +01:00
154 changed files with 10422 additions and 10707 deletions
+2 -2
View File
@@ -19,7 +19,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;MUNICH</DefineConstants>
<DefineConstants>TRACE;DEBUG;TURA_IPERL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
@@ -30,7 +30,7 @@
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;MUNICH</DefineConstants>
<DefineConstants>TRACE;TURA_IPERL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
+3 -3
View File
@@ -67,12 +67,12 @@ namespace Config.Entities
public class ProcedureInfo
{
public readonly string Name;
public readonly Users.Entities.DBKind DBKind;
public readonly bool IsRemote;
public ProcedureInfo(string name, Users.Entities.DBKind dbKind)
public ProcedureInfo(string name, bool isRemote)
{
Name = name;
DBKind = dbKind;
IsRemote = isRemote;
}
}
+17 -17
View File
@@ -81,23 +81,23 @@ namespace Config.Entities
Publish = (sbyte)Config.Entities.Publish.Always;
Evaluate = true;
E1 = 1;
E2 = 1;
E3 = 1;
E4 = 1;
E5 = 1;
E6 = 1;
E7 = 1;
E8 = 1;
E9 = 1;
E10 = 1;
E11 = 1;
E12 = 1;
E13 = 1;
E14 = 1;
E15 = 1;
E16 = 1;
E21 = 1;
E1 = (sbyte)ErrorFlagsMode.On;
E2 = (sbyte)ErrorFlagsMode.On;
E3 = (sbyte)ErrorFlagsMode.On;
E4 = (sbyte)ErrorFlagsMode.On;
E5 = (sbyte)ErrorFlagsMode.On;
E6 = (sbyte)ErrorFlagsMode.On;
E7 = (sbyte)ErrorFlagsMode.On;
E8 = (sbyte)ErrorFlagsMode.On;
E9 = (sbyte)ErrorFlagsMode.On;
E10 = (sbyte)ErrorFlagsMode.On;
E11 = (sbyte)ErrorFlagsMode.On;
E12 = (sbyte)ErrorFlagsMode.On;
E13 = (sbyte)ErrorFlagsMode.On;
E14 = (sbyte)ErrorFlagsMode.On;
E15 = (sbyte)ErrorFlagsMode.On;
E16 = (sbyte)ErrorFlagsMode.Off;
E21 = (sbyte)ErrorFlagsMode.Off;
Delta_Q_pct = 5.0; /// [%]
Delta_T = 10.0; /// [°C]
+101 -108
View File
@@ -1,32 +1,43 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Results.Entities;
namespace Results
{
public class BatchResults
public class BatchResults
{
public readonly int WMPositionsCount;
public Batch Batch;
public int WMPositionsCount;
public IList<Entities.TestData> TestDataList;
public IList<Entities.Components> ComponentsList;
public IList<Entities.WaterMeterData> WaterMeterDataList;
public IList<Entities.TestData> TestDataList;
public IList<Entities.Components> ComponentsList;
public IList<Entities.WaterMeterData> WaterMeterDataList;
/// <summary>
/// Parameterless constructor required for serialization
/// </summary>
public BatchResults()
{
TestDataList = new List<Entities.TestData>();
ComponentsList = new List<Entities.Components>();
WaterMeterDataList = new List<Entities.WaterMeterData>();
}
/// <summary>
/// Constructor invoked by static BatchResults NewFromProcedure(...)
/// </summary>
/// <param name="wmPositionsCount">Watermeters count</param>
private BatchResults(int wmPositionsCount)
: this()
{
WMPositionsCount = wmPositionsCount;
TestDataList = new List<Entities.TestData>();
ComponentsList = new List<Entities.Components>();
WaterMeterDataList = new List<Entities.WaterMeterData>();
}
public Batch Batch;
public WaterMeter[] WaterMeters;
public static BatchResults NewFromProcedure(int batchNr, int benchId, string benchName, string a1, string a2, string a3, string a4, string a5,
string user, int userNr, string programVer, Config.Entities.Procedure procedure,
WaterMeterData[] waterMeterDatas, int[] waterMeterParts, double densityCorr)
@@ -38,6 +49,7 @@ namespace Results
d.Batch = new Batch()
{
BatchNr = batchNr,
ProgramVersion = programVer,
TestBenchId = benchId,
TestBenchName = benchName,
Address1 = a1,
@@ -45,7 +57,6 @@ namespace Results
Address3 = a3,
Address4 = a4,
Address5 = a5,
ProgramVersion = programVer,
UserName = user,
UserNumber = userNr,
ProcedureName = procedure.Name,
@@ -65,62 +76,64 @@ namespace Results
/// Add watermeter to an array, array index is WM position.
/// AddWaterMetersToBatch() has to be used before saving results.
///
d.WaterMeters = new WaterMeter[d.WMPositionsCount];
for (int i = 0; i < d.WMPositionsCount; i++)
for (int wmPos0 = 0; wmPos0 < d.WMPositionsCount; wmPos0++)
{
if (waterMeterDatas[i] == null) continue;
WaterMeterData wmd = WaterMeterData.UpdateList(d.WaterMeterDataList, waterMeterDatas[i]);
d.WaterMeters[i] = new WaterMeter()
{
Batch = d.Batch,
WaterMeterData = wmd,
WMPosition = i + 1,
YearOfProduction = year,
};
if (waterMeterDatas[wmPos0] == null)
{
d.Batch.WaterMeters.Add(new WaterMeter() { Batch = d.Batch,
WaterMeterData = null,
WMPosition = wmPos0 + 1,
YearOfProduction = year,
Disabled = true, });
}
else
{
WaterMeterData wmd = WaterMeterData.UpdateList(d.WaterMeterDataList, waterMeterDatas[wmPos0]);
d.Batch.WaterMeters.Add(new WaterMeter() { Batch = d.Batch,
WaterMeterData = wmd,
WMPosition = wmPos0 + 1,
YearOfProduction = year, });
}
}
foreach (var t in procedure.Tests)
{
if (t.Publish != (byte)Config.Entities.Publish.Never)
TestData td = TestData.UpdateList(d.TestDataList, new TestData(t));
for (int rnr = 1; rnr <= t.Repeats; rnr++)
{
TestData td = TestData.UpdateList(d.TestDataList, new TestData(t));
/// Create an empty test result and add it to the list
TestRslt tr = new TestRslt(d.Batch, td, t.Part, rnr);
d.Batch.TestRslts.Add(tr);
for (int rnr = 1; rnr <= t.Repeats; rnr++)
for (int i = 0; i < d.WMPositionsCount; i++)
{
/// Create an empty test result and add it to the list
TestRslt tr = new TestRslt(d.Batch, td, t.Part, rnr);
d.Batch.TestRslts.Add(tr);
for (int i = 0; i < d.WMPositionsCount; i++)
{
if (d.WaterMeters[i] == null) continue;
if (!t.IsPartCompatible(waterMeterParts[i])) continue;
///
/// Create empty watermeter test results and add them to the list and to dictionaries
///
IList<MeterTestRslt> wmtrs = d.WaterMeters[i].MeterTestRslts;
if (d.Batch.Compound)
{
/// Compound water meter
wmtrs.Add(new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.CompoundMain));
wmtrs.Add(new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.CompoundAux));
wmtrs.Add(new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.Compound));
}
else if (d.Batch.HeatMeter)
{
/// Heat meter
wmtrs.Add(new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.HeatMeterVolume));
wmtrs.Add(new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.HeatMeterEnergy));
}
else
{
/// Water meter
wmtrs.Add(new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.Single));
}
}
if (!d.Batch.WaterMeters[i].Disabled && t.IsPartCompatible(waterMeterParts[i]))
{
///
/// Create empty watermeter test results and add them to the list and to dictionaries
///
IList<MeterTestRslt> wmtrs = d.Batch.WaterMeters[i].MeterTestRslts;
if (d.Batch.Compound)
{
/// Compound water meter
wmtrs.Add(new MeterTestRslt(d.Batch.WaterMeters[i], tr, Config.Entities.CompoundMeterId.CompoundMain));
wmtrs.Add(new MeterTestRslt(d.Batch.WaterMeters[i], tr, Config.Entities.CompoundMeterId.CompoundAux));
wmtrs.Add(new MeterTestRslt(d.Batch.WaterMeters[i], tr, Config.Entities.CompoundMeterId.Compound));
}
else if (d.Batch.HeatMeter)
{
/// Heat meter
wmtrs.Add(new MeterTestRslt(d.Batch.WaterMeters[i], tr, Config.Entities.CompoundMeterId.HeatMeterVolume));
wmtrs.Add(new MeterTestRslt(d.Batch.WaterMeters[i], tr, Config.Entities.CompoundMeterId.HeatMeterEnergy));
}
else
{
/// Water meter
wmtrs.Add(new MeterTestRslt(d.Batch.WaterMeters[i], tr, Config.Entities.CompoundMeterId.Single));
}
}
}
}
}
@@ -137,11 +150,17 @@ namespace Results
BatchResults batchResults = new BatchResults(wmPosMax);
batchResults.Batch = batch;
batchResults.WaterMeters = new WaterMeter[wmPosMax];
for (int i = 0; i < batch.WaterMeters.Count; i++)
/// Insert missing disabled water meters
for (int wmNr0 = 0; wmNr0 < wmPosMax; wmNr0++)
{
WaterMeter wm = batch.WaterMeters[i];
batchResults.WaterMeters[wm.WMPosition - 1] = wm;
if (batch.WaterMeters[wmNr0].WMPosition > wmNr0 + 1)
{
batch.WaterMeters.Insert(wmNr0, new WaterMeter() { Batch = batch,
WaterMeterData = null,
WMPosition = wmNr0 + 1,
YearOfProduction = 0,
Disabled = true, });
}
}
return batchResults;
@@ -152,11 +171,11 @@ namespace Results
return Batch.GetTestRslt(name, part);
}
public MeterTestRslt GetMeterTestRslt(string name, int wmnr0, Config.Entities.CompoundMeterId meterId)
public MeterTestRslt GetMeterTestRslt(string name, int wmNr0, Config.Entities.CompoundMeterId meterId)
{
if (WaterMeters[wmnr0] != null)
if (Batch.WaterMeters != null && Batch.WaterMeters.Count > wmNr0 && !Batch.WaterMeters[wmNr0].Disabled)
{
return WaterMeters[wmnr0].GetMeterTestRslt(name, meterId);
return Batch.WaterMeters[wmNr0].GetMeterTestRslt(name, meterId);
}
return null;
}
@@ -168,13 +187,13 @@ namespace Results
/// <returns>true = all tests done</returns>
public bool AllTestsDone()
{
for (int i = 0; i < WMPositionsCount; i++)
for (int wmNr0 = 0; wmNr0 < WMPositionsCount; wmNr0++)
{
if ((WaterMeters[i] != null) && !WaterMeters[i].Disabled)
if (Batch.WaterMeters != null && Batch.WaterMeters.Count > wmNr0 && !Batch.WaterMeters[wmNr0].Disabled)
{
foreach (var mtr in WaterMeters[i].MeterTestRslts)
foreach (var mtr in Batch.WaterMeters[wmNr0].MeterTestRslts)
{
if (!mtr.TestDone) return false;
if (mtr.Evaluate() && !mtr.TestDone) return false;
}
}
}
@@ -182,43 +201,17 @@ namespace Results
}
/// <summary>
/// Adds non-null water meters from an array to a Batch water meters list.
/// This method should be used when results are prepared and
/// all disabled water meters are deleted.
/// </summary>
public void AddWaterMetersToBatch()
{
for (int i = 0; i < WMPositionsCount; i++)
{
if (WaterMeters[i] != null)
{
WaterMeters[i].Passed = WaterMeters[i].PassedFromTests();
if (!WaterMeters[i].Disabled)
{
Batch.WaterMeters.Add(WaterMeters[i]);
}
}
}
}
public bool IsProduction()
public virtual void WriteBinary(BinaryWriter writer)
{
for (int i = 0; i < WMPositionsCount; i++)
{
if (WaterMeters[i] != null)
{
foreach (var mtr in WaterMeters[i].MeterTestRslts)
{
if (mtr.TestData().Name.ToLower().Contains("adj") || mtr.TestData().Name.ToLower().Contains("just"))
{
return true;
}
}
}
}
return false;
Batch.WriteBinary(writer);
writer.Write(WMPositionsCount);
}
}
public virtual void ReadBinary(BinaryReader reader)
{
Batch = new Batch();
Batch.ReadBinary(reader);
WMPositionsCount = reader.ReadInt32();
}
}
}
+155 -10
View File
@@ -1,26 +1,28 @@
///
/// Copyright (c) 2015-2016 Sensus Metering Systems
/// Copyright (c) 2015-2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using System.IO;
namespace Results.Entities
{
public class Batch
{
public virtual int Id { get; protected set; }
public virtual int Id { get; protected set; }
public virtual int BatchNr { get; set; }
public virtual int TestBenchId { get; set; }
public virtual string ProgramVersion { get; set; }
public virtual int TestBenchId { get; set; }
public virtual string TestBenchName { get; set; } /// CEVAK, not mapped to DB
public virtual string Address1 { get; set; } /// CEVAK, not mapped to DB
public virtual string Address2 { get; set; } /// CEVAK, not mapped to DB
public virtual string Address3 { get; set; } /// CEVAK, not mapped to DB
public virtual string Address4 { get; set; } /// CEVAK, not mapped to DB
public virtual string Address5 { get; set; } /// CEVAK, not mapped to DB
public virtual string ProgramVersion { get; set; }
public virtual string UserName { get; set; }
public virtual int UserNumber { get; set; }
public virtual string ProcedureName { get; set; }
public virtual bool IsRemoteProcedure { get; set; } /// Stara Tura, not mapped to DB
public virtual string ProcedureDescription { get; set; } /// CEVAK, not mapped to DB
public virtual int ProcedureRevision { get; set; }
public virtual string WatermetersStr { get; set; } /// CEVAK, not mapped to DB
@@ -50,6 +52,22 @@ namespace Results.Entities
Tests = new List<TestData>();
WaterMeters = new List<WaterMeter>();
TestRslts = new List<TestRslt>();
ProgramVersion = string.Empty;
TestBenchName = string.Empty;
Address1 = string.Empty;
Address2 = string.Empty;
Address3 = string.Empty;
Address4 = string.Empty;
Address5 = string.Empty;
UserName = string.Empty;
ProcedureName = string.Empty;
IsRemoteProcedure = false;
ProcedureDescription = string.Empty;
WatermetersStr = string.Empty;
ProtocolTitle = string.Empty;
ProtocolTitle = string.Empty;
Remark = string.Empty;
}
public virtual int PassedMetersCount()
@@ -208,11 +226,138 @@ namespace Results.Entities
public virtual string ToString(int i)
{
return string.Format("Batch: BatchNr={0} TestBenchId={1} ProgramVersion={2} UserName={3} UserNumber={4} ProcedureName={5} ProcedureRevision={6} ProtocolTitle={7} Remark={8} DensityCorr={9} Custom2={10} Custom3={11} StartTime={12} EndTime={13} Dirty={14} RsltsSent={15} RsltsPrinted={16}",
BatchNr, TestBenchId, ProgramVersion, UserName, UserNumber,
ProcedureName, ProcedureRevision, ProtocolTitle, Remark, DensityCorr,
Custom2, Custom3, StartTime, EndTime, Dirty,
RsltsSent, RsltsPrinted);
return string.Format("Batch: BatchNr={0} ProgramVersion={1} TestBenchId={2} UserName={3} UserNumber={4} ProcedureName={5}{6} ProcRev={7} ProtocolTitle={8} Remark={9} DensityCorr={10} Custom2={11} Custom3={12} StartTime={13} EndTime={14} Dirty={15} RsltsSent={16} RsltsPrinted={17}",
BatchNr, ProgramVersion, TestBenchId, UserName, UserNumber,
ProcedureName, (IsRemoteProcedure ? "(R)" : ""), ProcedureRevision,
ProtocolTitle, Remark, DensityCorr, Custom2, Custom3,
StartTime, EndTime, Dirty, RsltsSent, RsltsPrinted);
}
}
public virtual void WriteBinary(BinaryWriter writer)
{
writer.Write(BatchNr);
writer.Write((ProgramVersion != null) ? ProgramVersion : string.Empty);
writer.Write((ProcedureName != null) ? ProcedureName : string.Empty);
writer.Write(IsRemoteProcedure);
writer.Write(Id);
writer.Write(TestBenchId);
writer.Write((TestBenchName != null) ? TestBenchName : string.Empty);
writer.Write((Address1 != null) ? Address1 : string.Empty);
writer.Write((Address2 != null) ? Address2 : string.Empty);
writer.Write((Address3 != null) ? Address3 : string.Empty);
writer.Write((Address4 != null) ? Address4 : string.Empty);
writer.Write((Address5 != null) ? Address5 : string.Empty);
writer.Write((UserName != null) ? UserName : string.Empty);
writer.Write(UserNumber);
writer.Write((ProcedureDescription != null) ? ProcedureDescription : string.Empty);
writer.Write(ProcedureRevision);
writer.Write((WatermetersStr != null) ? WatermetersStr : string.Empty);
writer.Write((ProtocolTitle != null) ? ProtocolTitle : string.Empty);
writer.Write((Remark != null) ? Remark : string.Empty);
writer.Write(DensityCorr);
writer.Write(Custom2);
writer.Write(Custom3);
writer.Write(Counter6);
writer.Write(Counter7);
writer.Write(Counter8);
writer.Write(Counter9);
writer.Write(Counter10);
writer.Write(StartTime.ToString());
writer.Write(EndTime.ToString());
writer.Write(Dirty);
writer.Write(RsltsSent);
writer.Write(RsltsPrinted);
writer.Write(Compound);
writer.Write(HeatMeter);
IList<TestData> savedTestDatas = new List<TestData>(); /// Initially empty
writer.Write(TestRslts.Count);
for (int i = 0; i < TestRslts.Count; i++)
{
TestRslts[i].WriteBinary(writer, savedTestDatas);
}
IList<WaterMeterData> savedWMDatas = new List<WaterMeterData>(); /// Initially empty
writer.Write(WaterMeters.Count);
for (int i = 0; i < WaterMeters.Count; i++)
{
WaterMeters[i].WriteBinary(writer, savedWMDatas);
}
}
public static void ReadStart(BinaryReader reader, out int batchNr, out string programVersion, out string procedureName, out bool isRemoteProcedure)
{
batchNr = reader.ReadInt32();
programVersion = reader.ReadString();
procedureName = reader.ReadString();
isRemoteProcedure = reader.ReadBoolean();
}
public virtual void ReadBinary(BinaryReader reader)
{
/// ReadStart() is used to avoid code repetition
int batchNr;
string programVersion;
string procedureName;
bool isRemoteProcedure;
ReadStart(reader, out batchNr, out programVersion, out procedureName, out isRemoteProcedure);
BatchNr = batchNr;
ProgramVersion = programVersion;
ProcedureName = procedureName;
IsRemoteProcedure = isRemoteProcedure;
Id = reader.ReadInt32();
TestBenchId = reader.ReadInt32();
TestBenchName = reader.ReadString();
Address1 = reader.ReadString();
Address2 = reader.ReadString();
Address3 = reader.ReadString();
Address4 = reader.ReadString();
Address5 = reader.ReadString();
UserName = reader.ReadString();
UserNumber = reader.ReadInt32();
ProcedureDescription = reader.ReadString();
ProcedureRevision = reader.ReadInt32();
WatermetersStr = reader.ReadString();
ProtocolTitle = reader.ReadString();
Remark = reader.ReadString();
DensityCorr = reader.ReadInt32();
Custom2 = reader.ReadInt32();
Custom3 = reader.ReadInt32();
Counter6 = reader.ReadInt32();
Counter7 = reader.ReadInt32();
Counter8 = reader.ReadInt32();
Counter9 = reader.ReadInt32();
Counter10 = reader.ReadInt32();
StartTime = DateTime.Parse(reader.ReadString());
EndTime = DateTime.Parse(reader.ReadString());
Dirty = reader.ReadBoolean();
RsltsSent = reader.ReadBoolean();
RsltsPrinted = reader.ReadBoolean();
Compound = reader.ReadBoolean();
HeatMeter = reader.ReadBoolean();
Tests = new List<TestData>(); /// Initially empty
int testRsltsCount = reader.ReadInt32();
TestRslts = new List<TestRslt>();
for (int i = 0; i < testRsltsCount; i++)
{
TestRslts.Add(new TestRslt());
TestRslts[i].ReadBinary(reader, Tests);
TestRslts[i].Batch = this;
}
IList<WaterMeterData> wmDatasRetirevedSoFar = new List<WaterMeterData>(); /// Initially empty
int waterMetersCount = reader.ReadInt32();
WaterMeters = new List<WaterMeter>();
for (int i = 0; i < waterMetersCount; i++)
{
WaterMeters.Add(new WaterMeter());
WaterMeters[i].ReadBinary(reader, wmDatasRetirevedSoFar, TestRslts);
WaterMeters[i].Batch = this;
}
}
}
}
+37 -6
View File
@@ -1,16 +1,17 @@
///
/// Copyright (c) 2016 Sensus Metering Systems
/// Copyright (c) 2016-2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
namespace Results.Entities
{
public class Components
public class Components
{
public virtual int Id { get; protected set; }
public virtual int TestBenchId { get; set; }
public virtual int Id { get; protected set; }
public virtual int TestBenchId { get; set; }
public virtual string TestBenchName { get; set; }
public virtual string Pump { get; set; }
public virtual string RegValve { get; set; }
@@ -21,7 +22,7 @@ namespace Results.Entities
public virtual string Custom2 { get; set; }
public virtual string Custom3 { get; set; }
protected Components()
public Components()
{
TestBenchId = 0;
TestBenchName = string.Empty;
@@ -90,5 +91,35 @@ namespace Results.Entities
list.Add(item); /// Item not fund in the list, it is added to the list
return item;
}
}
public virtual void WriteBinary(BinaryWriter writer)
{
writer.Write(Id);
writer.Write(TestBenchId);
writer.Write((TestBenchName != null) ? TestBenchName : string.Empty);
writer.Write((Pump != null) ? Pump : string.Empty);
writer.Write((RegValve != null) ? RegValve : string.Empty);
writer.Write((Flowmeter != null) ? Flowmeter : string.Empty);
writer.Write((Diverter != null) ? Diverter : string.Empty);
writer.Write((Scale != null) ? Scale : string.Empty);
writer.Write((Custom1 != null) ? Custom1 : string.Empty);
writer.Write((Custom2 != null) ? Custom2 : string.Empty);
writer.Write((Custom3 != null) ? Custom3 : string.Empty);
}
public virtual void ReadBinary(BinaryReader reader)
{
Id = reader.ReadInt32();
TestBenchId = reader.ReadInt32();
TestBenchName = reader.ReadString();
Pump = reader.ReadString();
RegValve = reader.ReadString();
Flowmeter = reader.ReadString();
Diverter = reader.ReadString();
Scale = reader.ReadString();
Custom1 = reader.ReadString();
Custom2 = reader.ReadString();
Custom3 = reader.ReadString();
}
}
}
+72 -3
View File
@@ -1,14 +1,15 @@
///
/// Copyright (c) 2013-2018 Sensus Slovensko a.s.
/// Copyright (c) 2013-2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using System.IO;
namespace Results.Entities
{
public class MeterTestRslt
{
public virtual int Id { get; protected set; }
public virtual int Id { get; protected set; }
public virtual byte CompoundMeterId { get; set; } /// 0=single, 1=compound/main, 2=compound/aux., 3=compound/overal, 4=heat meter volume, 5=heat meter energy
public virtual int RegReaderType { get; set; } /// Not mapped to the DB, does not depend on localization and customer
@@ -143,5 +144,73 @@ namespace Results.Entities
{
return (TestRslt != null) ? Name() : base.ToString();
}
public virtual void WriteBinary(BinaryWriter writer)
{
writer.Write(Id);
writer.Write(CompoundMeterId);
writer.Write(RegReaderType);
writer.Write(PulsesMeter);
writer.Write(PulsesMaster);
writer.Write(PulsesPerLiter);
writer.Write(VolumeStart);
writer.Write(VolumeEnd);
writer.Write(VolumeMeter);
writer.Write(VolumeRef);
writer.Write(TimestampStart);
writer.Write(TimestampEnd);
writer.Write(TestTime);
writer.Write(Error);
writer.Write(ErrorIndicators);
writer.Write(InfoIndicators);
writer.Write(KorrErrQ);
writer.Write(TestDone);
writer.Write(Passed);
#if ORACLE_DB
writer.Write(LastError);
#endif
writer.Write((TestRslt != null && TestRslt.Name() != null) ? TestRslt.Name() : string.Empty);
writer.Write(TestRslt.Part);
}
public virtual void ReadBinary(BinaryReader reader, IList<TestRslt> testResults)
{
Id = reader.ReadInt32();
CompoundMeterId = reader.ReadByte();
RegReaderType = reader.ReadInt32();
PulsesMeter = reader.ReadDouble();
PulsesMaster = reader.ReadDouble();
PulsesPerLiter = reader.ReadDouble();
VolumeStart = reader.ReadDouble();
VolumeEnd = reader.ReadDouble();
VolumeMeter = reader.ReadDouble();
VolumeRef = reader.ReadDouble();
TimestampStart = reader.ReadDouble();
TimestampEnd = reader.ReadDouble();
TestTime = reader.ReadDouble();
Error = reader.ReadDouble();
ErrorIndicators = reader.ReadInt64();
InfoIndicators = reader.ReadInt64();
KorrErrQ = reader.ReadDouble();
TestDone = reader.ReadBoolean();
Passed = reader.ReadBoolean();
#if ORACLE_DB
LastError = reader.ReadDouble();
#endif
TestRslt = null;
string trName = reader.ReadString();
int trPart = reader.ReadInt32();
if (testResults != null && !string.IsNullOrEmpty(trName))
{
foreach (var tr in testResults)
{
if ((tr.Name() == trName) && (tr.Part == trPart))
{
TestRslt = tr;
break;
}
}
}
}
}
}
+47 -4
View File
@@ -1,18 +1,19 @@
///
/// Copyright (c) 2016 Sensus Metering Systems
/// Copyright (c) 2016-2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
namespace Results.Entities
{
/// <summary>
/// Test, consisting of one or more repetitions of the test 'SingleTest'.
/// </summary>
public class TestData
public class TestData
{
public virtual int Id { get; protected set; }
public virtual int Id { get; protected set; }
public virtual string Name { get; set; }
public virtual int Repeats { get; set; }
public virtual double Qtg { get; set; } /// [m3/h] flow range low limit
@@ -31,7 +32,7 @@ namespace Results.Entities
public virtual bool Evaluate { get; set; }
protected TestData()
public TestData()
{
Name = string.Empty;
Method = string.Empty;
@@ -107,5 +108,47 @@ namespace Results.Entities
list.Add(item); /// Item not fund in the list, it is added to the list
return item;
}
public virtual void WriteBinary(BinaryWriter writer)
{
writer.Write(Id);
writer.Write((Name != null) ? Name : string.Empty);
writer.Write(Repeats);
writer.Write(Qtg);
writer.Write(Qfrom);
writer.Write(Qto);
writer.Write(TargetVolume);
writer.Write(TargetTime);
writer.Write((Method != null) ? Method : string.Empty);
writer.Write(ErrLimLo);
writer.Write(ErrLimHi);
writer.Write(ErrLimMargin);
writer.Write(DoControlWaterTemp);
writer.Write(TempLimLo);
writer.Write(TempLimHi);
writer.Write(Publish);
writer.Write(Evaluate);
}
public virtual void ReadBinary(BinaryReader reader)
{
Id = reader.ReadInt32();
Name = reader.ReadString();
Repeats = reader.ReadInt32();
Qtg = reader.ReadDouble();
Qfrom = reader.ReadDouble();
Qto = reader.ReadDouble();
TargetVolume = reader.ReadDouble();
TargetTime = reader.ReadDouble();
Method = reader.ReadString();
ErrLimLo = reader.ReadDouble();
ErrLimHi = reader.ReadDouble();
ErrLimMargin = reader.ReadDouble();
DoControlWaterTemp = reader.ReadBoolean();
TempLimLo = reader.ReadSingle();
TempLimHi = reader.ReadSingle();
Publish = reader.ReadSByte();
Evaluate = reader.ReadBoolean();
}
}
}
+290 -5
View File
@@ -1,15 +1,16 @@
///
/// Copyright (c) 2015-2018 Sensus Slovensko a.s.
/// Copyright (c) 2015-2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace Results.Entities
{
public class TestRslt
{
/// Identity
/// Identity
public virtual int Id { get; protected set; }
public virtual Batch Batch { get; set; }
public virtual TestData TestData { get; set; }
@@ -221,8 +222,10 @@ namespace Results.Entities
public virtual Config.Entities.Publish Publish() { return (Config.Entities.Publish)TestData.Publish; }
protected TestRslt()
public TestRslt()
{
MethodClass = string.Empty;
Remark = string.Empty;
}
public TestRslt(Batch batch, TestData testData, int part, int repetitionNr)
@@ -372,7 +375,7 @@ namespace Results.Entities
public override string ToString()
{
return string.Format("batch={0}, procedure={1}, test={2}, {3} {4}", Batch.BatchNr, Batch.ProcedureName, Name(), StartTime.ToShortDateString(), StartTime.ToShortTimeString());
return string.Format("batch={0}, procedure={1}, test={2}, part={3} start={4} {5}", Batch.BatchNr, Batch.ProcedureName, Name(), Part, StartTime.ToShortDateString(), StartTime.ToShortTimeString());
}
public virtual string ToString(int i)
@@ -395,5 +398,287 @@ namespace Results.Entities
Custom1, Custom2, Custom3, Custom4, Custom5, Custom6, Custom7, Custom8, Custom9, Custom10,
DiverterStart, DiverterEnd);
}
}
public virtual void WriteBinary(BinaryWriter writer, IList<TestData> savedTestDatas)
{
writer.Write(Id);
/// Save TestData or TestData.Name
if (savedTestDatas != null && !savedTestDatas.Contains(TestData))
{
writer.Write(true);
TestData.WriteBinary(writer);
savedTestDatas.Add(TestData);
}
else
{
writer.Write(false);
writer.Write(TestData.Name);
}
/// Save Components if not null
if (Components != null)
{
writer.Write(true);
Components.WriteBinary(writer); /// Write Components
}
else
{
writer.Write(false);
}
writer.Write(Part);
writer.Write(RepetitionNr);
writer.Write((MethodClass != null) ? MethodClass : string.Empty);
writer.Write(TestDone);
writer.Write((Remark != null) ? Remark : string.Empty);
writer.Write(StartTime.ToString());
writer.Write(EndTime.ToString());
writer.Write(FlowSetTime);
writer.Write(TimeBtwnMassMsrmnts);
writer.Write(TestTime);
writer.Write(TestTimeCorrection);
writer.Write(PulsesMaster);
writer.Write(TotalPulsesMstr);
writer.Write(ConstMasterRaw);
writer.Write(ConstMasterCorr);
writer.Write(ConstMaster);
writer.Write(MassStartRaw);
writer.Write(MassStart);
writer.Write(MassEndRaw);
writer.Write(MassEnd);
writer.Write(DensityIn);
writer.Write(DensityLine);
writer.Write(DensityDiv);
writer.Write(Buoyancy);
writer.Write(FlowMass);
writer.Write(FlowVolume);
writer.Write(VolumeCTV);
writer.Write(VolumeMaster);
writer.Write(ErrorMaster);
writer.Write(DiverterStart);
writer.Write(DivStart10);
writer.Write(DivStart50);
writer.Write(DivStart90);
writer.Write(DiverterEnd);
writer.Write(DivEnd90);
writer.Write(DivEnd50);
writer.Write(DivEnd10);
writer.Write(ErrorFlags);
writer.Write(InfoFlags);
writer.Write(RefEnergy);
writer.Write(AmbTempMean);
writer.Write(AmbTempStart);
writer.Write(AmbTempEnd);
writer.Write(AmbTempMin);
writer.Write(AmbTempMax);
writer.Write(AmbPressMean);
writer.Write(AmbPressStart);
writer.Write(AmbPressEnd);
writer.Write(AmbPressMin);
writer.Write(AmbPressMax);
writer.Write(AmbHumiMean);
writer.Write(AmbHumiStart);
writer.Write(AmbHumiEnd);
writer.Write(AmbHumiMin);
writer.Write(AmbHumiMax);
writer.Write(PressUpMean);
writer.Write(PressUpStart);
writer.Write(PressUpEnd);
writer.Write(PressUpMin);
writer.Write(PressUpMax);
writer.Write(PressDownMean);
writer.Write(PressDownStart);
writer.Write(PressDownEnd);
writer.Write(PressDownMin);
writer.Write(PressDownMax);
writer.Write(PressDeltaMean);
writer.Write(PressDeltaStart);
writer.Write(PressDeltaEnd);
writer.Write(PressDeltaMin);
writer.Write(PressDeltaMax);
writer.Write(TempUpMean);
writer.Write(TempUpStart);
writer.Write(TempUpEnd);
writer.Write(TempUpMin);
writer.Write(TempUpMax);
writer.Write(TempDownMean);
writer.Write(TempDownStart);
writer.Write(TempDownEnd);
writer.Write(TempDownMin);
writer.Write(TempDownMax);
writer.Write(TempDivMean);
writer.Write(TempDivStart);
writer.Write(TempDivEnd);
writer.Write(TempDivMin);
writer.Write(TempDivMax);
writer.Write(FlowMean);
writer.Write(FlowStart);
writer.Write(FlowEnd);
writer.Write(FlowMin);
writer.Write(FlowMax);
writer.Write(Uncertnt);
writer.Write(UncertntScale);
writer.Write(UncertntDensity);
writer.Write(UncertntTemp);
writer.Write(UncertntPressure);
writer.Write(Custom1);
writer.Write(Custom2);
writer.Write(Custom3);
writer.Write(Custom4);
writer.Write(Custom5);
writer.Write(Custom6);
writer.Write(Custom7);
writer.Write(Custom8);
writer.Write(Custom9);
writer.Write(Custom10);
writer.Write(Counter1);
writer.Write(Counter2);
writer.Write(Counter3);
writer.Write(Counter4);
writer.Write(Counter5);
}
public virtual void ReadBinary(BinaryReader reader, IList<TestData> testDatas)
{
Id = reader.ReadInt32();
/// Retrieve TestData
if (reader.ReadBoolean())
{
(TestData = new TestData()).ReadBinary(reader);
if (testDatas != null) testDatas.Add(TestData);
}
else
{
TestData = null;
string testDataName = reader.ReadString();
foreach (var td in testDatas)
{
if (td.Name == testDataName)
{
TestData = td;
break;
}
}
}
if (reader.ReadBoolean())
{
(Components = new Components()).ReadBinary(reader); /// Read Components
}
Part = reader.ReadInt32();
RepetitionNr = reader.ReadInt32();
MethodClass = reader.ReadString();
TestDone = reader.ReadBoolean();
Remark = reader.ReadString();
StartTime = DateTime.Parse(reader.ReadString());
EndTime = DateTime.Parse(reader.ReadString());
FlowSetTime = reader.ReadInt32();
TimeBtwnMassMsrmnts = reader.ReadInt32();
TestTime = reader.ReadDouble();
TestTimeCorrection = reader.ReadDouble();
PulsesMaster = reader.ReadDouble();
TotalPulsesMstr = reader.ReadDouble();
ConstMasterRaw = reader.ReadDouble();
ConstMasterCorr = reader.ReadDouble();
ConstMaster = reader.ReadDouble();
MassStartRaw = reader.ReadDouble();
MassStart = reader.ReadDouble();
MassEndRaw = reader.ReadDouble();
MassEnd = reader.ReadDouble();
DensityIn = reader.ReadDouble();
DensityLine = reader.ReadDouble();
DensityDiv = reader.ReadDouble();
Buoyancy = reader.ReadDouble();
FlowMass = reader.ReadDouble();
FlowVolume = reader.ReadDouble();
VolumeCTV = reader.ReadDouble();
VolumeMaster = reader.ReadDouble();
ErrorMaster = reader.ReadDouble();
DiverterStart = reader.ReadSingle();
DivStart10 = reader.ReadSingle();
DivStart50 = reader.ReadSingle();
DivStart90 = reader.ReadSingle();
DiverterEnd = reader.ReadSingle();
DivEnd90 = reader.ReadSingle();
DivEnd50 = reader.ReadSingle();
DivEnd10 = reader.ReadSingle();
ErrorFlags = reader.ReadInt64();
InfoFlags = reader.ReadInt64();
RefEnergy = reader.ReadDouble();
AmbTempMean = reader.ReadSingle();
AmbTempStart = reader.ReadSingle();
AmbTempEnd = reader.ReadSingle();
AmbTempMin = reader.ReadSingle();
AmbTempMax = reader.ReadSingle();
AmbPressMean = reader.ReadSingle();
AmbPressStart = reader.ReadSingle();
AmbPressEnd = reader.ReadSingle();
AmbPressMin = reader.ReadSingle();
AmbPressMax = reader.ReadSingle();
AmbHumiMean = reader.ReadSingle();
AmbHumiStart = reader.ReadSingle();
AmbHumiEnd = reader.ReadSingle();
AmbHumiMin = reader.ReadSingle();
AmbHumiMax = reader.ReadSingle();
PressUpMean = reader.ReadSingle();
PressUpStart = reader.ReadSingle();
PressUpEnd = reader.ReadSingle();
PressUpMin = reader.ReadSingle();
PressUpMax = reader.ReadSingle();
PressDownMean = reader.ReadSingle();
PressDownStart = reader.ReadSingle();
PressDownEnd = reader.ReadSingle();
PressDownMin = reader.ReadSingle();
PressDownMax = reader.ReadSingle();
PressDeltaMean = reader.ReadSingle();
PressDeltaStart = reader.ReadSingle();
PressDeltaEnd = reader.ReadSingle();
PressDeltaMin = reader.ReadSingle();
PressDeltaMax = reader.ReadSingle();
TempUpMean = reader.ReadSingle();
TempUpStart = reader.ReadSingle();
TempUpEnd = reader.ReadSingle();
TempUpMin = reader.ReadSingle();
TempUpMax = reader.ReadSingle();
TempDownMean = reader.ReadSingle();
TempDownStart = reader.ReadSingle();
TempDownEnd = reader.ReadSingle();
TempDownMin = reader.ReadSingle();
TempDownMax = reader.ReadSingle();
TempDivMean = reader.ReadSingle();
TempDivStart = reader.ReadSingle();
TempDivEnd = reader.ReadSingle();
TempDivMin = reader.ReadSingle();
TempDivMax = reader.ReadSingle();
FlowMean = reader.ReadSingle();
FlowStart = reader.ReadSingle();
FlowEnd = reader.ReadSingle();
FlowMin = reader.ReadSingle();
FlowMax = reader.ReadSingle();
Uncertnt = reader.ReadSingle();
UncertntScale = reader.ReadSingle();
UncertntDensity = reader.ReadSingle();
UncertntTemp = reader.ReadSingle();
UncertntPressure = reader.ReadSingle();
Custom1 = reader.ReadSingle();
Custom2 = reader.ReadSingle();
Custom3 = reader.ReadSingle();
Custom4 = reader.ReadSingle();
Custom5 = reader.ReadSingle();
Custom6 = reader.ReadSingle();
Custom7 = reader.ReadSingle();
Custom8 = reader.ReadSingle();
Custom9 = reader.ReadSingle();
Custom10 = reader.ReadSingle();
Counter1 = reader.ReadInt32();
Counter2 = reader.ReadInt32();
Counter3 = reader.ReadInt32();
Counter4 = reader.ReadInt32();
Counter5 = reader.ReadInt32();
}
}
}
+222 -8
View File
@@ -1,15 +1,15 @@
///
/// Copyright (c) 2015-2017 Sensus Metering Systems
/// Copyright (c) 2015-2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Config.Entities;
using Results.Resources;
namespace Results.Entities
{
public enum ResultCode
{
None = 0,
@@ -41,12 +41,12 @@ namespace Results.Entities
public class WaterMeter
{
public virtual int Id { get; protected set; }
public virtual int Id { get; protected set; }
public virtual string SerialNr { get; set; } /// S/N _or_ S/N of the main meter of a compound meter _or_ PCB Number of an iPerl water meter
public virtual string SerialNrAux { get; set; } /// S/N of the aux. meter of a compound meter _or_ a complete assigned S/N of an iPerl water meter
public virtual string PurchaseOrder { get; set; }
public virtual int YearOfProduction { get; set; }
public virtual int WMPosition { get; set; }
public virtual int WMPosition { get; set; } /// 1-based water meter position
public virtual string EndState { get; set; } /// End state (of the main water meter)
public virtual string EndStateAux { get; set; } /// End state of the auxiliary water meter
public virtual double QRise { get; set; } /// [m3/h] detected Q_rise of a composed meter or 'sensitivity' of a single meter
@@ -133,9 +133,6 @@ namespace Results.Entities
public virtual DateTime StartTime() { return Batch.StartTime; }
public virtual DateTime EndTime() { return Batch.EndTime; }
protected MeterTestRslt lastMeterTestRslts;
public virtual MeterTestRslt LastMeterTestRslts() { return lastMeterTestRslts; }
public virtual long ErrorFlagsFromTests()
{
@@ -353,7 +350,25 @@ namespace Results.Entities
SessionId = 0;
ErrorFlags = 0;
LastRecordIsNok = false;
}
/// Initialize strings
SerialNr = string.Empty;
SerialNrAux = string.Empty;
PurchaseOrder = string.Empty;
EndState = string.Empty;
EndStateAux = string.Empty;
ArchivePath = string.Empty;
Remark = string.Empty;
#if TURA_SPECIAL
CompleteSerialNr = string.Empty;
RadioAddress = string.Empty;
ProdUserName = string.Empty;
ProdPurchaseOrder = string.Empty;
#endif
#if IPERL
FWVersion = string.Empty;
#endif
}
public virtual void CopyContentFrom(WaterMeter src)
@@ -534,5 +549,204 @@ namespace Results.Entities
return NotCompletedColor;
}
}
public virtual void WriteBinary(BinaryWriter writer, IList<WaterMeterData> savedWMDatas)
{
writer.Write(Id);
writer.Write((SerialNr != null) ? SerialNr : string.Empty);
writer.Write((SerialNrAux != null) ? SerialNrAux : string.Empty);
writer.Write((PurchaseOrder != null) ? PurchaseOrder : string.Empty);
writer.Write(YearOfProduction);
writer.Write(WMPosition);
writer.Write((EndState != null) ? EndState : string.Empty);
writer.Write((EndStateAux != null) ? EndStateAux : string.Empty);
writer.Write(QRise);
writer.Write(QFall);
writer.Write(ErrorFlags);
writer.Write(InfoFlags);
writer.Write(Passed);
writer.Write(ResultCode);
writer.Write((ArchivePath != null) ? ArchivePath : string.Empty);
writer.Write((Remark != null) ? Remark : string.Empty);
#if IPERL
writer.Write(OrigCalibFactor);
writer.Write(CalibFactor);
writer.Write(OrigCalibFactorLNA);
writer.Write(CalibFactorLNA);
writer.Write(Q2ErrWOCorrection);
writer.Write(Q2CorrRL);
writer.Write(Q2CorrLR);
writer.Write(Q2CorrFlowRight);
writer.Write(Diff2Hz8Hz);
writer.Write(Hz2CorrectionDone);
writer.Write(Hz2Correction);
writer.Write((FWVersion != null) ? FWVersion : string.Empty);
#endif
#if TURA_SPECIAL
writer.Write(AssignedSerialNr);
writer.Write((CompleteSerialNr != null) ? CompleteSerialNr : string.Empty);
writer.Write((RadioAddress != null) ? RadioAddress : string.Empty);
writer.Write(PaletteNr);
writer.Write(UmkartonNr);
writer.Write((ProdTestBench != null) ? ProdTestBench : string.Empty);
writer.Write(ProdWMPosition);
writer.Write((ProdUserName != null) ? ProdUserName : string.Empty);
writer.Write((ProdPurchaseOrder != null) ? ProdPurchaseOrder : string.Empty);
writer.Write(ProdPassed);
writer.Write(ProdResultCode);
writer.Write(ProdQ2CorrRL);
writer.Write(ProdQ2CorrLR);
#endif
#if ORACLE_DB
writer.Write(Pruefindex);
writer.Write(HydrPruefung);
writer.Write(WMTypeRevision);
/// Write RawTestInfos
IList<Results.Output.SensusTestInfo> rawTestInfos = RawTestInfos as IList<Results.Output.SensusTestInfo>;
writer.Write((rawTestInfos != null) ? rawTestInfos.Count : 0);
if (rawTestInfos != null)
{
for (int i = 0; i < rawTestInfos.Count; i++) rawTestInfos[i].WriteBinary(writer);
}
/// Write CompleteTestInfos
Results.Output.SensusTestInfo[] completeTestInfos = CompleteTestInfos as Results.Output.SensusTestInfo[];
writer.Write((completeTestInfos != null) ? completeTestInfos.Length : 0);
if (completeTestInfos != null)
{
for (int i = 0; i < completeTestInfos.Length; i++) completeTestInfos[i].WriteBinary(writer);
}
#endif
writer.Write(ProcessId);
writer.Write(SessionId);
writer.Write(LastRecordIsNok);
/// Save WaterMeterData or WaterMeterData.Id
if (WaterMeterData != null && savedWMDatas != null && !savedWMDatas.Contains(WaterMeterData))
{
writer.Write(true);
WaterMeterData.WriteBinary(writer);
savedWMDatas.Add(WaterMeterData);
}
else
{
writer.Write(false);
}
/// Write MeterTestRslts
int meterTestRsltsCount = MeterTestRslts != null ? MeterTestRslts.Count : 0;
writer.Write(meterTestRsltsCount);
for (int i = 0; i < meterTestRsltsCount; i++)
{
MeterTestRslts[i].WriteBinary(writer);
}
}
public virtual void ReadBinary(BinaryReader reader, IList<WaterMeterData> wmDatasRetrievedSoFar, IList<TestRslt> testRslts)
{
Id = reader.ReadInt32();
SerialNr = reader.ReadString();
SerialNrAux = reader.ReadString();
PurchaseOrder = reader.ReadString();
YearOfProduction = reader.ReadInt32();
WMPosition = reader.ReadInt32();
EndState = reader.ReadString();
EndStateAux = reader.ReadString();
QRise = reader.ReadDouble();
QFall = reader.ReadDouble();
ErrorFlags = reader.ReadInt64();
InfoFlags = reader.ReadInt64();
Passed = reader.ReadBoolean();
ResultCode = reader.ReadInt32();
ArchivePath = reader.ReadString();
Remark = reader.ReadString();
#if IPERL
OrigCalibFactor = reader.ReadDouble();
CalibFactor = reader.ReadDouble();
OrigCalibFactorLNA = reader.ReadDouble();
CalibFactorLNA = reader.ReadDouble();
Q2ErrWOCorrection = reader.ReadDouble();
Q2CorrRL = reader.ReadInt32();
Q2CorrLR = reader.ReadInt32();
Q2CorrFlowRight = reader.ReadInt32();
Diff2Hz8Hz = reader.ReadDouble();
Hz2CorrectionDone = reader.ReadBoolean();
Hz2Correction = reader.ReadInt32();
FWVersion = reader.ReadString();
#endif
#if TURA_SPECIAL
AssignedSerialNr = reader.ReadInt32();
CompleteSerialNr = reader.ReadString();
RadioAddress = reader.ReadString();
PaletteNr = reader.ReadInt32();
UmkartonNr = reader.ReadInt32();
ProdTestBench = reader.ReadString();
ProdWMPosition = reader.ReadInt32();
ProdUserName = reader.ReadString();
ProdPurchaseOrder = reader.ReadString();
ProdPassed = reader.ReadBoolean();
ProdResultCode = reader.ReadInt32();
ProdQ2CorrRL = reader.ReadInt32();
ProdQ2CorrLR = reader.ReadInt32();
#endif
#if ORACLE_DB
Pruefindex = reader.ReadInt32();
HydrPruefung = reader.ReadInt32();
WMTypeRevision = reader.ReadInt32();
/// Read RawTestInfos
int rawTestInfosCount = reader.ReadInt32();
IList<Results.Output.SensusTestInfo> rawTestInfos = new List<Results.Output.SensusTestInfo>();
for (int i = 0; i < rawTestInfosCount; i++)
{
Results.Output.SensusTestInfo ti = new Results.Output.SensusTestInfo();
ti.ReadBinary(reader);
rawTestInfos.Add(ti);
}
RawTestInfos = rawTestInfos;
/// Read CompleteTestInfos
int completeTestInfosLen = reader.ReadInt32();
Results.Output.SensusTestInfo[] completeTestInfos = new Results.Output.SensusTestInfo[completeTestInfosLen];
for (int i = 0; i < completeTestInfosLen; i++)
{
Results.Output.SensusTestInfo ti = new Results.Output.SensusTestInfo();
ti.ReadBinary(reader);
completeTestInfos[i] = ti;
}
CompleteTestInfos = completeTestInfos;
#endif
ProcessId = reader.ReadInt32();
SessionId = reader.ReadInt32();
LastRecordIsNok = reader.ReadBoolean();
/// Retrieve TestData
if (reader.ReadBoolean())
{
(WaterMeterData = new WaterMeterData()).ReadBinary(reader);
if (wmDatasRetrievedSoFar != null) wmDatasRetrievedSoFar.Add(WaterMeterData);
}
else
{
WaterMeterData = null;
foreach (var wmd in wmDatasRetrievedSoFar)
{
WaterMeterData = wmd;
break;
}
}
/// Read MeterTestRslts
int meterTestRsltsCount = reader.ReadInt32();
MeterTestRslts = new List<MeterTestRslt>();
for (int i = 0; i < meterTestRsltsCount; i++)
{
MeterTestRslt mtr = new MeterTestRslt();
mtr.WaterMeter = this;
mtr.ReadBinary(reader, testRslts);
MeterTestRslts.Add(mtr);
}
}
}
}
+81 -5
View File
@@ -1,16 +1,16 @@
///
/// Copyright (c) 2015-2017 Sensus Slovensko a.s.
/// Copyright (c) 2015-2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
namespace Results.Entities
{
public class WaterMeterData
public class WaterMeterData
{
public virtual int Id { get; protected set; }
public virtual int Id { get; protected set; }
public virtual string ProductName { get; set; }
public virtual string Producer { get; set; }
@@ -132,5 +132,81 @@ namespace Results.Entities
list.Add(item); /// Item not fund in the list, it is added to the list
return item;
}
}
public virtual void WriteBinary(BinaryWriter writer)
{
writer.Write(Id);
writer.Write((ProductName != null) ? ProductName : string.Empty);
writer.Write((Producer != null) ? Producer : string.Empty);
writer.Write(DN);
writer.Write(L);
writer.Write((int)Mounting);
writer.Write(NewQnames);
writer.Write(Q4_Qmax);
writer.Write(Q3_Qn);
writer.Write(Q2_Qt);
writer.Write(Q1_Qmin);
writer.Write((MetrologicalClass != null) ? MetrologicalClass : string.Empty);
writer.Write((int)TemperatureClass);
writer.Write((int)PressureLossClass);
writer.Write((int)MaxAdmissiblePressure);
writer.Write((int)FlowProfileSensitivityClass);
writer.Write((ApprovalInfo != null) ? ApprovalInfo : string.Empty);
writer.Write((Certificate != null) ? Certificate : string.Empty);
writer.Write(PulsesPerLtr);
writer.Write((ProducerAux != null) ? ProducerAux : string.Empty);
writer.Write(Q3_Qn_Aux);
writer.Write((MetrologicalClassAux != null) ? MetrologicalClassAux : string.Empty);
writer.Write((ApprovalInfoAux != null) ? ApprovalInfoAux : string.Empty);
writer.Write((int)Medium);
writer.Write((Text1 != null) ? Text1 : string.Empty);
writer.Write((Text2 != null) ? Text2 : string.Empty);
writer.Write((Text3 != null) ? Text3 : string.Empty);
writer.Write((Text4 != null) ? Text4 : string.Empty);
writer.Write((Text5 != null) ? Text5 : string.Empty);
writer.Write(Compound);
writer.Write(HeatMeter);
#if ORACLE_DB
writer.Write(WMTypeId);
#endif
}
public virtual void ReadBinary(BinaryReader reader)
{
Id = reader.ReadInt32();
ProductName = reader.ReadString();
Producer = reader.ReadString();
DN = reader.ReadDouble();
L = reader.ReadDouble();
Mounting = (Config.Entities.Mounting)reader.ReadInt32();
NewQnames = reader.ReadBoolean();
Q4_Qmax = reader.ReadDouble();
Q3_Qn = reader.ReadDouble();
Q2_Qt = reader.ReadDouble();
Q1_Qmin = reader.ReadDouble();
MetrologicalClass = reader.ReadString();
TemperatureClass = (Config.Entities.TemperatureClass)reader.ReadInt32();
PressureLossClass = (Config.Entities.PressureLossClass)reader.ReadInt32();
MaxAdmissiblePressure = (Config.Entities.MaxAdmissiblePressure)reader.ReadInt32();
FlowProfileSensitivityClass = (Config.Entities.FlowProfileSensitivityClass)reader.ReadInt32();
ApprovalInfo = reader.ReadString();
Certificate = reader.ReadString();
PulsesPerLtr = reader.ReadDouble();
ProducerAux = reader.ReadString();
Q3_Qn_Aux = reader.ReadDouble();
MetrologicalClassAux = reader.ReadString();
ApprovalInfoAux = reader.ReadString();
Medium = (Config.Entities.Medium)reader.ReadInt32();
Text1 = reader.ReadString();
Text2 = reader.ReadString();
Text3 = reader.ReadString();
Text4 = reader.ReadString();
Text5 = reader.ReadString();
Compound = reader.ReadBoolean();
HeatMeter = reader.ReadBoolean();
#if ORACLE_DB
WMTypeId = reader.ReadInt32();
#endif
}
}
}
+24 -21
View File
@@ -78,11 +78,11 @@ namespace Results.Forms
///
void OnDoubleClick(object sender, Results.Forms.WaterMeterEventArgs args)
{
if (Results.WaterMeters != null && args.WMPosition > 0)
if (args.WMPosition > 0)
{
foreach (var wm in Results.WaterMeters)
foreach (var wm in Results.Batch.WaterMeters)
{
if ((wm != null) && (wm.WMPosition == args.WMPosition))
if (!wm.Disabled && (wm.WMPosition == args.WMPosition))
{
ShowMoreWMResults(wm);
return;
@@ -124,9 +124,9 @@ namespace Results.Forms
/// Determine water meter positions count
///
int displayedControlsCount = 0;
for (int i = 0; i < results.WaterMeters.Length; i++)
for (int i = 0; i < results.Batch.WaterMeters.Count; i++)
{
if (((results.WaterMeters[i] != null) && !results.WaterMeters[i].Disabled) || ShowDisabledPositions)
if ((!results.Batch.WaterMeters[i].Disabled) || ShowDisabledPositions)
{
displayedControlsCount++;
}
@@ -165,9 +165,9 @@ namespace Results.Forms
wmRsltsCtrl = new IOneWMResultsCtrl[displayedControlsCount];
int ix = 0;
firstEnabledControl = null;
for (int i = 0; i < results.WaterMeters.Length; i++)
for (int i = 0; i < results.Batch.WaterMeters.Count; i++)
{
if (((results.WaterMeters[i] != null) && !results.WaterMeters[i].Disabled) || ShowDisabledPositions)
if (!results.Batch.WaterMeters[i].Disabled || ShowDisabledPositions)
{
/// Create one water meter position / control
wmRsltsCtrl[ix] = (TestsArrangement == TestsArrangement.Rows)
@@ -176,9 +176,9 @@ namespace Results.Forms
wmRsltsCtrl[ix].Width = oneWidth;
wmRsltsCtrl[ix].Height = oneHeight;
if ((results.WaterMeters[i] != null) && !results.WaterMeters[i].Disabled)
if (!results.Batch.WaterMeters[i].Disabled)
{
if ((firstEnabledControl == null) && (results.WaterMeters[i] != null) && !results.WaterMeters[i].Disabled)
if ((firstEnabledControl == null) && !results.Batch.WaterMeters[i].Disabled)
{
firstEnabledControl = wmRsltsCtrl[ix];
}
@@ -211,14 +211,14 @@ namespace Results.Forms
void UpdateResults(Results.BatchResults results)
{
if ((results != null) && (results.WaterMeters != null))
if (results != null && results.Batch != null && results.Batch.WaterMeters != null)
{
int ctrlIx = 0;
for (int i = 0; i < results.WaterMeters.Length; i++)
for (int wmNr0 = 0; wmNr0 < results.Batch.WaterMeters.Count; wmNr0++)
{
if (((results.WaterMeters[i] != null) && !results.WaterMeters[i].Disabled) || ShowDisabledPositions)
if (!results.Batch.WaterMeters[wmNr0].Disabled || ShowDisabledPositions)
{
if (ctrlIx < wmRsltsCtrl.Length) wmRsltsCtrl[ctrlIx++].Update(results.WaterMeters[i]);
if (ctrlIx < wmRsltsCtrl.Length) wmRsltsCtrl[ctrlIx++].Update(results.Batch.WaterMeters[wmNr0]);
}
}
}
@@ -310,16 +310,19 @@ namespace Results.Forms
oneHeight = Math.Max(MinHeight, flowLayoutPanel.Height / metersInOneGroup - 6);
}
/// Update size of controls
flowLayoutPanel.SuspendLayout();
///
foreach (var oneCtrl in wmRsltsCtrl)
if (wmRsltsCtrl != null)
{
oneCtrl.Width = oneWidth;
oneCtrl.Height = oneHeight;
/// Update size of controls
flowLayoutPanel.SuspendLayout();
///
foreach (var oneCtrl in wmRsltsCtrl)
{
oneCtrl.Width = oneWidth;
oneCtrl.Height = oneHeight;
}
///
flowLayoutPanel.ResumeLayout();
}
///
flowLayoutPanel.ResumeLayout();
}
}
}
+3 -3
View File
@@ -146,13 +146,13 @@ namespace Results.Forms
tracingResultsListView.Items.Add(new ListViewItem(new string[]
{
rr.TimeStamp.ToString("dd.MM.yyyy HH:mm"),
rr.Workstep.Name,
(rr.Workstep != null) ? rr.Workstep.Name : string.Empty,
rr.Workplace,
rr.UserName,
rr.Result == 0 ? "OK" : "NOK",
rr.Workstep.ReferencePart.Name,
(rr.Workstep != null && rr.Workstep.ReferencePart != null) ? rr.Workstep.ReferencePart.Name : string.Empty,
rr.Code,
rr.Process.Name,
(rr.Process != null) ? rr.Process.Name : string.Empty,
}));
for (int i = 0; i < isMissing.Length; i++)
@@ -4,8 +4,10 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Printing;
using System.IO;
using Gma.QrCodeNet.Encoding;
using Config.Entities;
using Results.Resources;
@@ -13,7 +15,9 @@ namespace Results.Output.Printers.Label
{
public class LabelPrintDocument : PrintersCommon
{
/// Size of the printed area without margins, after taking into account 'pageOrientation'
static QrEncoder encoder = new QrEncoder();
/// Size of the printed area without margins, after taking into account 'pageOrientation'
readonly int printHeight;
readonly int printWidth;
@@ -93,6 +97,44 @@ namespace Results.Output.Printers.Label
e.Graphics.DrawString(item.Print(wm), this.font, Brushes.Black, printArea);
}
}
if (cfg.DrawSNasBarcode)
{
if (cfg.IsQR)
{
QrCode qrCode = encoder.Encode(wm.SerialNr);
DrawQR(e.Graphics, qrCode, cfg.BarcodeLeft, cfg.BarcodeTop, cfg.BarcodeWidth, cfg.BarcodeHeight);
}
else
{
/// TODO
}
}
}
public static void DrawQR(Graphics g, QrCode qrCode, float left, float top, float width, float height)
{
/// Assuming 100 dpi (printer)
g.SmoothingMode = SmoothingMode.AntiAlias;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
float qrPixWidth = width / qrCode.Matrix.Width;
float qrPixHeight = height / qrCode.Matrix.Height;
for (int i = 0; i < qrCode.Matrix.Height; i++)
{
for (int j = 0; j < qrCode.Matrix.Width; j++)
{
if (qrCode.Matrix[j, i])
{
g.FillRectangle(Brushes.Black, new RectangleF(left + j * qrPixWidth,
top + i * qrPixHeight,
qrPixWidth,
qrPixHeight));
}
}
}
}
}
}
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
/// Copyright (c) 2018-2020 Sensus Slovensko a.s.
///
namespace Results.Output.Printers.Label
@@ -17,5 +17,11 @@ namespace Results.Output.Printers.Label
public System.Globalization.CultureInfo CultureInfo;
public bool GoodOnly;
public bool SupressPrinting; /// true = Bypass printing
}
public bool DrawSNasBarcode;
public bool IsQR;
public int BarcodeLeft;
public int BarcodeTop;
public int BarcodeWidth;
public int BarcodeHeight;
}
}
@@ -1,10 +1,11 @@
///
/// Copyright (c) 2018-2019 Sensus Slovensko a.s.
/// Copyright (c) 2018-2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using System.IO;
namespace TBF.BenchControl.Output
namespace Results.Output
{
public enum LogType
{
@@ -56,6 +57,8 @@ namespace TBF.BenchControl.Output
public double Uncertainty;
public string TestMethod;
public SensusTestInfo() { }
public SensusTestInfo(string tstName, int pnDB, string qbDB, int pnOpto, string qbOpto, int pnLog, string qbLog, Range range)
{
TestName = tstName;
@@ -418,5 +421,41 @@ namespace TBF.BenchControl.Output
{
return string.Format("{0} DB={1}/'{2}' Opto={3}/'{4}' Log={5}/'{6}'/{7}", TestName, PruefungsNrDB, QBezeichnungDB, PruefungsNrOpto, QBezeichnungOpto, PruefungsNrLog, QBezeichnungLog, Range);
}
public void WriteBinary(BinaryWriter writer)
{
writer.Write((TestName != null) ? TestName : string.Empty);
writer.Write(PruefungsNrDB);
writer.Write((QBezeichnungDB != null) ? QBezeichnungDB : string.Empty);
writer.Write(PruefungsNrOpto);
writer.Write((QBezeichnungOpto != null) ? QBezeichnungOpto : string.Empty);
writer.Write(PruefungsNrLog);
writer.Write((QBezeichnungLog != null) ? QBezeichnungLog : string.Empty);
writer.Write((int)Range);
writer.Write(Flow);
writer.Write(TestTime);
writer.Write(ErrLimLoFromDB);
writer.Write(ErrLimHiFromDB);
writer.Write(Uncertainty);
writer.Write((TestMethod != null) ? TestMethod : string.Empty);
}
public void ReadBinary(BinaryReader reader)
{
TestName = reader.ReadString();
PruefungsNrDB = reader.ReadInt32();
QBezeichnungDB = reader.ReadString();
PruefungsNrOpto = reader.ReadInt32();
QBezeichnungOpto = reader.ReadString();
PruefungsNrLog = reader.ReadInt32();
QBezeichnungLog = reader.ReadString();
Range = (Range)reader.ReadInt32();
Flow = reader.ReadDouble();
TestTime = reader.ReadInt32();
ErrLimLoFromDB = reader.ReadDouble();
ErrLimHiFromDB = reader.ReadDouble();
Uncertainty = reader.ReadDouble();
TestMethod = reader.ReadString();
}
}
}
+2 -2
View File
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.25.1400.0")]
[assembly: AssemblyFileVersion("2.25.1400.0")]
[assembly: AssemblyVersion("2.25.1409.0")]
[assembly: AssemblyFileVersion("2.25.1409.0")]
+6 -2
View File
@@ -19,7 +19,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;MUNICH</DefineConstants>
<DefineConstants>TRACE;DEBUG;TURA_IPERL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
@@ -29,7 +29,7 @@
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;MUNICH</DefineConstants>
<DefineConstants>TRACE;TURA_IPERL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
@@ -38,6 +38,9 @@
<Reference Include="FluentNHibernate">
<HintPath>..\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll</HintPath>
</Reference>
<Reference Include="Gma.QrCodeNet.Encoding">
<HintPath>..\packages\QrCode.Net.0.4.0.0\net40\Gma.QrCodeNet.Encoding.dll</HintPath>
</Reference>
<Reference Include="Iesi.Collections">
<HintPath>..\packages\Iesi.Collections.4.0.0.4000\lib\net40\Iesi.Collections.dll</HintPath>
</Reference>
@@ -165,6 +168,7 @@
<SubType>Component</SubType>
</Compile>
<Compile Include="Output\Printers\Zapiska\ZapiskaPrinterCfg.cs" />
<Compile Include="Output\SensusTestInfo.cs" />
<Compile Include="Output\Table.cs" />
<Compile Include="Output\WMChart.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
+6 -6
View File
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
/// Copyright (c) 2018-2020 Sensus Slovensko a.s.
///
using System;
using System.IO;
@@ -116,11 +116,11 @@ namespace ResultsBrowser
Bench4 = "WR14";
Bench5 = "WR15";
Bench6 = "PT7";
ConnectionString1 = "SERVER=10.42.128.93; DATABASE=st-wr10-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
ConnectionString2 = "SERVER=10.42.128.102; DATABASE=st-wr11-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
ConnectionString3 = "SERVER=10.42.128.89; DATABASE=st-wr13-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
ConnectionString4 = "SERVER=10.42.128.213; DATABASE=st-wr14-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
ConnectionString5 = "SERVER=10.42.128.214; DATABASE=st-wr15-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
ConnectionString1 = "SERVER=10.42.130.69; DATABASE=st-wr10-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
ConnectionString2 = "SERVER=10.42.129.27; DATABASE=st-wr11-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
ConnectionString3 = "SERVER=10.42.128.61; DATABASE=st-wr13-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
ConnectionString4 = "SERVER=10.42.130.72; DATABASE=st-wr14-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
ConnectionString5 = "SERVER=10.42.130.71; DATABASE=st-wr15-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
ConnectionString6 = "SERVER=10.42.129.26; DATABASE=iperlspecial-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
Language = "SK";
#endif
+30
View File
@@ -0,0 +1,30 @@
using System;
namespace ResultsBrowser
{
public class OraData
{
public string PO;
public string PcbNr;
public int TestBenchId;
public int MaxPruefIx;
public int SN;
public int TestId;
public int WMPosition;
public int HydrPruefung;
public double AdjErr;
public double AdjErrA4;
public double Q3RlErr;
public double Q3LrErr;
public double Q2RlErr;
public double Q2LrErr;
public double Q1RlErr;
public double Q1LrErr;
public int CalibFactor;
public int CalibFactorLNA;
public int Q2CorrectionRl;
public int Q2CorrectionLr;
public OraData() { }
}
}
+2 -2
View File
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.24.1368.0")]
[assembly: AssemblyFileVersion("2.24.1368.0")]
[assembly: AssemblyVersion("2.25.1421.0")]
[assembly: AssemblyFileVersion("2.25.1421.0")]
+3 -2
View File
@@ -21,7 +21,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;MUNICH</DefineConstants>
<DefineConstants>TRACE;DEBUG;TURA_IPERL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
@@ -32,7 +32,7 @@
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;MUNICH</DefineConstants>
<DefineConstants>TRACE;TURA_IPERL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
@@ -179,6 +179,7 @@
<DependentUpon>StatisticsOptionsDlg.cs</DependentUpon>
</Compile>
<Compile Include="LocalSettings.cs" />
<Compile Include="OraData.cs" />
<Compile Include="Output\Printers\Statistics\StatisticsPrintDocument.cs">
<SubType>Component</SubType>
</Compile>
+13
View File
@@ -34,6 +34,7 @@
this.filtersFlowLayoutPanel = new System.Windows.Forms.FlowLayoutPanel();
this.resultsGroupBox = new System.Windows.Forms.GroupBox();
this.resultsListView = new System.Windows.Forms.ListView();
this.customQueryButton = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.histogramBtn = new System.Windows.Forms.Button();
this.statisticsBtn = new System.Windows.Forms.Button();
@@ -84,6 +85,7 @@
//
// vSplitContainer.Panel2
//
this.vSplitContainer.Panel2.Controls.Add(this.customQueryButton);
this.vSplitContainer.Panel2.Controls.Add(this.groupBox1);
this.vSplitContainer.Panel2.Controls.Add(this.outputGroupBox);
this.vSplitContainer.Panel2.Controls.Add(this.printerConfigBtn);
@@ -158,6 +160,16 @@
this.resultsListView.UseCompatibleStateImageBehavior = false;
this.resultsListView.View = System.Windows.Forms.View.Details;
//
// customQueryButton
//
this.customQueryButton.Location = new System.Drawing.Point(31, 437);
this.customQueryButton.Name = "customQueryButton";
this.customQueryButton.Size = new System.Drawing.Size(85, 23);
this.customQueryButton.TabIndex = 14;
this.customQueryButton.Text = "Custom query";
this.customQueryButton.UseVisualStyleBackColor = true;
this.customQueryButton.Click += new System.EventHandler(this.customQueryButton_Click);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.histogramBtn);
@@ -443,5 +455,6 @@
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.GroupBox outputGroupBox;
private System.Windows.Forms.Button histogramBtn;
private System.Windows.Forms.Button customQueryButton;
}
}
+246 -1
View File
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2016-2019 Sensus Slovensko a.s.
/// Copyright (c) 2016-2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
@@ -12,6 +12,8 @@ using TBF.BenchControl.Generic;
using TBF.BenchControl.GenericDevices;
using ResultsBrowser.Filters;
using ResultsBrowser.Resources;
using Oracle;
using Oracle.DataAccess.Client;
namespace ResultsBrowser
{
@@ -32,6 +34,8 @@ namespace ResultsBrowser
static IList<IComponent> tbfComponents;
static IList<IDevice> tbfDevices;
OracleConnection oracleConnection; /// Oracle database connection
public ResultsBrowserWnd(string[] args)
{
InitializeComponent();
@@ -543,5 +547,246 @@ namespace ResultsBrowser
return null;
}
private void customQueryButton_Click(object sender, EventArgs e)
{
try
{
string[] orders = new string[] { "3137303", "3137301", "3142304", "3137302", "3137300" };
IList<OraData> oraDatas = new List<OraData>(); /// List of water meters
IList<int> testBenches = new List<int>(); /// List of test benches used to produce water meters
///
/// Get list of water meters satisfying (custom) criteria
///
Console.WriteLine("Collecting water meters");
foreach (var order in orders)
{
oracleConnection = new OracleConnection("Data Source=STARA01.WORLD;User Id=deltachef;Password=deltachef;");
oracleConnection.Open();
OracleCommand cmd = new OracleCommand("select VT_FERNUM, MAX_PRUEFINDEX, ZAEHLERNUMMER from VT_ZAEHLER_PD where AUFTRAGSNUMMER = :1 AND ANBID = 4 order by ZAEHLERNUMMER", oracleConnection);
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Varchar2, Value = order });
OracleDataReader dr = cmd.ExecuteReader();
int count = 0;
while (dr.Read())
{
int i = 0;
string pcbNr = dr.GetString(i++);
int maxPruefIx = dr.GetInt32(i++);
int testBenchId = maxPruefIx / 100;
maxPruefIx = maxPruefIx % 100;
int sn = dr.GetInt32(i++);
oraDatas.Add(new OraData() { PO = order, PcbNr = pcbNr, TestBenchId = testBenchId, MaxPruefIx = maxPruefIx, SN = sn });
if (!testBenches.Contains(testBenchId)) testBenches.Add(testBenchId);
count++;
}
dr.Close();
Console.WriteLine(string.Format("Order = {0} ... {1} water meters found", order, count));
}
Console.WriteLine("Collecting water meters completed");
Console.WriteLine();
///
/// Get required information about each water meter
///
Console.WriteLine("Reading additional data from Oracle");
int counter = 0;
foreach (var oraD in oraDatas)
{
Console.Write("{0} ", ++counter);
if (counter % 40 == 0) Console.WriteLine();
///
/// Read from VT_ZAEHLER_PINDEX_PD: TestId(ID_WZPRUEFREIHE))
///
OracleCommand cmd = new OracleCommand("select ID_PRUEFSTAND, ID_WZPRUEFREIHE, WT_PLATZ_NR, HYDR_PRUEFUNG from VT_ZAEHLER_PINDEX_PD where VT_FERNUM = :1 AND ANBID = 4 AND WZGUT = 1", oracleConnection);
cmd.Parameters.Add(new OracleParameter { ParameterName = "1", OracleDbType = OracleDbType.Varchar2, Value = oraD.PcbNr });
OracleDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
int i = 0;
int testBenchId = dr.GetInt32(i++) % 100;
oraD.TestId = dr.GetInt32(i++);
oraD.WMPosition = dr.GetInt32(i++);
oraD.HydrPruefung = dr.GetInt32(i++);
}
dr.Close();
///
/// Read from VT_IP_ZAEHLER_PINDEX_PD: Q2CorrectionRl, Q2CorrectionLr
///
cmd = new OracleCommand("select PRUEFINDEX, Q2CORRECTIONLEFT, Q2CORRECTIONRIGHT from VT_IP_ZAEHLER_PINDEX_PD where VT_FERNUM = :1 AND ANBID = 4", oracleConnection);
/// pruefindex, Q2_correction_RL, Q2_correction_LR, Q2_error_before_correction
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = oraD.PcbNr });
dr = cmd.ExecuteReader();
while (dr.Read())
{
int i = 0;
int prfix = (dr.GetInt32(i++) % 100);
if (prfix == oraD.MaxPruefIx)
{
oraD.Q2CorrectionRl = dr.GetInt32(i++);
oraD.Q2CorrectionLr = dr.GetInt32(i++);
}
}
dr.Close();
///
/// Read data from VT_PRUEFREIHE_IST_PD
///
/// testID, flow, rel.err., passed
cmd = new OracleCommand("select PRUEFUNGSNR, Q_WZ, Q_FEHLER, Q_BEST from VT_PRUEFREIHE_IST_PD where VT_FERNUM = :1 AND PRUEFINDEX = :2 AND ANBID = 4", oracleConnection);
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = oraD.PcbNr });
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 100 * oraD.TestBenchId + oraD.MaxPruefIx });
dr = cmd.ExecuteReader();
while (dr.Read())
{
int i = 0;
int testId = dr.GetInt32(i++); /// PRUEFUNGSNR
double flow = dr.GetDouble(i++); /// Q_WZ
double error = dr.GetDouble(i++); /// Q_FEHLER
bool testPassed = (dr.GetInt32(i++) != 0);
/// SUEZ specific
switch (testId)
{
case -2:
oraD.AdjErrA4 = error;
break;
case -1:
oraD.AdjErr = error;
break;
case 5:
oraD.Q3LrErr = error;
break;
case 10:
oraD.Q3RlErr = error;
break;
default:
break;
}
}
dr.Close();
} /// end of foreach (var oraD in OraDatas)
Console.WriteLine();
Console.WriteLine("Reading additional data from Oracle completed");
Console.WriteLine();
oracleConnection.Close();
Console.WriteLine("Reading additional data from MySQL");
counter = 0;
foreach (var testBenchId in testBenches)
{
Console.WriteLine((testBenchId == 8) ? "WR13" : (testBenchId == 9) ? "WR15" : (testBenchId == 10) ? "WR14" : "other");
switch (testBenchId)
{
case 8:
Results.DB.ConnectionString = "SERVER=localhost; DATABASE=st-wr13-r; UID=root; PASSWORD=kraken; CharSet=utf8;";
break;
case 9:
Results.DB.ConnectionString = "SERVER=localhost; DATABASE=st-wr15-r; UID=root; PASSWORD=kraken; CharSet=utf8;";
break;
case 10:
Results.DB.ConnectionString = "SERVER=localhost; DATABASE=st-wr14-r; UID=root; PASSWORD=kraken; CharSet=utf8;";
break;
default:
Results.DB.ConnectionString = string.Empty;
break;
}
if (!string.IsNullOrEmpty(Results.DB.ConnectionString))
{
ISession session = Results.DB.CreateSession();
foreach (var oraD in oraDatas)
{
if (oraD.TestBenchId == testBenchId)
{
Console.Write("{0} ", ++counter);
if (counter % 40 == 0) Console.WriteLine();
IList<WaterMeter> wms = session.QueryOver<WaterMeter>()
.Where(x => x.SerialNr == oraD.PcbNr)
.And(x => x.Passed)
.List();
if (wms.Count == 1)
{
oraD.CalibFactor = (int)Math.Round(wms[0].CalibFactor);
oraD.CalibFactorLNA = (int)Math.Round(wms[0].CalibFactorLNA);
}
else
{
foreach (var wm in wms)
{
if (wm.Batch.BatchNr == oraD.TestId)
{
oraD.CalibFactor = (int)Math.Round(wm.CalibFactor);
oraD.CalibFactorLNA = (int)Math.Round(wm.CalibFactorLNA);
break;
}
}
}
}
}
Console.WriteLine();
session.Close();
}
}
Console.WriteLine("Reading additional data from MySQL");
Console.WriteLine();
Console.WriteLine("CSV data begin");
foreach (var oraD in oraDatas)
{
//Console.WriteLine(string.Format("S/N={0} PCB={1} bench={2} Batch={3} Pos={4} AdjA0={5} AdjA4={6} Q3RL={7} Q3LR={8} CalF={9} CAlF_LNA={10} HP={11} Q2cRL={12} Q2cLR={13}",
// oraD.SN,
// oraD.PcbNr,
// (oraD.TestBenchId == 8) ? "WR13" : (oraD.TestBenchId == 9) ? "WR15" : (oraD.TestBenchId == 10) ? "WR14" : "other",
// oraD.TestId,
// oraD.WMPosition,
// oraD.AdjErr.ToString("F1"),
// oraD.AdjErrA4.ToString("F1"),
// oraD.Q3RlErr.ToString("F1"),
// oraD.Q3LrErr.ToString("F1"),
// oraD.CalibFactor,
// oraD.CalibFactorLNA,
// oraD.HydrPruefung,
// oraD.Q2CorrectionRl,
// oraD.Q2CorrectionLr));
Console.WriteLine(string.Format("{0}; =(\"{1}\"); {2}; {3}; {4}; {5}; {6}; {7}; {8}; {9}; {10}; {12}; {13}",
oraD.SN,
oraD.PcbNr,
(oraD.TestBenchId == 8) ? "WR13" : (oraD.TestBenchId == 9) ? "WR15" : (oraD.TestBenchId == 10) ? "WR14" : "other",
oraD.TestId,
oraD.WMPosition,
oraD.AdjErr.ToString("F2"),
oraD.AdjErrA4.ToString("F2"),
oraD.Q3RlErr.ToString("F2"),
oraD.Q3LrErr.ToString("F2"),
oraD.CalibFactor,
oraD.CalibFactorLNA,
oraD.HydrPruefung,
oraD.Q2CorrectionRl,
oraD.Q2CorrectionLr));
}
Console.WriteLine("CSV data end");
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}
}
}
}
@@ -23,9 +23,6 @@ namespace TBF.BenchControl.DataEntry.Combined
/// <summary>
/// Properties set by the Begin and the End form
/// </summary>
string purchaseOrder;
public string PurchaseOrder { get { return purchaseOrder; } }
bool[] disabled; /// This array is shared between forms
string[] wmCycleEndState;
@@ -49,7 +46,7 @@ namespace TBF.BenchControl.DataEntry.Combined
bool resultSaved; /// Set in Run() when results are saved
Results.Entities.WaterMeter[] waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
public enum CurrentOp
{
@@ -87,7 +84,7 @@ namespace TBF.BenchControl.DataEntry.Combined
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -96,7 +93,7 @@ namespace TBF.BenchControl.DataEntry.Combined
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleEnd;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -196,19 +193,15 @@ namespace TBF.BenchControl.DataEntry.Combined
if (dlg != null)
{
purchaseOrder = dlg.PurchaseOrder;
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Length); i++)
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
{
if (waterMeters[i] != null)
{
waterMeters[i].SerialNr = dlg.MainSNText[i];
waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i];
waterMeters[i].SerialNr = dlg.MainSNText[i];
waterMeters[i].SerialNrAux = dlg.AuxSNText[i];
disabled[i] = waterMeters[i].Disabled = dlg.Disabled[i];
if (dlg.RemarksEnabled)
{
waterMeters[i].Remark = dlg.Remark[i];
}
if (dlg.RemarksEnabled) waterMeters[i].Remark = dlg.Remark[i];
if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder;
}
}
}
@@ -269,20 +262,5 @@ namespace TBF.BenchControl.DataEntry.Combined
}
currentOp = CurrentOp.None;
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="batchResults">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults batchResults)
{
foreach (var wm in batchResults.WaterMeters)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
@@ -23,9 +23,6 @@ namespace TBF.BenchControl.DataEntry.Fewa
/// <summary>
/// Properties set by the Begin, End and WMStates form
/// </summary>
string purchaseOrder;
public string PurchaseOrder { get { return purchaseOrder; } }
bool[] disabled; /// This array is shared between forms
string[] wmCycleEndState;
@@ -49,7 +46,7 @@ namespace TBF.BenchControl.DataEntry.Fewa
bool resultSaved; /// Set in Run() when results are saved
Results.Entities.WaterMeter[] waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
public enum CurrentOp
{
@@ -87,7 +84,7 @@ namespace TBF.BenchControl.DataEntry.Fewa
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -96,7 +93,7 @@ namespace TBF.BenchControl.DataEntry.Fewa
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleEnd;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -195,23 +192,22 @@ namespace TBF.BenchControl.DataEntry.Fewa
CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
if (dlg != null)
{
purchaseOrder = dlg.PurchaseOrder;
for (int i = 0; i < Math.Min(dlg.WMsCount, waterMeters.Length); i++)
for (int i = 0; i < Math.Min(dlg.WMsCount, waterMeters.Count); i++)
{
if (waterMeters[i] != null)
{
waterMeters[i].SerialNr = dlg.SNText[i];
waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i];
waterMeters[i].SerialNr = dlg.SNText[i];
waterMeters[i].SerialNrAux = dlg.SN2Text[i];
disabled[i] = waterMeters[i].Disabled = dlg.Disabled[i];
}
if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder;
}
}
}
}
else if (entryFormCfg.ShowCycleEndForm && currentOp == CurrentOp.ShowFormAtCycleEnd)
{
CycleEndForm dlg = (modelessDlg as CycleEndForm);
int count = waterMeters.Length;
int count = waterMeters.Count;
if ((dlg != null) && (count > dlg.WMsCount)) count = dlg.WMsCount;
for (int i = 0; i < count; i++)
@@ -271,20 +267,5 @@ namespace TBF.BenchControl.DataEntry.Fewa
}
currentOp = CurrentOp.None;
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="batchResults">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults batchResults)
{
foreach (var wm in batchResults.WaterMeters)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
@@ -15,7 +15,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
private static readonly ILog log = LogManager.GetLogger(typeof(CycleBeginningForm));
readonly Results.Entities.WaterMeter[] WaterMeters;
readonly IList<Results.Entities.WaterMeter> waterMeters;
/// <summary> Number of water meters </summary>
public readonly int WaterMetersCount;
@@ -77,11 +77,11 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
/// Constructor
/// </summary>
/// <param name="waterMetersCount">Number of text boxes for serial numbers</param>
public CycleBeginningForm(Results.Entities.WaterMeter[] waterMeters, bool atTheEnd, bool sensusExtensions)
public CycleBeginningForm(IList<Results.Entities.WaterMeter> waterMeters, bool atTheEnd, bool sensusExtensions)
: this()
{
this.WaterMeters = waterMeters;
this.WaterMetersCount = waterMeters.Length;
this.waterMeters = waterMeters;
this.WaterMetersCount = waterMeters.Count;
this.AtTheEnd = atTheEnd;
this.SensusExtensions = sensusExtensions;
SNText = new string[WaterMetersCount];
@@ -89,7 +89,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
ShuffleTextBoxes(Config.Data.WMsCount, Config.Data.LineSize);
foreach (var wm in WaterMeters) if (wm != null) wm.Passed = wm.PassedFromTests();
foreach (var wm in waterMeters) if (wm != null) wm.Passed = wm.PassedFromTests();
Height = 147 + WaterMetersCount * 45; /// Adjust the window size
@@ -216,8 +216,8 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
for (int i = 0; i < WaterMetersCount; i++)
{
Results.Entities.WaterMeter wm = WaterMeters[i];
if (wm == null)
Results.Entities.WaterMeter wm = waterMeters[i];
if (wm == null && !wm.Disabled)
{
checkBoxes[i].Checked = true;
}
@@ -272,9 +272,9 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
for (int i = 0; i < WaterMetersCount; i++)
{
Results.Entities.WaterMeter wm = WaterMeters[i];
Results.Entities.WaterMeter wm = waterMeters[i];
{
if (wm != null)
if (wm != null && !wm.Disabled)
{
bool pressureTestPassed = false;
foreach (var mtr in wm.MeterTestRslts)
@@ -501,7 +501,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
for (int i = 0; i < textBoxesCount; i++)
{
if (!AtTheEnd || WaterMeters[i].Passed)
if (!AtTheEnd || waterMeters[i].Passed)
{
if (!snFound)
{
@@ -26,9 +26,6 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
/// <summary>
/// Properties set by the Begin, End and WMStates form
/// </summary>
string purchaseOrder;
public string PurchaseOrder { get { return purchaseOrder; } }
bool[] disabled; /// This array is shared between forms
string[] wmCycleEndState;
@@ -64,7 +61,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
bool resultSaved; /// Set in Run() when results are saved
Results.Entities.WaterMeter[] waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
public enum CurrentOp
{
@@ -105,7 +102,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -114,7 +111,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleEnd;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -168,19 +165,19 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
///
void OpenEndDlg(EntryForm myRef)
{
myRef.modelessDlg = new CycleEndForm(myRef.waterMeters.Length);
myRef.modelessDlg = new CycleEndForm(myRef.waterMeters.Count);
modelessDlg.Show();
}
///
void OpenTestStartStatesDlg(EntryForm myRef)
{
myRef.modelessDlg = new TestStartEndForm(entryFormCfg, myRef.waterMeters.Length, myRef.regReaders, myRef.disabled);
myRef.modelessDlg = new TestStartEndForm(entryFormCfg, myRef.waterMeters.Count, myRef.regReaders, myRef.disabled);
modelessDlg.Show();
}
///
void OpenTestEndStatesDlg(EntryForm myRef)
{
myRef.modelessDlg = new TestStartEndForm(entryFormCfg, myRef.waterMeters.Length, myRef.regReaders, wmStartStateStr, energyStartStateStr,
myRef.modelessDlg = new TestStartEndForm(entryFormCfg, myRef.waterMeters.Count, myRef.regReaders, wmStartStateStr, energyStartStateStr,
disabled, refVolume, errLimLo, errLimHi, refEnergy, energyErrLimLo, energyErrLimHi);
modelessDlg.Show();
}
@@ -233,22 +230,21 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
if (dlg != null)
{
purchaseOrder = dlg.PurchaseOrder;
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Length); i++)
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
{
if (waterMeters[i] != null)
{
waterMeters[i].SerialNr = dlg.SNText[i];
disabled[i] = waterMeters[i].Disabled = dlg.Disabled[i];
}
waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i];
waterMeters[i].SerialNr = dlg.SNText[i];
if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder;
}
}
}
}
else if (entryFormCfg.ShowCycleEndForm && currentOp == CurrentOp.ShowFormAtCycleEnd)
{
CycleEndForm dlg = (modelessDlg as CycleEndForm);
int count = Math.Min(waterMeters.Length, Config.Data.HeatMetersCount);
int count = Math.Min(waterMeters.Count, Config.Data.HeatMetersCount);
if ((dlg != null) && (count > dlg.WaterMetersCount)) count = dlg.WaterMetersCount;
for (int i = 0; i < count; i++)
@@ -266,7 +262,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
TestStartEndForm dlg = (modelessDlg as TestStartEndForm);
if (dlg != null)
{
for (int i = 0; i < Math.Min(waterMeters.Length, Config.Data.HeatMetersCount); i++)
for (int i = 0; i < Math.Min(waterMeters.Count, Config.Data.HeatMetersCount); i++)
{
wmStartState[i] = dlg.WMStartState[i];
wmStartStateStr[i] = dlg.WMStartStateStr[i];
@@ -281,7 +277,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
TestStartEndForm dlg = (modelessDlg as TestStartEndForm);
if (dlg != null)
{
for (int i = 0; i < Math.Min(waterMeters.Length, Config.Data.HeatMetersCount); i++)
for (int i = 0; i < Math.Min(waterMeters.Count, Config.Data.HeatMetersCount); i++)
{
wmEndState[i] = dlg.WMEndState[i];
energyEndState[i] = dlg.EnergyEndState[i];
@@ -305,20 +301,5 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
}
currentOp = CurrentOp.None;
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="batchResults">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults batchResults)
{
foreach (var wm in batchResults.WaterMeters)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
@@ -15,7 +15,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
{
private static readonly ILog log = LogManager.GetLogger(typeof(CycleBeginningForm));
readonly Results.Entities.WaterMeter[] WaterMeters;
readonly IList<Results.Entities.WaterMeter> waterMeters;
/// <summary> Number of water meters </summary>
public readonly int WaterMetersCount;
@@ -70,11 +70,11 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
/// Constructor
/// </summary>
/// <param name="waterMetersCount">Number of text boxes for serial numbers</param>
public CycleBeginningForm(Results.Entities.WaterMeter[] waterMeters, bool atTheEnd, bool sensusExtensions)
public CycleBeginningForm(IList<Results.Entities.WaterMeter> waterMeters, bool atTheEnd, bool sensusExtensions)
: this()
{
this.WaterMeters = waterMeters;
this.WaterMetersCount = waterMeters.Length;
this.waterMeters = waterMeters;
this.WaterMetersCount = waterMeters.Count;
this.AtTheEnd = atTheEnd;
this.SensusExtensions = sensusExtensions;
SNText = new string[WaterMetersCount];
@@ -82,7 +82,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
ShuffleTextBoxes(Config.Data.WMsCount, Config.Data.LineSize);
foreach (var wm in WaterMeters) if (wm != null) wm.Passed = wm.PassedFromTests();
foreach (var wm in waterMeters) if (wm != null) wm.Passed = wm.PassedFromTests();
Height = 147 + WaterMetersCount * 45; /// Adjust the window size
@@ -209,8 +209,8 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
for (int i = 0; i < WaterMetersCount; i++)
{
Results.Entities.WaterMeter wm = WaterMeters[i];
if (wm == null)
Results.Entities.WaterMeter wm = waterMeters[i];
if (wm == null && !wm.Disabled)
{
checkBoxes[i].Checked = true;
}
@@ -265,9 +265,9 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
for (int i = 0; i < WaterMetersCount; i++)
{
Results.Entities.WaterMeter wm = WaterMeters[i];
Results.Entities.WaterMeter wm = waterMeters[i];
{
if (wm != null)
if (wm != null && !wm.Disabled)
{
bool pressureTestPassed = false;
foreach (var mtr in wm.MeterTestRslts)
@@ -434,7 +434,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
for (int i = 0; i < textBoxesCount; i++)
{
if (!AtTheEnd || WaterMeters[i].Passed)
if (!AtTheEnd || waterMeters[i].Passed)
{
if (!snFound)
{
@@ -26,9 +26,6 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
/// <summary>
/// Properties set by the Begin, End and WMStates form
/// </summary>
string purchaseOrder;
public string PurchaseOrder { get { return purchaseOrder; } }
bool[] disabled; /// This array is shared between forms
string[] wmCycleEndState;
@@ -64,7 +61,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
bool resultSaved; /// Set in Run() when results are saved
Results.Entities.WaterMeter[] waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
public enum CurrentOp
{
@@ -105,7 +102,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -114,7 +111,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleEnd;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -168,19 +165,19 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
///
void OpenEndDlg(EntryForm myRef)
{
myRef.modelessDlg = new CycleEndForm(myRef.waterMeters.Length);
myRef.modelessDlg = new CycleEndForm(myRef.waterMeters.Count);
modelessDlg.Show();
}
///
void OpenTestStartStatesDlg(EntryForm myRef)
{
myRef.modelessDlg = new TestStartEndForm(entryFormCfg, myRef.waterMeters.Length, myRef.regReaders, disabled);
myRef.modelessDlg = new TestStartEndForm(entryFormCfg, myRef.waterMeters.Count, myRef.regReaders, disabled);
modelessDlg.Show();
}
///
void OpenTestEndStatesDlg(EntryForm myRef)
{
myRef.modelessDlg = new TestStartEndForm(entryFormCfg, myRef.waterMeters.Length, myRef.regReaders, wmStartStateStr, energyStartStateStr,
myRef.modelessDlg = new TestStartEndForm(entryFormCfg, myRef.waterMeters.Count, myRef.regReaders, wmStartStateStr, energyStartStateStr,
disabled, refVolume, errLimLo, errLimHi, refEnergy, energyErrLimLo, energyErrLimHi);
modelessDlg.Show();
}
@@ -233,14 +230,13 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
if (dlg != null)
{
purchaseOrder = dlg.PurchaseOrder;
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Length); i++)
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
{
if (waterMeters[i] != null)
{
waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i];
waterMeters[i].SerialNr = dlg.SNText[i];
disabled[i] = waterMeters[i].Disabled = dlg.Disabled[i];
if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder;
}
}
}
@@ -248,7 +244,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
else if (entryFormCfg.ShowCycleEndForm && currentOp == CurrentOp.ShowFormAtCycleEnd)
{
CycleEndForm dlg = (modelessDlg as CycleEndForm);
int count = Math.Min(waterMeters.Length, Config.Data.HeatMetersCount);
int count = Math.Min(waterMeters.Count, Config.Data.HeatMetersCount);
if ((dlg != null) && (count > dlg.WaterMetersCount)) count = dlg.WaterMetersCount;
for (int i = 0; i < count; i++)
@@ -266,7 +262,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
TestStartEndForm dlg = (modelessDlg as TestStartEndForm);
if (dlg != null)
{
for (int i = 0; i < Math.Min(waterMeters.Length, Config.Data.HeatMetersCount); i++)
for (int i = 0; i < Math.Min(waterMeters.Count, Config.Data.HeatMetersCount); i++)
{
wmStartState[i] = dlg.WMStartState[i];
wmStartStateStr[i] = dlg.WMStartStateStr[i];
@@ -281,7 +277,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
TestStartEndForm dlg = (modelessDlg as TestStartEndForm);
if (dlg != null)
{
for (int i = 0; i < Math.Min(waterMeters.Length, Config.Data.HeatMetersCount); i++)
for (int i = 0; i < Math.Min(waterMeters.Count, Config.Data.HeatMetersCount); i++)
{
wmEndState[i] = dlg.WMEndState[i];
energyEndState[i] = dlg.EnergyEndState[i];
@@ -305,20 +301,5 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
}
currentOp = CurrentOp.None;
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="batchResults">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults batchResults)
{
foreach (var wm in batchResults.WaterMeters)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
@@ -83,19 +83,19 @@ namespace TBF.BenchControl.DataEntry.Munich
radioButton3.Text = ProtocolName3;
radioButton4.Text = ProtocolName4;
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 1)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 1 && !Sequences.ProcessData.BatchRslts.Batch.WaterMeters[0].Disabled)
{
qRise1TextBox.Text = Utils.DoubleToStr(Sequences.ProcessData.BatchRslts.WaterMeters[0].QRise, 3);
qFall1TextBox.Text = Utils.DoubleToStr(Sequences.ProcessData.BatchRslts.WaterMeters[0].QFall, 3);
YearOfProduction[0] = Sequences.ProcessData.BatchRslts.WaterMeters[0].YearOfProduction;
qRise1TextBox.Text = Utils.DoubleToStr(Sequences.ProcessData.BatchRslts.Batch.WaterMeters[0].QRise, 3);
qFall1TextBox.Text = Utils.DoubleToStr(Sequences.ProcessData.BatchRslts.Batch.WaterMeters[0].QFall, 3);
YearOfProduction[0] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[0].YearOfProduction;
yearOfProduction1TextBox.Text = YearOfProduction[0].ToString();
}
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 2)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 2 && !Sequences.ProcessData.BatchRslts.Batch.WaterMeters[1].Disabled)
{
qRise2TextBox.Text = Utils.DoubleToStr(Sequences.ProcessData.BatchRslts.WaterMeters[1].QRise, 3);
qFall2TextBox.Text = Utils.DoubleToStr(Sequences.ProcessData.BatchRslts.WaterMeters[1].QFall, 3);
YearOfProduction[1] = Sequences.ProcessData.BatchRslts.WaterMeters[1].YearOfProduction;
qRise2TextBox.Text = Utils.DoubleToStr(Sequences.ProcessData.BatchRslts.Batch.WaterMeters[1].QRise, 3);
qFall2TextBox.Text = Utils.DoubleToStr(Sequences.ProcessData.BatchRslts.Batch.WaterMeters[1].QFall, 3);
YearOfProduction[1] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[1].YearOfProduction;
yearOfProduction2TextBox.Text = YearOfProduction[1].ToString();
}
else
@@ -104,11 +104,11 @@ namespace TBF.BenchControl.DataEntry.Munich
Height = 305;
}
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 3)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 3 && !Sequences.ProcessData.BatchRslts.Batch.WaterMeters[2].Disabled)
{
qRise3TextBox.Text = Utils.DoubleToStr(Sequences.ProcessData.BatchRslts.WaterMeters[2].QRise, 3);
qFall3TextBox.Text = Utils.DoubleToStr(Sequences.ProcessData.BatchRslts.WaterMeters[2].QFall, 3);
YearOfProduction[2] = Sequences.ProcessData.BatchRslts.WaterMeters[2].YearOfProduction;
qRise3TextBox.Text = Utils.DoubleToStr(Sequences.ProcessData.BatchRslts.Batch.WaterMeters[2].QRise, 3);
qFall3TextBox.Text = Utils.DoubleToStr(Sequences.ProcessData.BatchRslts.Batch.WaterMeters[2].QFall, 3);
YearOfProduction[2] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[2].YearOfProduction;
yearOfProduction3TextBox.Text = YearOfProduction[2].ToString();
}
else
+5 -17
View File
@@ -22,8 +22,6 @@ namespace TBF.BenchControl.DataEntry.Munich
/// <summary>
/// Properties set by the Begin and the End form
/// </summary>
public string PurchaseOrder { get { return string.Empty; } } /// Not supported in Munich
string[] serialNr;
public string SerialNr(int wmNr) { return (wmNr >= 0 && wmNr < serialNr.Length) ? serialNr[wmNr] : string.Empty; }
@@ -43,9 +41,9 @@ namespace TBF.BenchControl.DataEntry.Munich
System.Windows.Forms.Form modelessDlg;
public bool Completed { get { return (modelessDlg is IHasCompleted) ? (modelessDlg as IHasCompleted).Completed : true; } }
bool resultSaved; /// Set in Run() when results are saved
bool resultSaved; /// Set in Run() when results are saved
Results.Entities.WaterMeter[] wMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> wMeters; /// Reference to ...ProcessData.BatchRslts.Batch.WaterMeters[]
public enum CurrentOp
{
@@ -78,7 +76,7 @@ namespace TBF.BenchControl.DataEntry.Munich
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.wMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.wMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -87,7 +85,7 @@ namespace TBF.BenchControl.DataEntry.Munich
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleEnd;
this.wMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.wMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -142,7 +140,7 @@ namespace TBF.BenchControl.DataEntry.Munich
if (!resultSaved) /// This is to save the result only once
{
int count = Math.Min(3, Math.Min(wMeters.Length, Config.Data.CompoundWMsCount));
int count = Math.Min(3, Math.Min(wMeters.Count, Config.Data.CompoundWMsCount));
if (modelessDlg is CycleBeginningForm)
{
if (count >= 1 && wMeters[0] != null) wMeters[0].SerialNr = (modelessDlg as CycleBeginningForm).MainSNText[0];
@@ -198,15 +196,5 @@ namespace TBF.BenchControl.DataEntry.Munich
}
currentOp = CurrentOp.None;
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="waterMeters">Watermetes with information entered in the forms</param>
/// <param name="results">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults results)
{
/// Nothing to be done
}
}
}
@@ -68,34 +68,34 @@ namespace TBF.BenchControl.DataEntry.Munich3
if (WaterMetersCount < 5) groupBox5.Visible = false;
if (WaterMetersCount < 6) groupBox6.Visible = false;
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 1)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 1)
{
YearOfProduction[0] = Sequences.ProcessData.BatchRslts.WaterMeters[0].YearOfProduction;
YearOfProduction[0] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[0].YearOfProduction;
yearOfProduction1TextBox.Text = YearOfProduction[0].ToString();
}
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 2)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 2)
{
YearOfProduction[1] = Sequences.ProcessData.BatchRslts.WaterMeters[1].YearOfProduction;
YearOfProduction[1] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[1].YearOfProduction;
yearOfProduction2TextBox.Text = YearOfProduction[1].ToString();
}
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 3)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 3)
{
YearOfProduction[2] = Sequences.ProcessData.BatchRslts.WaterMeters[2].YearOfProduction;
YearOfProduction[2] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[2].YearOfProduction;
yearOfProduction3TextBox.Text = YearOfProduction[2].ToString();
}
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 4)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 4)
{
YearOfProduction[3] = Sequences.ProcessData.BatchRslts.WaterMeters[3].YearOfProduction;
YearOfProduction[3] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[3].YearOfProduction;
yearOfProduction4TextBox.Text = YearOfProduction[3].ToString();
}
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 5)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 5)
{
YearOfProduction[4] = Sequences.ProcessData.BatchRslts.WaterMeters[4].YearOfProduction;
YearOfProduction[4] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[4].YearOfProduction;
yearOfProduction5TextBox.Text = YearOfProduction[4].ToString();
}
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 6)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 6)
{
YearOfProduction[5] = Sequences.ProcessData.BatchRslts.WaterMeters[5].YearOfProduction;
YearOfProduction[5] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[5].YearOfProduction;
yearOfProduction6TextBox.Text = YearOfProduction[5].ToString();
}
@@ -23,8 +23,6 @@ namespace TBF.BenchControl.DataEntry.Munich3
/// <summary>
/// Properties set by the Begin and the End form
/// </summary>
public string PurchaseOrder { get { return string.Empty; } } /// Not supported in Munich
string[] serialNr;
public string SerialNr(int wmNr) { return (wmNr >= 0 && wmNr < serialNr.Length) ? serialNr[wmNr] : string.Empty; }
@@ -52,7 +50,7 @@ namespace TBF.BenchControl.DataEntry.Munich3
bool resultSaved;
Results.Entities.WaterMeter[] waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
public enum CurrentOp
{
@@ -91,7 +89,7 @@ namespace TBF.BenchControl.DataEntry.Munich3
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -100,7 +98,7 @@ namespace TBF.BenchControl.DataEntry.Munich3
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleEnd;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -146,7 +144,7 @@ namespace TBF.BenchControl.DataEntry.Munich3
///
void OpenTestStartStatesDlg(EntryForm myRef)
{
myRef.modelessDlg = new TestStartEndForm(myRef.waterMeters.Length, myRef.regReaders, disabled);
myRef.modelessDlg = new TestStartEndForm(myRef.waterMeters.Count, myRef.regReaders, disabled);
modelessDlg.Show();
}
///
@@ -192,12 +190,12 @@ namespace TBF.BenchControl.DataEntry.Munich3
{
CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Length); i++)
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
{
if (waterMeters[i] != null)
{
serialNr[i] = waterMeters[i].SerialNr = dlg.SNText[i];
disabled[i] = waterMeters[i].Disabled = dlg.Disabled[i];
waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i];
waterMeters[i].SerialNr = serialNr[i] = dlg.SNText[i];
}
}
}
@@ -207,11 +205,11 @@ namespace TBF.BenchControl.DataEntry.Munich3
Sequences.ProcessData.BatchRslts.Batch.ProtocolTitle = dlg.ProtocolTitle;
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Length); i++)
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
{
if (waterMeters[i] != null)
{
wmCycleEndState[i] = waterMeters[i].EndState = dlg.EndStateText[i];
waterMeters[i].EndState = wmCycleEndState[i] = dlg.EndStateText[i];
waterMeters[i].YearOfProduction = dlg.YearOfProduction[i];
}
}
@@ -258,15 +256,5 @@ namespace TBF.BenchControl.DataEntry.Munich3
}
currentOp = CurrentOp.None;
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="waterMeters">Watermetes with information entered in the forms</param>
/// <param name="results">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults results)
{
/// Nothing to be done
}
}
}
@@ -23,9 +23,6 @@ namespace TBF.BenchControl.DataEntry.Single
/// <summary>
/// Properties set by the Begin, End and WMStates form
/// </summary>
string purchaseOrder;
public string PurchaseOrder { get { return purchaseOrder; } }
bool[] disabled; /// This array is shared between forms
string[] wmCycleEndState;
@@ -49,7 +46,7 @@ namespace TBF.BenchControl.DataEntry.Single
bool resultSaved; /// Set in Run() when results are saved
Results.Entities.WaterMeter[] waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
public enum CurrentOp
{
@@ -87,7 +84,7 @@ namespace TBF.BenchControl.DataEntry.Single
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -96,7 +93,7 @@ namespace TBF.BenchControl.DataEntry.Single
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleEnd;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -195,22 +192,21 @@ namespace TBF.BenchControl.DataEntry.Single
CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
if (dlg != null)
{
purchaseOrder = dlg.PurchaseOrder;
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Length); i++)
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
{
if (waterMeters[i] != null)
{
waterMeters[i].SerialNr = dlg.SNText[i];
disabled[i] = waterMeters[i].Disabled = dlg.Disabled[i];
}
waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i];
waterMeters[i].SerialNr = dlg.SNText[i];
if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder;
}
}
}
}
else if (entryFormCfg.ShowCycleEndForm && currentOp == CurrentOp.ShowFormAtCycleEnd)
{
CycleEndForm dlg = (modelessDlg as CycleEndForm);
int count = waterMeters.Length;
int count = waterMeters.Count;
if ((dlg != null) && (count > dlg.WaterMetersCount)) count = dlg.WaterMetersCount;
for (int i = 0; i < count; i++)
@@ -270,20 +266,5 @@ namespace TBF.BenchControl.DataEntry.Single
}
currentOp = CurrentOp.None;
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="batchResults">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults batchResults)
{
foreach (var wm in batchResults.WaterMeters)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
File diff suppressed because it is too large Load Diff
@@ -15,7 +15,7 @@ namespace TBF.BenchControl.DataEntry.Standard12
{
private static readonly ILog log = LogManager.GetLogger(typeof(CycleBeginningForm));
readonly Results.Entities.WaterMeter[] WaterMeters;
readonly IList<Results.Entities.WaterMeter> waterMeters;
/// <summary> Number of water meters </summary>
public readonly int WaterMetersCount;
@@ -78,11 +78,11 @@ namespace TBF.BenchControl.DataEntry.Standard12
/// Constructor
/// </summary>
/// <param name="waterMetersCount">Number of text boxes for serial numbers</param>
public CycleBeginningForm(Results.Entities.WaterMeter[] waterMeters, bool atTheEnd, bool sensusExtensions, bool plusKeyIsOK)
public CycleBeginningForm(IList<Results.Entities.WaterMeter> waterMeters, bool atTheEnd, bool sensusExtensions, bool plusKeyIsOK)
: this()
{
this.WaterMeters = waterMeters;
this.WaterMetersCount = waterMeters.Length;
this.waterMeters = waterMeters;
this.WaterMetersCount = waterMeters.Count;
this.AtTheEnd = atTheEnd;
this.SensusExtensions = sensusExtensions;
this.PlusKeyIsOK = plusKeyIsOK;
@@ -91,7 +91,7 @@ namespace TBF.BenchControl.DataEntry.Standard12
ShuffleTextBoxes(Config.Data.WMsCount, Config.Data.LineSize);
foreach (var wm in WaterMeters) if (wm != null) wm.Passed = wm.PassedFromTests();
foreach (var wm in waterMeters) if (wm != null) wm.Passed = wm.PassedFromTests();
Height = 147 + WaterMetersCount * 45; /// Adjust the window size
@@ -218,8 +218,8 @@ namespace TBF.BenchControl.DataEntry.Standard12
for (int i = 0; i < WaterMetersCount; i++)
{
Results.Entities.WaterMeter wm = WaterMeters[i];
if (wm == null)
Results.Entities.WaterMeter wm = waterMeters[i];
if (wm == null && !wm.Disabled)
{
checkBoxes[i].Checked = true;
}
@@ -274,9 +274,9 @@ namespace TBF.BenchControl.DataEntry.Standard12
for (int i = 0; i < WaterMetersCount; i++)
{
Results.Entities.WaterMeter wm = WaterMeters[i];
Results.Entities.WaterMeter wm = waterMeters[i];
{
if (wm != null)
if (wm != null && !wm.Disabled)
{
bool pressureTestPassed = false;
foreach (var mtr in wm.MeterTestRslts)
@@ -503,7 +503,7 @@ namespace TBF.BenchControl.DataEntry.Standard12
for (int i = 0; i < textBoxesCount; i++)
{
if (!AtTheEnd || WaterMeters[i].Passed)
if (!AtTheEnd || waterMeters[i].Passed)
{
if (!snFound)
{
@@ -2127,6 +2127,9 @@
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>1067, 651</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Batch data</value>
</data>
@@ -324,6 +324,7 @@ namespace TBF.BenchControl.DataEntry.Standard12
this.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
this.Name = "CycleEndForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Daten";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleEndForm_Load);
@@ -23,9 +23,6 @@ namespace TBF.BenchControl.DataEntry.Standard12
/// <summary>
/// Properties set by the Begin, End and WMStates form
/// </summary>
string purchaseOrder;
public string PurchaseOrder { get { return purchaseOrder; } }
bool[] disabled; /// This array is shared between forms
string[] wmCycleEndState;
@@ -49,7 +46,7 @@ namespace TBF.BenchControl.DataEntry.Standard12
bool resultSaved; /// Set in Run() when results are saved
Results.Entities.WaterMeter[] waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
public enum CurrentOp
{
@@ -87,7 +84,7 @@ namespace TBF.BenchControl.DataEntry.Standard12
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -96,7 +93,7 @@ namespace TBF.BenchControl.DataEntry.Standard12
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleEnd;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -195,22 +192,21 @@ namespace TBF.BenchControl.DataEntry.Standard12
CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
if (dlg != null)
{
purchaseOrder = dlg.PurchaseOrder;
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Length); i++)
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
{
if (waterMeters[i] != null)
{
waterMeters[i].SerialNr = dlg.SNText[i];
disabled[i] = waterMeters[i].Disabled = dlg.Disabled[i];
}
waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i];
waterMeters[i].SerialNr = dlg.SNText[i];
if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder;
}
}
}
}
else if (entryFormCfg.ShowCycleEndForm && currentOp == CurrentOp.ShowFormAtCycleEnd)
{
CycleEndForm dlg = (modelessDlg as CycleEndForm);
int count = waterMeters.Length;
int count = waterMeters.Count;
if ((dlg != null) && (count > dlg.WaterMetersCount)) count = dlg.WaterMetersCount;
for (int i = 0; i < count; i++)
@@ -270,20 +266,5 @@ namespace TBF.BenchControl.DataEntry.Standard12
}
currentOp = CurrentOp.None;
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="batchResults">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults batchResults)
{
foreach (var wm in batchResults.WaterMeters)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -2463,6 +2463,9 @@
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>919, 656</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Batch data</value>
</data>
@@ -588,6 +588,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
this.Name = "CycleEndForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Daten";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleEndForm_Load);
@@ -23,9 +23,6 @@ namespace TBF.BenchControl.DataEntry.Standard24
/// <summary>
/// Properties set by the Begin, End and WMStates form
/// </summary>
string purchaseOrder;
public string PurchaseOrder { get { return purchaseOrder; } }
bool[] disabled; /// This array is shared between forms
string[] wmCycleEndState;
@@ -49,7 +46,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
bool resultSaved; /// Set in Run() when results are saved
Results.Entities.WaterMeter[] waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
public enum CurrentOp
{
@@ -87,7 +84,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -96,7 +93,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleEnd;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -195,22 +192,21 @@ namespace TBF.BenchControl.DataEntry.Standard24
CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
if (dlg != null)
{
purchaseOrder = dlg.PurchaseOrder;
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Length); i++)
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
{
if (waterMeters[i] != null)
{
waterMeters[i].SerialNr = dlg.SNText[i];
disabled[i] = waterMeters[i].Disabled = dlg.Disabled[i];
}
waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i];
waterMeters[i].SerialNr = dlg.SNText[i];
if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder;
}
}
}
}
else if (entryFormCfg.ShowCycleEndForm && currentOp == CurrentOp.ShowFormAtCycleEnd)
{
CycleEndForm dlg = (modelessDlg as CycleEndForm);
int count = waterMeters.Length;
int count = waterMeters.Count;
if ((dlg != null) && (count > dlg.WaterMetersCount)) count = dlg.WaterMetersCount;
for (int i = 0; i < count; i++)
@@ -270,20 +266,5 @@ namespace TBF.BenchControl.DataEntry.Standard24
}
currentOp = CurrentOp.None;
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="batchResults">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults batchResults)
{
foreach (var wm in batchResults.WaterMeters)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
@@ -180,7 +180,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label1.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label1.Location = new System.Drawing.Point(23, 134);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(145, 23);
this.label1.Size = new System.Drawing.Size(144, 23);
this.label1.TabIndex = 2;
this.label1.Text = "Water Meter 1";
this.label1.Visible = false;
@@ -241,7 +241,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label3.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label3.Location = new System.Drawing.Point(23, 222);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(145, 23);
this.label3.Size = new System.Drawing.Size(144, 23);
this.label3.TabIndex = 10;
this.label3.Text = "Water Meter 3";
this.label3.Visible = false;
@@ -290,7 +290,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label4.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label4.Location = new System.Drawing.Point(23, 266);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(145, 23);
this.label4.Size = new System.Drawing.Size(144, 23);
this.label4.TabIndex = 14;
this.label4.Text = "Water Meter 4";
this.label4.Visible = false;
@@ -339,7 +339,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label5.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label5.Location = new System.Drawing.Point(23, 310);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(145, 23);
this.label5.Size = new System.Drawing.Size(144, 23);
this.label5.TabIndex = 18;
this.label5.Text = "Water Meter 5";
this.label5.Visible = false;
@@ -388,7 +388,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label6.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label6.Location = new System.Drawing.Point(23, 354);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(145, 23);
this.label6.Size = new System.Drawing.Size(144, 23);
this.label6.TabIndex = 22;
this.label6.Text = "Water Meter 6";
this.label6.Visible = false;
@@ -419,7 +419,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label2.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label2.Location = new System.Drawing.Point(23, 178);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(145, 23);
this.label2.Size = new System.Drawing.Size(144, 23);
this.label2.TabIndex = 6;
this.label2.Text = "Water Meter 2";
this.label2.Visible = false;
@@ -506,7 +506,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label7.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label7.Location = new System.Drawing.Point(23, 398);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(145, 23);
this.label7.Size = new System.Drawing.Size(144, 23);
this.label7.TabIndex = 26;
this.label7.Text = "Water Meter 7";
this.label7.Visible = false;
@@ -555,7 +555,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label8.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label8.Location = new System.Drawing.Point(23, 442);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(145, 23);
this.label8.Size = new System.Drawing.Size(144, 23);
this.label8.TabIndex = 30;
this.label8.Text = "Water Meter 8";
this.label8.Visible = false;
@@ -604,7 +604,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label9.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label9.Location = new System.Drawing.Point(23, 486);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(145, 23);
this.label9.Size = new System.Drawing.Size(144, 23);
this.label9.TabIndex = 34;
this.label9.Text = "Water Meter 9";
this.label9.Visible = false;
@@ -653,7 +653,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label10.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label10.Location = new System.Drawing.Point(23, 530);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(157, 23);
this.label10.Size = new System.Drawing.Size(156, 23);
this.label10.TabIndex = 38;
this.label10.Text = "Water Meter 10";
this.label10.Visible = false;
@@ -702,7 +702,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label11.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label11.Location = new System.Drawing.Point(23, 574);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(157, 23);
this.label11.Size = new System.Drawing.Size(156, 23);
this.label11.TabIndex = 42;
this.label11.Text = "Water Meter 11";
this.label11.Visible = false;
@@ -751,7 +751,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label12.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label12.Location = new System.Drawing.Point(23, 618);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(157, 23);
this.label12.Size = new System.Drawing.Size(156, 23);
this.label12.TabIndex = 46;
this.label12.Text = "Water Meter 12";
this.label12.Visible = false;
@@ -800,7 +800,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label24.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label24.Location = new System.Drawing.Point(592, 618);
this.label24.Name = "label24";
this.label24.Size = new System.Drawing.Size(157, 23);
this.label24.Size = new System.Drawing.Size(156, 23);
this.label24.TabIndex = 96;
this.label24.Text = "Water Meter 24";
this.label24.Visible = false;
@@ -849,7 +849,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label23.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label23.Location = new System.Drawing.Point(592, 574);
this.label23.Name = "label23";
this.label23.Size = new System.Drawing.Size(157, 23);
this.label23.Size = new System.Drawing.Size(156, 23);
this.label23.TabIndex = 92;
this.label23.Text = "Water Meter 23";
this.label23.Visible = false;
@@ -898,7 +898,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label22.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label22.Location = new System.Drawing.Point(592, 530);
this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(157, 23);
this.label22.Size = new System.Drawing.Size(156, 23);
this.label22.TabIndex = 88;
this.label22.Text = "Water Meter 22";
this.label22.Visible = false;
@@ -947,7 +947,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label21.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label21.Location = new System.Drawing.Point(592, 486);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(157, 23);
this.label21.Size = new System.Drawing.Size(156, 23);
this.label21.TabIndex = 84;
this.label21.Text = "Water Meter 21";
this.label21.Visible = false;
@@ -996,7 +996,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label20.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label20.Location = new System.Drawing.Point(592, 442);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(157, 23);
this.label20.Size = new System.Drawing.Size(156, 23);
this.label20.TabIndex = 80;
this.label20.Text = "Water Meter 20";
this.label20.Visible = false;
@@ -1045,7 +1045,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label19.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label19.Location = new System.Drawing.Point(592, 398);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(157, 23);
this.label19.Size = new System.Drawing.Size(156, 23);
this.label19.TabIndex = 76;
this.label19.Text = "Water Meter 19";
this.label19.Visible = false;
@@ -1118,7 +1118,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label18.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label18.Location = new System.Drawing.Point(592, 354);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(157, 23);
this.label18.Size = new System.Drawing.Size(156, 23);
this.label18.TabIndex = 72;
this.label18.Text = "Water Meter 18";
this.label18.Visible = false;
@@ -1167,7 +1167,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label17.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label17.Location = new System.Drawing.Point(592, 310);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(157, 23);
this.label17.Size = new System.Drawing.Size(156, 23);
this.label17.TabIndex = 68;
this.label17.Text = "Water Meter 17";
this.label17.Visible = false;
@@ -1216,7 +1216,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label16.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label16.Location = new System.Drawing.Point(592, 266);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(157, 23);
this.label16.Size = new System.Drawing.Size(156, 23);
this.label16.TabIndex = 64;
this.label16.Text = "Water Meter 16";
this.label16.Visible = false;
@@ -1265,7 +1265,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label15.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label15.Location = new System.Drawing.Point(592, 222);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(157, 23);
this.label15.Size = new System.Drawing.Size(156, 23);
this.label15.TabIndex = 60;
this.label15.Text = "Water Meter 15";
this.label15.Visible = false;
@@ -1312,7 +1312,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label14.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label14.Location = new System.Drawing.Point(592, 178);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(157, 23);
this.label14.Size = new System.Drawing.Size(156, 23);
this.label14.TabIndex = 56;
this.label14.Text = "Water Meter 14";
this.label14.Visible = false;
@@ -1359,7 +1359,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.label13.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label13.Location = new System.Drawing.Point(592, 134);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(157, 23);
this.label13.Size = new System.Drawing.Size(156, 23);
this.label13.TabIndex = 52;
this.label13.Text = "Water Meter 13";
this.label13.Visible = false;
@@ -1496,6 +1496,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "TestStartEndForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "End States";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleEndForm_Load);
File diff suppressed because it is too large Load Diff
@@ -146,6 +146,15 @@
<data name="&gt;&gt;okButton.ZOrder" xml:space="preserve">
<value>146</value>
</data>
<data name="orderComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>90, 28</value>
</data>
<data name="orderComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>260, 31</value>
</data>
<data name="orderComboBox.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;orderComboBox.Name" xml:space="preserve">
<value>orderComboBox</value>
</data>
@@ -185,27 +194,6 @@
<data name="&gt;&gt;orderGroupBox.ZOrder" xml:space="preserve">
<value>145</value>
</data>
<data name="orderComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>90, 28</value>
</data>
<data name="orderComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>260, 31</value>
</data>
<data name="orderComboBox.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;orderComboBox.Name" xml:space="preserve">
<value>orderComboBox</value>
</data>
<data name="&gt;&gt;orderComboBox.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;orderComboBox.Parent" xml:space="preserve">
<value>orderGroupBox</value>
</data>
<data name="&gt;&gt;orderComboBox.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="clearButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
@@ -4707,6 +4695,9 @@
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>919, 798</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Batch data</value>
</data>
+246 -245
View File
@@ -31,251 +31,252 @@ namespace TBF.BenchControl.DataEntry.Standard48
/// </summary>
private void InitializeComponent()
{
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.textBox3 = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.textBox4 = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.textBox5 = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.textBox6 = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.groupBox2.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
this.SuspendLayout();
//
// groupBox2
//
this.groupBox2.Controls.Add(this.textBox2);
this.groupBox2.Controls.Add(this.label2);
this.groupBox2.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox2.ForeColor = System.Drawing.Color.Black;
this.groupBox2.Location = new System.Drawing.Point(25, 104);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(362, 81);
this.groupBox2.TabIndex = 2;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Wasserzähler 2";
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(183, 31);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(163, 31);
this.textBox2.TabIndex = 1;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(18, 34);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(74, 23);
this.label2.TabIndex = 0;
this.label2.Text = "Stand:";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.textBox1);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox1.ForeColor = System.Drawing.Color.Black;
this.groupBox1.Location = new System.Drawing.Point(25, 14);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(362, 81);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Wasserzähler 1";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(183, 31);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(163, 31);
this.textBox1.TabIndex = 1;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(18, 34);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(74, 23);
this.label1.TabIndex = 0;
this.label1.Text = "Stand:";
//
// 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(425, 23);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(98, 63);
this.okButton.TabIndex = 7;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// groupBox3
//
this.groupBox3.Controls.Add(this.textBox3);
this.groupBox3.Controls.Add(this.label3);
this.groupBox3.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox3.ForeColor = System.Drawing.Color.Black;
this.groupBox3.Location = new System.Drawing.Point(25, 194);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(362, 81);
this.groupBox3.TabIndex = 3;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Wasserzähler 3";
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(183, 31);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(163, 31);
this.textBox3.TabIndex = 1;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(18, 34);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(74, 23);
this.label3.TabIndex = 0;
this.label3.Text = "Stand:";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.textBox4);
this.groupBox4.Controls.Add(this.label4);
this.groupBox4.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox4.ForeColor = System.Drawing.Color.Black;
this.groupBox4.Location = new System.Drawing.Point(25, 284);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(362, 81);
this.groupBox4.TabIndex = 4;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Wasserzähler 4";
//
// textBox4
//
this.textBox4.Location = new System.Drawing.Point(183, 31);
this.textBox4.Name = "textBox4";
this.textBox4.Size = new System.Drawing.Size(163, 31);
this.textBox4.TabIndex = 1;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(18, 34);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(74, 23);
this.label4.TabIndex = 0;
this.label4.Text = "Stand:";
//
// groupBox5
//
this.groupBox5.Controls.Add(this.textBox5);
this.groupBox5.Controls.Add(this.label5);
this.groupBox5.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox5.ForeColor = System.Drawing.Color.Black;
this.groupBox5.Location = new System.Drawing.Point(25, 374);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(362, 81);
this.groupBox5.TabIndex = 5;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "Wasserzähler 5";
//
// textBox5
//
this.textBox5.Location = new System.Drawing.Point(183, 31);
this.textBox5.Name = "textBox5";
this.textBox5.Size = new System.Drawing.Size(163, 31);
this.textBox5.TabIndex = 1;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(18, 34);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(74, 23);
this.label5.TabIndex = 0;
this.label5.Text = "Stand:";
//
// groupBox6
//
this.groupBox6.Controls.Add(this.textBox6);
this.groupBox6.Controls.Add(this.label6);
this.groupBox6.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox6.ForeColor = System.Drawing.Color.Black;
this.groupBox6.Location = new System.Drawing.Point(25, 464);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(362, 81);
this.groupBox6.TabIndex = 6;
this.groupBox6.TabStop = false;
this.groupBox6.Text = "Wasserzähler 6";
//
// textBox6
//
this.textBox6.Location = new System.Drawing.Point(183, 31);
this.textBox6.Name = "textBox6";
this.textBox6.Size = new System.Drawing.Size(163, 31);
this.textBox6.TabIndex = 1;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(18, 34);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(74, 23);
this.label6.TabIndex = 0;
this.label6.Text = "Stand:";
//
// CycleEndForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DarkGoldenrod;
this.ClientSize = new System.Drawing.Size(559, 566);
this.Controls.Add(this.groupBox6);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.okButton);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "CycleEndForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Text = "Daten";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleEndForm_Load);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.ResumeLayout(false);
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.textBox3 = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.textBox4 = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.textBox5 = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.textBox6 = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.groupBox2.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
this.SuspendLayout();
//
// groupBox2
//
this.groupBox2.Controls.Add(this.textBox2);
this.groupBox2.Controls.Add(this.label2);
this.groupBox2.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox2.ForeColor = System.Drawing.Color.Black;
this.groupBox2.Location = new System.Drawing.Point(25, 104);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(362, 81);
this.groupBox2.TabIndex = 2;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Wasserzähler 2";
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(183, 31);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(163, 31);
this.textBox2.TabIndex = 1;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(18, 34);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(74, 23);
this.label2.TabIndex = 0;
this.label2.Text = "Stand:";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.textBox1);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox1.ForeColor = System.Drawing.Color.Black;
this.groupBox1.Location = new System.Drawing.Point(25, 14);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(362, 81);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Wasserzähler 1";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(183, 31);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(163, 31);
this.textBox1.TabIndex = 1;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(18, 34);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(74, 23);
this.label1.TabIndex = 0;
this.label1.Text = "Stand:";
//
// 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(425, 23);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(98, 63);
this.okButton.TabIndex = 7;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// groupBox3
//
this.groupBox3.Controls.Add(this.textBox3);
this.groupBox3.Controls.Add(this.label3);
this.groupBox3.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox3.ForeColor = System.Drawing.Color.Black;
this.groupBox3.Location = new System.Drawing.Point(25, 194);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(362, 81);
this.groupBox3.TabIndex = 3;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Wasserzähler 3";
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(183, 31);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(163, 31);
this.textBox3.TabIndex = 1;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(18, 34);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(74, 23);
this.label3.TabIndex = 0;
this.label3.Text = "Stand:";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.textBox4);
this.groupBox4.Controls.Add(this.label4);
this.groupBox4.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox4.ForeColor = System.Drawing.Color.Black;
this.groupBox4.Location = new System.Drawing.Point(25, 284);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(362, 81);
this.groupBox4.TabIndex = 4;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Wasserzähler 4";
//
// textBox4
//
this.textBox4.Location = new System.Drawing.Point(183, 31);
this.textBox4.Name = "textBox4";
this.textBox4.Size = new System.Drawing.Size(163, 31);
this.textBox4.TabIndex = 1;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(18, 34);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(74, 23);
this.label4.TabIndex = 0;
this.label4.Text = "Stand:";
//
// groupBox5
//
this.groupBox5.Controls.Add(this.textBox5);
this.groupBox5.Controls.Add(this.label5);
this.groupBox5.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox5.ForeColor = System.Drawing.Color.Black;
this.groupBox5.Location = new System.Drawing.Point(25, 374);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(362, 81);
this.groupBox5.TabIndex = 5;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "Wasserzähler 5";
//
// textBox5
//
this.textBox5.Location = new System.Drawing.Point(183, 31);
this.textBox5.Name = "textBox5";
this.textBox5.Size = new System.Drawing.Size(163, 31);
this.textBox5.TabIndex = 1;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(18, 34);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(74, 23);
this.label5.TabIndex = 0;
this.label5.Text = "Stand:";
//
// groupBox6
//
this.groupBox6.Controls.Add(this.textBox6);
this.groupBox6.Controls.Add(this.label6);
this.groupBox6.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox6.ForeColor = System.Drawing.Color.Black;
this.groupBox6.Location = new System.Drawing.Point(25, 464);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(362, 81);
this.groupBox6.TabIndex = 6;
this.groupBox6.TabStop = false;
this.groupBox6.Text = "Wasserzähler 6";
//
// textBox6
//
this.textBox6.Location = new System.Drawing.Point(183, 31);
this.textBox6.Name = "textBox6";
this.textBox6.Size = new System.Drawing.Size(163, 31);
this.textBox6.TabIndex = 1;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(18, 34);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(74, 23);
this.label6.TabIndex = 0;
this.label6.Text = "Stand:";
//
// CycleEndForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DarkGoldenrod;
this.ClientSize = new System.Drawing.Size(559, 566);
this.Controls.Add(this.groupBox6);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.okButton);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "CycleEndForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Daten";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleEndForm_Load);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.ResumeLayout(false);
}
@@ -23,9 +23,6 @@ namespace TBF.BenchControl.DataEntry.Standard48
/// <summary>
/// Properties set by the Begin, End and WMStates form
/// </summary>
string purchaseOrder;
public string PurchaseOrder { get { return purchaseOrder; } }
bool[] disabled; /// This array is shared between forms
string[] wmCycleEndState;
@@ -49,7 +46,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
bool resultSaved; /// Set in Run() when results are saved
Results.Entities.WaterMeter[] waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
public enum CurrentOp
{
@@ -87,7 +84,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -96,7 +93,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleEnd;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -195,22 +192,21 @@ namespace TBF.BenchControl.DataEntry.Standard48
CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
if (dlg != null)
{
purchaseOrder = dlg.PurchaseOrder;
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Length); i++)
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
{
if (waterMeters[i] != null)
{
waterMeters[i].SerialNr = dlg.SNText[i];
disabled[i] = waterMeters[i].Disabled = dlg.Disabled[i];
}
waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i];
waterMeters[i].SerialNr = dlg.SNText[i];
if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder;
}
}
}
}
else if (entryFormCfg.ShowCycleEndForm && currentOp == CurrentOp.ShowFormAtCycleEnd)
{
CycleEndForm dlg = (modelessDlg as CycleEndForm);
int count = waterMeters.Length;
int count = waterMeters.Count;
if ((dlg != null) && (count > dlg.WaterMetersCount)) count = dlg.WaterMetersCount;
for (int i = 0; i < count; i++)
@@ -218,7 +214,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
if (waterMeters[i] != null)
{
/// In case entryFormCfg.ShowCycleEndForm == false dlg would be null, values would be string.Empty
wmCycleEndState[i] = waterMeters[i].EndState = (dlg != null) ? dlg.EndStateText[i] : string.Empty;
waterMeters[i].EndState = wmCycleEndState[i] = (dlg != null) ? dlg.EndStateText[i] : string.Empty;
}
}
}
@@ -270,20 +266,5 @@ namespace TBF.BenchControl.DataEntry.Standard48
}
currentOp = CurrentOp.None;
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="batchResults">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults batchResults)
{
foreach (var wm in batchResults.WaterMeters)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
@@ -276,7 +276,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 108);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(126, 18);
this.label1.Size = new System.Drawing.Size(125, 18);
this.label1.TabIndex = 2;
this.label1.Text = "Water Meter 1";
this.label1.Visible = false;
@@ -337,7 +337,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 166);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(126, 18);
this.label3.Size = new System.Drawing.Size(125, 18);
this.label3.TabIndex = 10;
this.label3.Text = "Water Meter 3";
this.label3.Visible = false;
@@ -386,7 +386,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 195);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(126, 18);
this.label4.Size = new System.Drawing.Size(125, 18);
this.label4.TabIndex = 14;
this.label4.Text = "Water Meter 4";
this.label4.Visible = false;
@@ -435,7 +435,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 224);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(126, 18);
this.label5.Size = new System.Drawing.Size(125, 18);
this.label5.TabIndex = 18;
this.label5.Text = "Water Meter 5";
this.label5.Visible = false;
@@ -484,7 +484,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 253);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(126, 18);
this.label6.Size = new System.Drawing.Size(125, 18);
this.label6.TabIndex = 22;
this.label6.Text = "Water Meter 6";
this.label6.Visible = false;
@@ -515,7 +515,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 137);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(126, 18);
this.label2.Size = new System.Drawing.Size(125, 18);
this.label2.TabIndex = 6;
this.label2.Text = "Water Meter 2";
this.label2.Visible = false;
@@ -602,7 +602,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 282);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(126, 18);
this.label7.Size = new System.Drawing.Size(125, 18);
this.label7.TabIndex = 26;
this.label7.Text = "Water Meter 7";
this.label7.Visible = false;
@@ -651,7 +651,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 311);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(126, 18);
this.label8.Size = new System.Drawing.Size(125, 18);
this.label8.TabIndex = 30;
this.label8.Text = "Water Meter 8";
this.label8.Visible = false;
@@ -700,7 +700,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 340);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(126, 18);
this.label9.Size = new System.Drawing.Size(125, 18);
this.label9.TabIndex = 34;
this.label9.Text = "Water Meter 9";
this.label9.Visible = false;
@@ -749,7 +749,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 369);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(136, 18);
this.label10.Size = new System.Drawing.Size(135, 18);
this.label10.TabIndex = 38;
this.label10.Text = "Water Meter 10";
this.label10.Visible = false;
@@ -798,7 +798,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 398);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(136, 18);
this.label11.Size = new System.Drawing.Size(135, 18);
this.label11.TabIndex = 42;
this.label11.Text = "Water Meter 11";
this.label11.Visible = false;
@@ -847,7 +847,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 427);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(136, 18);
this.label12.Size = new System.Drawing.Size(135, 18);
this.label12.TabIndex = 46;
this.label12.Text = "Water Meter 12";
this.label12.Visible = false;
@@ -896,7 +896,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 775);
this.label24.Name = "label24";
this.label24.Size = new System.Drawing.Size(136, 18);
this.label24.Size = new System.Drawing.Size(135, 18);
this.label24.TabIndex = 94;
this.label24.Text = "Water Meter 24";
this.label24.Visible = false;
@@ -945,7 +945,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 746);
this.label23.Name = "label23";
this.label23.Size = new System.Drawing.Size(136, 18);
this.label23.Size = new System.Drawing.Size(135, 18);
this.label23.TabIndex = 90;
this.label23.Text = "Water Meter 23";
this.label23.Visible = false;
@@ -994,7 +994,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 717);
this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(136, 18);
this.label22.Size = new System.Drawing.Size(135, 18);
this.label22.TabIndex = 86;
this.label22.Text = "Water Meter 22";
this.label22.Visible = false;
@@ -1043,7 +1043,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 688);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(136, 18);
this.label21.Size = new System.Drawing.Size(135, 18);
this.label21.TabIndex = 82;
this.label21.Text = "Water Meter 21";
this.label21.Visible = false;
@@ -1092,7 +1092,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 659);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(136, 18);
this.label20.Size = new System.Drawing.Size(135, 18);
this.label20.TabIndex = 78;
this.label20.Text = "Water Meter 20";
this.label20.Visible = false;
@@ -1141,7 +1141,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 630);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(136, 18);
this.label19.Size = new System.Drawing.Size(135, 18);
this.label19.TabIndex = 74;
this.label19.Text = "Water Meter 19";
this.label19.Visible = false;
@@ -1214,7 +1214,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 601);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(136, 18);
this.label18.Size = new System.Drawing.Size(135, 18);
this.label18.TabIndex = 70;
this.label18.Text = "Water Meter 18";
this.label18.Visible = false;
@@ -1263,7 +1263,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 572);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(136, 18);
this.label17.Size = new System.Drawing.Size(135, 18);
this.label17.TabIndex = 66;
this.label17.Text = "Water Meter 17";
this.label17.Visible = false;
@@ -1312,7 +1312,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 543);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(136, 18);
this.label16.Size = new System.Drawing.Size(135, 18);
this.label16.TabIndex = 62;
this.label16.Text = "Water Meter 16";
this.label16.Visible = false;
@@ -1361,7 +1361,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 514);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(136, 18);
this.label15.Size = new System.Drawing.Size(135, 18);
this.label15.TabIndex = 58;
this.label15.Text = "Water Meter 15";
this.label15.Visible = false;
@@ -1408,7 +1408,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 485);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(136, 18);
this.label14.Size = new System.Drawing.Size(135, 18);
this.label14.TabIndex = 54;
this.label14.Text = "Water Meter 14";
this.label14.Visible = false;
@@ -1455,7 +1455,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 456);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(136, 18);
this.label13.Size = new System.Drawing.Size(135, 18);
this.label13.TabIndex = 50;
this.label13.Text = "Water Meter 13";
this.label13.Visible = false;
@@ -1504,7 +1504,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 108);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(136, 18);
this.label25.Size = new System.Drawing.Size(135, 18);
this.label25.TabIndex = 100;
this.label25.Text = "Water Meter 25";
this.label25.Visible = false;
@@ -1515,7 +1515,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 137);
this.label26.Name = "label26";
this.label26.Size = new System.Drawing.Size(136, 18);
this.label26.Size = new System.Drawing.Size(135, 18);
this.label26.TabIndex = 104;
this.label26.Text = "Water Meter 26";
this.label26.Visible = false;
@@ -1526,7 +1526,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 166);
this.label27.Name = "label27";
this.label27.Size = new System.Drawing.Size(136, 18);
this.label27.Size = new System.Drawing.Size(135, 18);
this.label27.TabIndex = 108;
this.label27.Text = "Water Meter 27";
this.label27.Visible = false;
@@ -1537,7 +1537,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 195);
this.label28.Name = "label28";
this.label28.Size = new System.Drawing.Size(136, 18);
this.label28.Size = new System.Drawing.Size(135, 18);
this.label28.TabIndex = 112;
this.label28.Text = "Water Meter 28";
this.label28.Visible = false;
@@ -1548,7 +1548,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 224);
this.label29.Name = "label29";
this.label29.Size = new System.Drawing.Size(136, 18);
this.label29.Size = new System.Drawing.Size(135, 18);
this.label29.TabIndex = 116;
this.label29.Text = "Water Meter 29";
this.label29.Visible = false;
@@ -1559,7 +1559,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 253);
this.label30.Name = "label30";
this.label30.Size = new System.Drawing.Size(136, 18);
this.label30.Size = new System.Drawing.Size(135, 18);
this.label30.TabIndex = 120;
this.label30.Text = "Water Meter 30";
this.label30.Visible = false;
@@ -1570,7 +1570,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 282);
this.label31.Name = "label31";
this.label31.Size = new System.Drawing.Size(136, 18);
this.label31.Size = new System.Drawing.Size(135, 18);
this.label31.TabIndex = 124;
this.label31.Text = "Water Meter 31";
this.label31.Visible = false;
@@ -1581,7 +1581,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 311);
this.label32.Name = "label32";
this.label32.Size = new System.Drawing.Size(136, 18);
this.label32.Size = new System.Drawing.Size(135, 18);
this.label32.TabIndex = 128;
this.label32.Text = "Water Meter 32";
this.label32.Visible = false;
@@ -1592,7 +1592,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 340);
this.label33.Name = "label33";
this.label33.Size = new System.Drawing.Size(136, 18);
this.label33.Size = new System.Drawing.Size(135, 18);
this.label33.TabIndex = 132;
this.label33.Text = "Water Meter 33";
this.label33.Visible = false;
@@ -1603,7 +1603,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 369);
this.label34.Name = "label34";
this.label34.Size = new System.Drawing.Size(136, 18);
this.label34.Size = new System.Drawing.Size(135, 18);
this.label34.TabIndex = 136;
this.label34.Text = "Water Meter 34";
this.label34.Visible = false;
@@ -1614,7 +1614,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 398);
this.label35.Name = "label35";
this.label35.Size = new System.Drawing.Size(136, 18);
this.label35.Size = new System.Drawing.Size(135, 18);
this.label35.TabIndex = 140;
this.label35.Text = "Water Meter 35";
this.label35.Visible = false;
@@ -1625,7 +1625,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 427);
this.label36.Name = "label36";
this.label36.Size = new System.Drawing.Size(136, 18);
this.label36.Size = new System.Drawing.Size(135, 18);
this.label36.TabIndex = 144;
this.label36.Text = "Water Meter 36";
this.label36.Visible = false;
@@ -1636,7 +1636,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 456);
this.label37.Name = "label37";
this.label37.Size = new System.Drawing.Size(136, 18);
this.label37.Size = new System.Drawing.Size(135, 18);
this.label37.TabIndex = 148;
this.label37.Text = "Water Meter 37";
this.label37.Visible = false;
@@ -1647,7 +1647,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 485);
this.label38.Name = "label38";
this.label38.Size = new System.Drawing.Size(136, 18);
this.label38.Size = new System.Drawing.Size(135, 18);
this.label38.TabIndex = 152;
this.label38.Text = "Water Meter 38";
this.label38.Visible = false;
@@ -1658,7 +1658,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 514);
this.label39.Name = "label39";
this.label39.Size = new System.Drawing.Size(136, 18);
this.label39.Size = new System.Drawing.Size(135, 18);
this.label39.TabIndex = 156;
this.label39.Text = "Water Meter 39";
this.label39.Visible = false;
@@ -1669,7 +1669,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 543);
this.label40.Name = "label40";
this.label40.Size = new System.Drawing.Size(136, 18);
this.label40.Size = new System.Drawing.Size(135, 18);
this.label40.TabIndex = 160;
this.label40.Text = "Water Meter 40";
this.label40.Visible = false;
@@ -1680,7 +1680,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 572);
this.label41.Name = "label41";
this.label41.Size = new System.Drawing.Size(136, 18);
this.label41.Size = new System.Drawing.Size(135, 18);
this.label41.TabIndex = 164;
this.label41.Text = "Water Meter 41";
this.label41.Visible = false;
@@ -1691,7 +1691,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 601);
this.label42.Name = "label42";
this.label42.Size = new System.Drawing.Size(136, 18);
this.label42.Size = new System.Drawing.Size(135, 18);
this.label42.TabIndex = 168;
this.label42.Text = "Water Meter 42";
this.label42.Visible = false;
@@ -1702,7 +1702,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 630);
this.label43.Name = "label43";
this.label43.Size = new System.Drawing.Size(136, 18);
this.label43.Size = new System.Drawing.Size(135, 18);
this.label43.TabIndex = 172;
this.label43.Text = "Water Meter 43";
this.label43.Visible = false;
@@ -1713,7 +1713,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 659);
this.label44.Name = "label44";
this.label44.Size = new System.Drawing.Size(136, 18);
this.label44.Size = new System.Drawing.Size(135, 18);
this.label44.TabIndex = 176;
this.label44.Text = "Water Meter 44";
this.label44.Visible = false;
@@ -1724,7 +1724,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 688);
this.label45.Name = "label45";
this.label45.Size = new System.Drawing.Size(136, 18);
this.label45.Size = new System.Drawing.Size(135, 18);
this.label45.TabIndex = 180;
this.label45.Text = "Water Meter 45";
this.label45.Visible = false;
@@ -1735,7 +1735,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 717);
this.label46.Name = "label46";
this.label46.Size = new System.Drawing.Size(136, 18);
this.label46.Size = new System.Drawing.Size(135, 18);
this.label46.TabIndex = 184;
this.label46.Text = "Water Meter 46";
this.label46.Visible = false;
@@ -1746,7 +1746,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 746);
this.label47.Name = "label47";
this.label47.Size = new System.Drawing.Size(136, 18);
this.label47.Size = new System.Drawing.Size(135, 18);
this.label47.TabIndex = 188;
this.label47.Text = "Water Meter 47";
this.label47.Visible = false;
@@ -1757,7 +1757,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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, 775);
this.label48.Name = "label48";
this.label48.Size = new System.Drawing.Size(136, 18);
this.label48.Size = new System.Drawing.Size(135, 18);
this.label48.TabIndex = 192;
this.label48.Text = "Water Meter 48";
this.label48.Visible = false;
@@ -2864,6 +2864,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "TestStartEndForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "0";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleEndForm_Load);
@@ -211,7 +211,7 @@
<value>27, 146</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 23</value>
<value>146, 23</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -331,7 +331,7 @@
<value>27, 192</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 23</value>
<value>146, 23</value>
</data>
<data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@@ -418,7 +418,7 @@
<value>27, 238</value>
</data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 23</value>
<value>146, 23</value>
</data>
<data name="label3.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
@@ -505,7 +505,7 @@
<value>27, 284</value>
</data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 23</value>
<value>146, 23</value>
</data>
<data name="label4.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
@@ -592,7 +592,7 @@
<value>27, 330</value>
</data>
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 23</value>
<value>146, 23</value>
</data>
<data name="label5.TabIndex" type="System.Int32, mscorlib">
<value>18</value>
@@ -679,7 +679,7 @@
<value>27, 376</value>
</data>
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 23</value>
<value>146, 23</value>
</data>
<data name="label6.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
@@ -999,6 +999,9 @@
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>1039, 429</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Batch data</value>
</data>
@@ -69,7 +69,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
this.label2.Location = new System.Drawing.Point(26, 110);
this.label2.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(147, 23);
this.label2.Size = new System.Drawing.Size(146, 23);
this.label2.TabIndex = 0;
this.label2.Text = "Water meter 2";
//
@@ -87,7 +87,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
this.label1.Location = new System.Drawing.Point(26, 64);
this.label1.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(147, 23);
this.label1.Size = new System.Drawing.Size(146, 23);
this.label1.TabIndex = 0;
this.label1.Text = "Water meter 1";
//
@@ -119,7 +119,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
this.label3.Location = new System.Drawing.Point(26, 156);
this.label3.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(147, 23);
this.label3.Size = new System.Drawing.Size(146, 23);
this.label3.TabIndex = 0;
this.label3.Text = "Water meter 3";
//
@@ -137,7 +137,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
this.label4.Location = new System.Drawing.Point(26, 202);
this.label4.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(147, 23);
this.label4.Size = new System.Drawing.Size(146, 23);
this.label4.TabIndex = 0;
this.label4.Text = "Water meter 4";
//
@@ -155,7 +155,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
this.label5.Location = new System.Drawing.Point(26, 248);
this.label5.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(147, 23);
this.label5.Size = new System.Drawing.Size(146, 23);
this.label5.TabIndex = 0;
this.label5.Text = "Water meter 5";
//
@@ -173,7 +173,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
this.label6.Location = new System.Drawing.Point(26, 294);
this.label6.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(147, 23);
this.label6.Size = new System.Drawing.Size(146, 23);
this.label6.TabIndex = 0;
this.label6.Text = "Water meter 6";
//
@@ -199,7 +199,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
this.remarkLabel.AutoSize = true;
this.remarkLabel.Location = new System.Drawing.Point(396, 24);
this.remarkLabel.Name = "remarkLabel";
this.remarkLabel.Size = new System.Drawing.Size(211, 23);
this.remarkLabel.Size = new System.Drawing.Size(210, 23);
this.remarkLabel.TabIndex = 10;
this.remarkLabel.Text = "Water meter remark:";
//
@@ -290,6 +290,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
this.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
this.Name = "CycleEndForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Daten";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleEndForm_Load);
@@ -23,11 +23,6 @@ namespace TBF.BenchControl.DataEntry.Standard6
/// <summary>
/// Properties set by the Begin, End and WMStates form
/// </summary>
string purchaseOrder;
public string PurchaseOrder { get { return purchaseOrder; } }
string batchRemark;
bool[] disabled; /// This array is shared between forms
double[] wmStartState;
@@ -48,7 +43,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
bool resultSaved; /// Set in Run() when results are saved
Results.Entities.WaterMeter[] waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
public enum CurrentOp
{
@@ -75,7 +70,6 @@ namespace TBF.BenchControl.DataEntry.Standard6
wmStartState = new double[Config.Data.WMsCount];
wmStartStateStr = new string[Config.Data.WMsCount];
wmEndState = new double[Config.Data.WMsCount];
batchRemark = null;
currentOp = CurrentOp.None;
log.Debug(this.ToString());
@@ -86,7 +80,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -95,7 +89,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleEnd;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -124,25 +118,25 @@ namespace TBF.BenchControl.DataEntry.Standard6
///
void OpenBeginningDlg(EntryFormNoStartEnd myRef)
{
myRef.modelessDlg = new CycleBeginningForm(myRef.waterMeters.Length, (myRef.entryFormCfg.RemarkEnabled && !myRef.entryFormCfg.ShowCycleEndForm));
myRef.modelessDlg = new CycleBeginningForm(myRef.waterMeters.Count, (myRef.entryFormCfg.RemarkEnabled && !myRef.entryFormCfg.ShowCycleEndForm));
modelessDlg.Show();
}
///
void OpenEndDlg(EntryFormNoStartEnd myRef)
{
myRef.modelessDlg = new CycleEndForm(myRef.waterMeters.Length, myRef.entryFormCfg.RemarkEnabled);
myRef.modelessDlg = new CycleEndForm(myRef.waterMeters.Count, myRef.entryFormCfg.RemarkEnabled);
modelessDlg.Show();
}
///
void OpenTestStartStatesDlg(EntryFormNoStartEnd myRef)
{
myRef.modelessDlg = new TestStartEndForm(myRef.waterMeters.Length, myRef.regReaders, myRef.disabled);
myRef.modelessDlg = new TestStartEndForm(myRef.waterMeters.Count, myRef.regReaders, myRef.disabled);
modelessDlg.Show();
}
///
void OpenTestEndStatesDlg(EntryFormNoStartEnd myRef)
{
myRef.modelessDlg = new TestStartEndForm(myRef.waterMeters.Length, myRef.regReaders, wmStartStateStr, disabled, refVolume, errLimLo, errLimHi);
myRef.modelessDlg = new TestStartEndForm(myRef.waterMeters.Count, myRef.regReaders, wmStartStateStr, disabled, refVolume, errLimLo, errLimHi);
modelessDlg.Show();
}
@@ -194,29 +188,25 @@ namespace TBF.BenchControl.DataEntry.Standard6
CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
if (dlg != null)
{
purchaseOrder = dlg.PurchaseOrder;
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Length); i++)
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
{
if (waterMeters[i] != null)
{
waterMeters[i].SerialNr = dlg.SNText[i];
disabled[i] = waterMeters[i].Disabled = dlg.Disabled[i];
if (dlg.RemarksEnabled)
{
waterMeters[i].Remark = dlg.Remark[i];
}
}
waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i];
waterMeters[i].SerialNr = dlg.SNText[i];
if (dlg.RemarksEnabled) waterMeters[i].Remark = dlg.Remark[i];
if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder;
}
}
}
}
else if (entryFormCfg.ShowCycleEndForm && currentOp == CurrentOp.ShowFormAtCycleEnd)
{
CycleEndForm dlg = (modelessDlg as CycleEndForm);
int count = waterMeters.Length;
int count = waterMeters.Count;
if ((dlg != null) && (count > dlg.WaterMetersCount)) count = dlg.WaterMetersCount;
for (int i = 0; i < count; i++)
for (int i = 0; i < count; i++)
{
if (waterMeters[i] != null)
{
@@ -225,14 +215,10 @@ namespace TBF.BenchControl.DataEntry.Standard6
if (entryFormCfg.RemarkEnabled)
{
waterMeters[i].Remark = (dlg != null) ? dlg.Remark[i] : string.Empty;
waterMeters[i].Batch.Remark = (dlg != null) ? dlg.BatchRemark : string.Empty;
}
}
}
if (entryFormCfg.RemarkEnabled)
{
batchRemark = dlg.BatchRemark;
}
}
else if (modelessDlg is TestStartEndForm && currentOp == CurrentOp.EnterTestStartStates)
{
@@ -276,25 +262,5 @@ namespace TBF.BenchControl.DataEntry.Standard6
}
currentOp = CurrentOp.None;
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="batchResults">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults batchResults)
{
if (batchRemark != null)
{
batchResults.Batch.Remark = batchRemark;
}
foreach (var wm in batchResults.WaterMeters)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
+439 -438
View File
@@ -31,444 +31,445 @@ namespace TBF.BenchControl.DataEntry.Standard6
/// </summary>
private void InitializeComponent()
{
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.exclamation2 = new System.Windows.Forms.Label();
this.wmStartStateTextBox2 = new System.Windows.Forms.TextBox();
this.wmEndStateTextBox2 = new System.Windows.Forms.TextBox();
this.wmStateLabel2 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.exclamation1 = new System.Windows.Forms.Label();
this.wmStartStateTextBox1 = new System.Windows.Forms.TextBox();
this.wmEndStateTextBox1 = new System.Windows.Forms.TextBox();
this.wmStateLabel1 = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.exclamation3 = new System.Windows.Forms.Label();
this.wmStartStateTextBox3 = new System.Windows.Forms.TextBox();
this.wmEndStateTextBox3 = new System.Windows.Forms.TextBox();
this.wmStateLabel3 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.exclamation4 = new System.Windows.Forms.Label();
this.wmStartStateTextBox4 = new System.Windows.Forms.TextBox();
this.wmEndStateTextBox4 = new System.Windows.Forms.TextBox();
this.wmStateLabel4 = new System.Windows.Forms.Label();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.exclamation5 = new System.Windows.Forms.Label();
this.wmStartStateTextBox5 = new System.Windows.Forms.TextBox();
this.wmEndStateTextBox5 = new System.Windows.Forms.TextBox();
this.wmStateLabel5 = new System.Windows.Forms.Label();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.exclamation6 = new System.Windows.Forms.Label();
this.wmStartStateTextBox6 = new System.Windows.Forms.TextBox();
this.wmEndStateTextBox6 = new System.Windows.Forms.TextBox();
this.wmStateLabel6 = new System.Windows.Forms.Label();
this.startLabel = new System.Windows.Forms.Label();
this.endLabel = new System.Windows.Forms.Label();
this.groupBox2.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
this.SuspendLayout();
//
// groupBox2
//
this.groupBox2.Controls.Add(this.exclamation2);
this.groupBox2.Controls.Add(this.wmStartStateTextBox2);
this.groupBox2.Controls.Add(this.wmEndStateTextBox2);
this.groupBox2.Controls.Add(this.wmStateLabel2);
this.groupBox2.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox2.ForeColor = System.Drawing.Color.Black;
this.groupBox2.Location = new System.Drawing.Point(25, 122);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(547, 81);
this.groupBox2.TabIndex = 2;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Water Meter 2";
//
// exclamation2
//
this.exclamation2.AutoSize = true;
this.exclamation2.Font = new System.Drawing.Font("Verdana", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.exclamation2.ForeColor = System.Drawing.Color.Red;
this.exclamation2.Location = new System.Drawing.Point(515, 27);
this.exclamation2.Name = "exclamation2";
this.exclamation2.Size = new System.Drawing.Size(30, 38);
this.exclamation2.TabIndex = 4;
this.exclamation2.Text = "!";
this.exclamation2.Visible = false;
//
// wmStartStateTextBox2
//
this.wmStartStateTextBox2.Enabled = false;
this.wmStartStateTextBox2.Location = new System.Drawing.Point(164, 31);
this.wmStartStateTextBox2.Name = "wmStartStateTextBox2";
this.wmStartStateTextBox2.Size = new System.Drawing.Size(163, 31);
this.wmStartStateTextBox2.TabIndex = 3;
this.wmStartStateTextBox2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmStartStateTextBox2_KeyPress);
//
// wmEndStateTextBox2
//
this.wmEndStateTextBox2.Enabled = false;
this.wmEndStateTextBox2.Location = new System.Drawing.Point(350, 31);
this.wmEndStateTextBox2.Name = "wmEndStateTextBox2";
this.wmEndStateTextBox2.Size = new System.Drawing.Size(163, 31);
this.wmEndStateTextBox2.TabIndex = 1;
this.wmEndStateTextBox2.TextChanged += new System.EventHandler(this.wmEndStateTextBox2_TextChanged);
this.wmEndStateTextBox2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmEndStateTextBox2_KeyPress);
//
// wmStateLabel2
//
this.wmStateLabel2.AutoSize = true;
this.wmStateLabel2.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel2.Name = "wmStateLabel2";
this.wmStateLabel2.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel2.TabIndex = 0;
this.wmStateLabel2.Text = "State:";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.exclamation1);
this.groupBox1.Controls.Add(this.wmStartStateTextBox1);
this.groupBox1.Controls.Add(this.wmEndStateTextBox1);
this.groupBox1.Controls.Add(this.wmStateLabel1);
this.groupBox1.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox1.ForeColor = System.Drawing.Color.Black;
this.groupBox1.Location = new System.Drawing.Point(25, 32);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(547, 81);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Water Meter 1";
//
// exclamation1
//
this.exclamation1.AutoSize = true;
this.exclamation1.Font = new System.Drawing.Font("Verdana", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.exclamation1.ForeColor = System.Drawing.Color.Red;
this.exclamation1.Location = new System.Drawing.Point(515, 27);
this.exclamation1.Name = "exclamation1";
this.exclamation1.Size = new System.Drawing.Size(30, 38);
this.exclamation1.TabIndex = 3;
this.exclamation1.Text = "!";
this.exclamation1.Visible = false;
//
// wmStartStateTextBox1
//
this.wmStartStateTextBox1.Enabled = false;
this.wmStartStateTextBox1.Location = new System.Drawing.Point(164, 31);
this.wmStartStateTextBox1.Name = "wmStartStateTextBox1";
this.wmStartStateTextBox1.Size = new System.Drawing.Size(163, 31);
this.wmStartStateTextBox1.TabIndex = 2;
this.wmStartStateTextBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmStartStateTextBox1_KeyPress);
//
// wmEndStateTextBox1
//
this.wmEndStateTextBox1.Enabled = false;
this.wmEndStateTextBox1.Location = new System.Drawing.Point(350, 31);
this.wmEndStateTextBox1.Name = "wmEndStateTextBox1";
this.wmEndStateTextBox1.Size = new System.Drawing.Size(163, 31);
this.wmEndStateTextBox1.TabIndex = 1;
this.wmEndStateTextBox1.TextChanged += new System.EventHandler(this.wmEndStateTextBox1_TextChanged);
this.wmEndStateTextBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmEndStateTextBox1_KeyPress);
//
// wmStateLabel1
//
this.wmStateLabel1.AutoSize = true;
this.wmStateLabel1.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel1.Name = "wmStateLabel1";
this.wmStateLabel1.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel1.TabIndex = 0;
this.wmStateLabel1.Text = "State:";
//
// 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(603, 46);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(98, 63);
this.okButton.TabIndex = 7;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// groupBox3
//
this.groupBox3.Controls.Add(this.exclamation3);
this.groupBox3.Controls.Add(this.wmStartStateTextBox3);
this.groupBox3.Controls.Add(this.wmEndStateTextBox3);
this.groupBox3.Controls.Add(this.wmStateLabel3);
this.groupBox3.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox3.ForeColor = System.Drawing.Color.Black;
this.groupBox3.Location = new System.Drawing.Point(25, 212);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(547, 81);
this.groupBox3.TabIndex = 3;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Water Meter 3";
//
// exclamation3
//
this.exclamation3.AutoSize = true;
this.exclamation3.Font = new System.Drawing.Font("Verdana", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.exclamation3.ForeColor = System.Drawing.Color.Red;
this.exclamation3.Location = new System.Drawing.Point(515, 27);
this.exclamation3.Name = "exclamation3";
this.exclamation3.Size = new System.Drawing.Size(30, 38);
this.exclamation3.TabIndex = 5;
this.exclamation3.Text = "!";
this.exclamation3.Visible = false;
//
// wmStartStateTextBox3
//
this.wmStartStateTextBox3.Enabled = false;
this.wmStartStateTextBox3.Location = new System.Drawing.Point(164, 31);
this.wmStartStateTextBox3.Name = "wmStartStateTextBox3";
this.wmStartStateTextBox3.Size = new System.Drawing.Size(163, 31);
this.wmStartStateTextBox3.TabIndex = 4;
this.wmStartStateTextBox3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmStartStateTextBox3_KeyPress);
//
// wmEndStateTextBox3
//
this.wmEndStateTextBox3.Enabled = false;
this.wmEndStateTextBox3.Location = new System.Drawing.Point(350, 31);
this.wmEndStateTextBox3.Name = "wmEndStateTextBox3";
this.wmEndStateTextBox3.Size = new System.Drawing.Size(163, 31);
this.wmEndStateTextBox3.TabIndex = 1;
this.wmEndStateTextBox3.TextChanged += new System.EventHandler(this.wmEndStateTextBox3_TextChanged);
this.wmEndStateTextBox3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmEndStateTextBox3_KeyPress);
//
// wmStateLabel3
//
this.wmStateLabel3.AutoSize = true;
this.wmStateLabel3.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel3.Name = "wmStateLabel3";
this.wmStateLabel3.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel3.TabIndex = 0;
this.wmStateLabel3.Text = "State:";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.exclamation4);
this.groupBox4.Controls.Add(this.wmStartStateTextBox4);
this.groupBox4.Controls.Add(this.wmEndStateTextBox4);
this.groupBox4.Controls.Add(this.wmStateLabel4);
this.groupBox4.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox4.ForeColor = System.Drawing.Color.Black;
this.groupBox4.Location = new System.Drawing.Point(25, 302);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(547, 81);
this.groupBox4.TabIndex = 4;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Water Meter 4";
//
// exclamation4
//
this.exclamation4.AutoSize = true;
this.exclamation4.Font = new System.Drawing.Font("Verdana", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.exclamation4.ForeColor = System.Drawing.Color.Red;
this.exclamation4.Location = new System.Drawing.Point(515, 27);
this.exclamation4.Name = "exclamation4";
this.exclamation4.Size = new System.Drawing.Size(30, 38);
this.exclamation4.TabIndex = 5;
this.exclamation4.Text = "!";
this.exclamation4.Visible = false;
//
// wmStartStateTextBox4
//
this.wmStartStateTextBox4.Enabled = false;
this.wmStartStateTextBox4.Location = new System.Drawing.Point(164, 31);
this.wmStartStateTextBox4.Name = "wmStartStateTextBox4";
this.wmStartStateTextBox4.Size = new System.Drawing.Size(163, 31);
this.wmStartStateTextBox4.TabIndex = 4;
this.wmStartStateTextBox4.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmStartStateTextBox4_KeyPress);
//
// wmEndStateTextBox4
//
this.wmEndStateTextBox4.Enabled = false;
this.wmEndStateTextBox4.Location = new System.Drawing.Point(350, 31);
this.wmEndStateTextBox4.Name = "wmEndStateTextBox4";
this.wmEndStateTextBox4.Size = new System.Drawing.Size(163, 31);
this.wmEndStateTextBox4.TabIndex = 1;
this.wmEndStateTextBox4.TextChanged += new System.EventHandler(this.wmEndStateTextBox4_TextChanged);
this.wmEndStateTextBox4.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmEndStateTextBox4_KeyPress);
//
// wmStateLabel4
//
this.wmStateLabel4.AutoSize = true;
this.wmStateLabel4.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel4.Name = "wmStateLabel4";
this.wmStateLabel4.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel4.TabIndex = 0;
this.wmStateLabel4.Text = "State:";
//
// groupBox5
//
this.groupBox5.Controls.Add(this.exclamation5);
this.groupBox5.Controls.Add(this.wmStartStateTextBox5);
this.groupBox5.Controls.Add(this.wmEndStateTextBox5);
this.groupBox5.Controls.Add(this.wmStateLabel5);
this.groupBox5.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox5.ForeColor = System.Drawing.Color.Black;
this.groupBox5.Location = new System.Drawing.Point(25, 392);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(547, 81);
this.groupBox5.TabIndex = 5;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "Water Meter 5";
//
// exclamation5
//
this.exclamation5.AutoSize = true;
this.exclamation5.Font = new System.Drawing.Font("Verdana", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.exclamation5.ForeColor = System.Drawing.Color.Red;
this.exclamation5.Location = new System.Drawing.Point(515, 27);
this.exclamation5.Name = "exclamation5";
this.exclamation5.Size = new System.Drawing.Size(30, 38);
this.exclamation5.TabIndex = 5;
this.exclamation5.Text = "!";
this.exclamation5.Visible = false;
//
// wmStartStateTextBox5
//
this.wmStartStateTextBox5.Enabled = false;
this.wmStartStateTextBox5.Location = new System.Drawing.Point(164, 31);
this.wmStartStateTextBox5.Name = "wmStartStateTextBox5";
this.wmStartStateTextBox5.Size = new System.Drawing.Size(163, 31);
this.wmStartStateTextBox5.TabIndex = 4;
this.wmStartStateTextBox5.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmStartStateTextBox5_KeyPress);
//
// wmEndStateTextBox5
//
this.wmEndStateTextBox5.Enabled = false;
this.wmEndStateTextBox5.Location = new System.Drawing.Point(350, 31);
this.wmEndStateTextBox5.Name = "wmEndStateTextBox5";
this.wmEndStateTextBox5.Size = new System.Drawing.Size(163, 31);
this.wmEndStateTextBox5.TabIndex = 1;
this.wmEndStateTextBox5.TextChanged += new System.EventHandler(this.wmEndStateTextBox5_TextChanged);
this.wmEndStateTextBox5.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmEndStateTextBox5_KeyPress);
//
// wmStateLabel5
//
this.wmStateLabel5.AutoSize = true;
this.wmStateLabel5.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel5.Name = "wmStateLabel5";
this.wmStateLabel5.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel5.TabIndex = 0;
this.wmStateLabel5.Text = "State:";
//
// groupBox6
//
this.groupBox6.Controls.Add(this.exclamation6);
this.groupBox6.Controls.Add(this.wmStartStateTextBox6);
this.groupBox6.Controls.Add(this.wmEndStateTextBox6);
this.groupBox6.Controls.Add(this.wmStateLabel6);
this.groupBox6.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox6.ForeColor = System.Drawing.Color.Black;
this.groupBox6.Location = new System.Drawing.Point(25, 482);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(547, 81);
this.groupBox6.TabIndex = 6;
this.groupBox6.TabStop = false;
this.groupBox6.Text = "Water Meter 6";
//
// exclamation6
//
this.exclamation6.AutoSize = true;
this.exclamation6.Font = new System.Drawing.Font("Verdana", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.exclamation6.ForeColor = System.Drawing.Color.Red;
this.exclamation6.Location = new System.Drawing.Point(515, 27);
this.exclamation6.Name = "exclamation6";
this.exclamation6.Size = new System.Drawing.Size(30, 38);
this.exclamation6.TabIndex = 5;
this.exclamation6.Text = "!";
this.exclamation6.Visible = false;
//
// wmStartStateTextBox6
//
this.wmStartStateTextBox6.Enabled = false;
this.wmStartStateTextBox6.Location = new System.Drawing.Point(164, 31);
this.wmStartStateTextBox6.Name = "wmStartStateTextBox6";
this.wmStartStateTextBox6.Size = new System.Drawing.Size(163, 31);
this.wmStartStateTextBox6.TabIndex = 4;
this.wmStartStateTextBox6.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmStartStateTextBox6_KeyPress);
//
// wmEndStateTextBox6
//
this.wmEndStateTextBox6.Enabled = false;
this.wmEndStateTextBox6.Location = new System.Drawing.Point(350, 31);
this.wmEndStateTextBox6.Name = "wmEndStateTextBox6";
this.wmEndStateTextBox6.Size = new System.Drawing.Size(163, 31);
this.wmEndStateTextBox6.TabIndex = 1;
this.wmEndStateTextBox6.TextChanged += new System.EventHandler(this.wmEndStateTextBox6_TextChanged);
this.wmEndStateTextBox6.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmEndStateTextBox6_KeyPress);
//
// wmStateLabel6
//
this.wmStateLabel6.AutoSize = true;
this.wmStateLabel6.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel6.Name = "wmStateLabel6";
this.wmStateLabel6.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel6.TabIndex = 0;
this.wmStateLabel6.Text = "State:";
//
// 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(245, 11);
this.startLabel.Name = "startLabel";
this.startLabel.Size = new System.Drawing.Size(56, 23);
this.startLabel.TabIndex = 8;
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(431, 11);
this.endLabel.Name = "endLabel";
this.endLabel.Size = new System.Drawing.Size(46, 23);
this.endLabel.TabIndex = 9;
this.endLabel.Text = "End";
//
// TestStartEndForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DarkGoldenrod;
this.ClientSize = new System.Drawing.Size(729, 586);
this.Controls.Add(this.endLabel);
this.Controls.Add(this.startLabel);
this.Controls.Add(this.groupBox6);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.okButton);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
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.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.exclamation2 = new System.Windows.Forms.Label();
this.wmStartStateTextBox2 = new System.Windows.Forms.TextBox();
this.wmEndStateTextBox2 = new System.Windows.Forms.TextBox();
this.wmStateLabel2 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.exclamation1 = new System.Windows.Forms.Label();
this.wmStartStateTextBox1 = new System.Windows.Forms.TextBox();
this.wmEndStateTextBox1 = new System.Windows.Forms.TextBox();
this.wmStateLabel1 = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.exclamation3 = new System.Windows.Forms.Label();
this.wmStartStateTextBox3 = new System.Windows.Forms.TextBox();
this.wmEndStateTextBox3 = new System.Windows.Forms.TextBox();
this.wmStateLabel3 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.exclamation4 = new System.Windows.Forms.Label();
this.wmStartStateTextBox4 = new System.Windows.Forms.TextBox();
this.wmEndStateTextBox4 = new System.Windows.Forms.TextBox();
this.wmStateLabel4 = new System.Windows.Forms.Label();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.exclamation5 = new System.Windows.Forms.Label();
this.wmStartStateTextBox5 = new System.Windows.Forms.TextBox();
this.wmEndStateTextBox5 = new System.Windows.Forms.TextBox();
this.wmStateLabel5 = new System.Windows.Forms.Label();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.exclamation6 = new System.Windows.Forms.Label();
this.wmStartStateTextBox6 = new System.Windows.Forms.TextBox();
this.wmEndStateTextBox6 = new System.Windows.Forms.TextBox();
this.wmStateLabel6 = new System.Windows.Forms.Label();
this.startLabel = new System.Windows.Forms.Label();
this.endLabel = new System.Windows.Forms.Label();
this.groupBox2.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
this.SuspendLayout();
//
// groupBox2
//
this.groupBox2.Controls.Add(this.exclamation2);
this.groupBox2.Controls.Add(this.wmStartStateTextBox2);
this.groupBox2.Controls.Add(this.wmEndStateTextBox2);
this.groupBox2.Controls.Add(this.wmStateLabel2);
this.groupBox2.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox2.ForeColor = System.Drawing.Color.Black;
this.groupBox2.Location = new System.Drawing.Point(25, 122);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(547, 81);
this.groupBox2.TabIndex = 2;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Water Meter 2";
//
// exclamation2
//
this.exclamation2.AutoSize = true;
this.exclamation2.Font = new System.Drawing.Font("Verdana", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.exclamation2.ForeColor = System.Drawing.Color.Red;
this.exclamation2.Location = new System.Drawing.Point(515, 27);
this.exclamation2.Name = "exclamation2";
this.exclamation2.Size = new System.Drawing.Size(30, 38);
this.exclamation2.TabIndex = 4;
this.exclamation2.Text = "!";
this.exclamation2.Visible = false;
//
// wmStartStateTextBox2
//
this.wmStartStateTextBox2.Enabled = false;
this.wmStartStateTextBox2.Location = new System.Drawing.Point(164, 31);
this.wmStartStateTextBox2.Name = "wmStartStateTextBox2";
this.wmStartStateTextBox2.Size = new System.Drawing.Size(163, 31);
this.wmStartStateTextBox2.TabIndex = 3;
this.wmStartStateTextBox2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmStartStateTextBox2_KeyPress);
//
// wmEndStateTextBox2
//
this.wmEndStateTextBox2.Enabled = false;
this.wmEndStateTextBox2.Location = new System.Drawing.Point(350, 31);
this.wmEndStateTextBox2.Name = "wmEndStateTextBox2";
this.wmEndStateTextBox2.Size = new System.Drawing.Size(163, 31);
this.wmEndStateTextBox2.TabIndex = 1;
this.wmEndStateTextBox2.TextChanged += new System.EventHandler(this.wmEndStateTextBox2_TextChanged);
this.wmEndStateTextBox2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmEndStateTextBox2_KeyPress);
//
// wmStateLabel2
//
this.wmStateLabel2.AutoSize = true;
this.wmStateLabel2.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel2.Name = "wmStateLabel2";
this.wmStateLabel2.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel2.TabIndex = 0;
this.wmStateLabel2.Text = "State:";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.exclamation1);
this.groupBox1.Controls.Add(this.wmStartStateTextBox1);
this.groupBox1.Controls.Add(this.wmEndStateTextBox1);
this.groupBox1.Controls.Add(this.wmStateLabel1);
this.groupBox1.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox1.ForeColor = System.Drawing.Color.Black;
this.groupBox1.Location = new System.Drawing.Point(25, 32);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(547, 81);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Water Meter 1";
//
// exclamation1
//
this.exclamation1.AutoSize = true;
this.exclamation1.Font = new System.Drawing.Font("Verdana", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.exclamation1.ForeColor = System.Drawing.Color.Red;
this.exclamation1.Location = new System.Drawing.Point(515, 27);
this.exclamation1.Name = "exclamation1";
this.exclamation1.Size = new System.Drawing.Size(30, 38);
this.exclamation1.TabIndex = 3;
this.exclamation1.Text = "!";
this.exclamation1.Visible = false;
//
// wmStartStateTextBox1
//
this.wmStartStateTextBox1.Enabled = false;
this.wmStartStateTextBox1.Location = new System.Drawing.Point(164, 31);
this.wmStartStateTextBox1.Name = "wmStartStateTextBox1";
this.wmStartStateTextBox1.Size = new System.Drawing.Size(163, 31);
this.wmStartStateTextBox1.TabIndex = 2;
this.wmStartStateTextBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmStartStateTextBox1_KeyPress);
//
// wmEndStateTextBox1
//
this.wmEndStateTextBox1.Enabled = false;
this.wmEndStateTextBox1.Location = new System.Drawing.Point(350, 31);
this.wmEndStateTextBox1.Name = "wmEndStateTextBox1";
this.wmEndStateTextBox1.Size = new System.Drawing.Size(163, 31);
this.wmEndStateTextBox1.TabIndex = 1;
this.wmEndStateTextBox1.TextChanged += new System.EventHandler(this.wmEndStateTextBox1_TextChanged);
this.wmEndStateTextBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmEndStateTextBox1_KeyPress);
//
// wmStateLabel1
//
this.wmStateLabel1.AutoSize = true;
this.wmStateLabel1.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel1.Name = "wmStateLabel1";
this.wmStateLabel1.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel1.TabIndex = 0;
this.wmStateLabel1.Text = "State:";
//
// 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(603, 46);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(98, 63);
this.okButton.TabIndex = 7;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// groupBox3
//
this.groupBox3.Controls.Add(this.exclamation3);
this.groupBox3.Controls.Add(this.wmStartStateTextBox3);
this.groupBox3.Controls.Add(this.wmEndStateTextBox3);
this.groupBox3.Controls.Add(this.wmStateLabel3);
this.groupBox3.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox3.ForeColor = System.Drawing.Color.Black;
this.groupBox3.Location = new System.Drawing.Point(25, 212);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(547, 81);
this.groupBox3.TabIndex = 3;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Water Meter 3";
//
// exclamation3
//
this.exclamation3.AutoSize = true;
this.exclamation3.Font = new System.Drawing.Font("Verdana", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.exclamation3.ForeColor = System.Drawing.Color.Red;
this.exclamation3.Location = new System.Drawing.Point(515, 27);
this.exclamation3.Name = "exclamation3";
this.exclamation3.Size = new System.Drawing.Size(30, 38);
this.exclamation3.TabIndex = 5;
this.exclamation3.Text = "!";
this.exclamation3.Visible = false;
//
// wmStartStateTextBox3
//
this.wmStartStateTextBox3.Enabled = false;
this.wmStartStateTextBox3.Location = new System.Drawing.Point(164, 31);
this.wmStartStateTextBox3.Name = "wmStartStateTextBox3";
this.wmStartStateTextBox3.Size = new System.Drawing.Size(163, 31);
this.wmStartStateTextBox3.TabIndex = 4;
this.wmStartStateTextBox3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmStartStateTextBox3_KeyPress);
//
// wmEndStateTextBox3
//
this.wmEndStateTextBox3.Enabled = false;
this.wmEndStateTextBox3.Location = new System.Drawing.Point(350, 31);
this.wmEndStateTextBox3.Name = "wmEndStateTextBox3";
this.wmEndStateTextBox3.Size = new System.Drawing.Size(163, 31);
this.wmEndStateTextBox3.TabIndex = 1;
this.wmEndStateTextBox3.TextChanged += new System.EventHandler(this.wmEndStateTextBox3_TextChanged);
this.wmEndStateTextBox3.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmEndStateTextBox3_KeyPress);
//
// wmStateLabel3
//
this.wmStateLabel3.AutoSize = true;
this.wmStateLabel3.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel3.Name = "wmStateLabel3";
this.wmStateLabel3.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel3.TabIndex = 0;
this.wmStateLabel3.Text = "State:";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.exclamation4);
this.groupBox4.Controls.Add(this.wmStartStateTextBox4);
this.groupBox4.Controls.Add(this.wmEndStateTextBox4);
this.groupBox4.Controls.Add(this.wmStateLabel4);
this.groupBox4.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox4.ForeColor = System.Drawing.Color.Black;
this.groupBox4.Location = new System.Drawing.Point(25, 302);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(547, 81);
this.groupBox4.TabIndex = 4;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Water Meter 4";
//
// exclamation4
//
this.exclamation4.AutoSize = true;
this.exclamation4.Font = new System.Drawing.Font("Verdana", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.exclamation4.ForeColor = System.Drawing.Color.Red;
this.exclamation4.Location = new System.Drawing.Point(515, 27);
this.exclamation4.Name = "exclamation4";
this.exclamation4.Size = new System.Drawing.Size(30, 38);
this.exclamation4.TabIndex = 5;
this.exclamation4.Text = "!";
this.exclamation4.Visible = false;
//
// wmStartStateTextBox4
//
this.wmStartStateTextBox4.Enabled = false;
this.wmStartStateTextBox4.Location = new System.Drawing.Point(164, 31);
this.wmStartStateTextBox4.Name = "wmStartStateTextBox4";
this.wmStartStateTextBox4.Size = new System.Drawing.Size(163, 31);
this.wmStartStateTextBox4.TabIndex = 4;
this.wmStartStateTextBox4.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmStartStateTextBox4_KeyPress);
//
// wmEndStateTextBox4
//
this.wmEndStateTextBox4.Enabled = false;
this.wmEndStateTextBox4.Location = new System.Drawing.Point(350, 31);
this.wmEndStateTextBox4.Name = "wmEndStateTextBox4";
this.wmEndStateTextBox4.Size = new System.Drawing.Size(163, 31);
this.wmEndStateTextBox4.TabIndex = 1;
this.wmEndStateTextBox4.TextChanged += new System.EventHandler(this.wmEndStateTextBox4_TextChanged);
this.wmEndStateTextBox4.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmEndStateTextBox4_KeyPress);
//
// wmStateLabel4
//
this.wmStateLabel4.AutoSize = true;
this.wmStateLabel4.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel4.Name = "wmStateLabel4";
this.wmStateLabel4.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel4.TabIndex = 0;
this.wmStateLabel4.Text = "State:";
//
// groupBox5
//
this.groupBox5.Controls.Add(this.exclamation5);
this.groupBox5.Controls.Add(this.wmStartStateTextBox5);
this.groupBox5.Controls.Add(this.wmEndStateTextBox5);
this.groupBox5.Controls.Add(this.wmStateLabel5);
this.groupBox5.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox5.ForeColor = System.Drawing.Color.Black;
this.groupBox5.Location = new System.Drawing.Point(25, 392);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(547, 81);
this.groupBox5.TabIndex = 5;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "Water Meter 5";
//
// exclamation5
//
this.exclamation5.AutoSize = true;
this.exclamation5.Font = new System.Drawing.Font("Verdana", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.exclamation5.ForeColor = System.Drawing.Color.Red;
this.exclamation5.Location = new System.Drawing.Point(515, 27);
this.exclamation5.Name = "exclamation5";
this.exclamation5.Size = new System.Drawing.Size(30, 38);
this.exclamation5.TabIndex = 5;
this.exclamation5.Text = "!";
this.exclamation5.Visible = false;
//
// wmStartStateTextBox5
//
this.wmStartStateTextBox5.Enabled = false;
this.wmStartStateTextBox5.Location = new System.Drawing.Point(164, 31);
this.wmStartStateTextBox5.Name = "wmStartStateTextBox5";
this.wmStartStateTextBox5.Size = new System.Drawing.Size(163, 31);
this.wmStartStateTextBox5.TabIndex = 4;
this.wmStartStateTextBox5.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmStartStateTextBox5_KeyPress);
//
// wmEndStateTextBox5
//
this.wmEndStateTextBox5.Enabled = false;
this.wmEndStateTextBox5.Location = new System.Drawing.Point(350, 31);
this.wmEndStateTextBox5.Name = "wmEndStateTextBox5";
this.wmEndStateTextBox5.Size = new System.Drawing.Size(163, 31);
this.wmEndStateTextBox5.TabIndex = 1;
this.wmEndStateTextBox5.TextChanged += new System.EventHandler(this.wmEndStateTextBox5_TextChanged);
this.wmEndStateTextBox5.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmEndStateTextBox5_KeyPress);
//
// wmStateLabel5
//
this.wmStateLabel5.AutoSize = true;
this.wmStateLabel5.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel5.Name = "wmStateLabel5";
this.wmStateLabel5.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel5.TabIndex = 0;
this.wmStateLabel5.Text = "State:";
//
// groupBox6
//
this.groupBox6.Controls.Add(this.exclamation6);
this.groupBox6.Controls.Add(this.wmStartStateTextBox6);
this.groupBox6.Controls.Add(this.wmEndStateTextBox6);
this.groupBox6.Controls.Add(this.wmStateLabel6);
this.groupBox6.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox6.ForeColor = System.Drawing.Color.Black;
this.groupBox6.Location = new System.Drawing.Point(25, 482);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(547, 81);
this.groupBox6.TabIndex = 6;
this.groupBox6.TabStop = false;
this.groupBox6.Text = "Water Meter 6";
//
// exclamation6
//
this.exclamation6.AutoSize = true;
this.exclamation6.Font = new System.Drawing.Font("Verdana", 24F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.exclamation6.ForeColor = System.Drawing.Color.Red;
this.exclamation6.Location = new System.Drawing.Point(515, 27);
this.exclamation6.Name = "exclamation6";
this.exclamation6.Size = new System.Drawing.Size(30, 38);
this.exclamation6.TabIndex = 5;
this.exclamation6.Text = "!";
this.exclamation6.Visible = false;
//
// wmStartStateTextBox6
//
this.wmStartStateTextBox6.Enabled = false;
this.wmStartStateTextBox6.Location = new System.Drawing.Point(164, 31);
this.wmStartStateTextBox6.Name = "wmStartStateTextBox6";
this.wmStartStateTextBox6.Size = new System.Drawing.Size(163, 31);
this.wmStartStateTextBox6.TabIndex = 4;
this.wmStartStateTextBox6.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmStartStateTextBox6_KeyPress);
//
// wmEndStateTextBox6
//
this.wmEndStateTextBox6.Enabled = false;
this.wmEndStateTextBox6.Location = new System.Drawing.Point(350, 31);
this.wmEndStateTextBox6.Name = "wmEndStateTextBox6";
this.wmEndStateTextBox6.Size = new System.Drawing.Size(163, 31);
this.wmEndStateTextBox6.TabIndex = 1;
this.wmEndStateTextBox6.TextChanged += new System.EventHandler(this.wmEndStateTextBox6_TextChanged);
this.wmEndStateTextBox6.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.wmEndStateTextBox6_KeyPress);
//
// wmStateLabel6
//
this.wmStateLabel6.AutoSize = true;
this.wmStateLabel6.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel6.Name = "wmStateLabel6";
this.wmStateLabel6.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel6.TabIndex = 0;
this.wmStateLabel6.Text = "State:";
//
// 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(245, 11);
this.startLabel.Name = "startLabel";
this.startLabel.Size = new System.Drawing.Size(56, 23);
this.startLabel.TabIndex = 8;
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(431, 11);
this.endLabel.Name = "endLabel";
this.endLabel.Size = new System.Drawing.Size(46, 23);
this.endLabel.TabIndex = 9;
this.endLabel.Text = "End";
//
// TestStartEndForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DarkGoldenrod;
this.ClientSize = new System.Drawing.Size(729, 586);
this.Controls.Add(this.endLabel);
this.Controls.Add(this.startLabel);
this.Controls.Add(this.groupBox6);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.okButton);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "TestStartEndForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "End States";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleEndForm_Load);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
@@ -68,34 +68,34 @@ namespace TBF.BenchControl.DataEntry.StandardCamera
if (WaterMetersCount < 5) groupBox5.Visible = false;
if (WaterMetersCount < 6) groupBox6.Visible = false;
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 1)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 1)
{
YearOfProduction[0] = Sequences.ProcessData.BatchRslts.WaterMeters[0].YearOfProduction;
YearOfProduction[0] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[0].YearOfProduction;
yearOfProduction1TextBox.Text = YearOfProduction[0].ToString();
}
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 2)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 2)
{
YearOfProduction[1] = Sequences.ProcessData.BatchRslts.WaterMeters[1].YearOfProduction;
YearOfProduction[1] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[1].YearOfProduction;
yearOfProduction2TextBox.Text = YearOfProduction[1].ToString();
}
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 3)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 3)
{
YearOfProduction[2] = Sequences.ProcessData.BatchRslts.WaterMeters[2].YearOfProduction;
YearOfProduction[2] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[2].YearOfProduction;
yearOfProduction3TextBox.Text = YearOfProduction[2].ToString();
}
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 4)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 4)
{
YearOfProduction[3] = Sequences.ProcessData.BatchRslts.WaterMeters[3].YearOfProduction;
YearOfProduction[3] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[3].YearOfProduction;
yearOfProduction4TextBox.Text = YearOfProduction[3].ToString();
}
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 5)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 5)
{
YearOfProduction[4] = Sequences.ProcessData.BatchRslts.WaterMeters[4].YearOfProduction;
YearOfProduction[4] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[4].YearOfProduction;
yearOfProduction5TextBox.Text = YearOfProduction[4].ToString();
}
if (Sequences.ProcessData.BatchRslts.WaterMeters.Length >= 6)
if (Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= 6)
{
YearOfProduction[5] = Sequences.ProcessData.BatchRslts.WaterMeters[5].YearOfProduction;
YearOfProduction[5] = Sequences.ProcessData.BatchRslts.Batch.WaterMeters[5].YearOfProduction;
yearOfProduction6TextBox.Text = YearOfProduction[5].ToString();
}
@@ -72,9 +72,6 @@ namespace TBF.BenchControl.DataEntry.StandardCamera
/// <summary>
/// Properties set by the Begin, End and WMStates form
/// </summary>
string purchaseOrder;
public string PurchaseOrder { get { return purchaseOrder; } }
bool[] disabled; /// This array is shared between forms
string[] wmCycleEndState;
@@ -98,7 +95,7 @@ namespace TBF.BenchControl.DataEntry.StandardCamera
bool resultSaved; /// Set in Run() when results are saved
Results.Entities.WaterMeter[] waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
public enum CurrentOp
{
@@ -137,7 +134,7 @@ namespace TBF.BenchControl.DataEntry.StandardCamera
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -146,7 +143,7 @@ namespace TBF.BenchControl.DataEntry.StandardCamera
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleEnd;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -285,18 +282,14 @@ namespace TBF.BenchControl.DataEntry.StandardCamera
CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
if (dlg != null)
{
if (!entryFormCfg.HideOrder)
{
purchaseOrder = dlg.PurchaseOrder;
}
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Length); i++)
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
{
if (waterMeters[i] != null)
{
waterMeters[i].SerialNr = dlg.SNText[i];
disabled[i] = waterMeters[i].Disabled = dlg.Disabled[i];
}
waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i];
waterMeters[i].SerialNr = dlg.SNText[i];
if (!entryFormCfg.HideOrder && dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder;
}
}
}
}
@@ -305,7 +298,7 @@ namespace TBF.BenchControl.DataEntry.StandardCamera
if (modelessDlg is CycleEndForm)
{
CycleEndForm dlg = (modelessDlg as CycleEndForm);
int count = waterMeters.Length;
int count = waterMeters.Count;
if ((dlg != null) && (count > dlg.WaterMetersCount)) count = dlg.WaterMetersCount;
for (int i = 0; i < count; i++)
@@ -323,7 +316,7 @@ namespace TBF.BenchControl.DataEntry.StandardCamera
Sequences.ProcessData.BatchRslts.Batch.ProtocolTitle = dlg.ProtocolTitle;
for (int i = 0; i < Math.Min(waterMeters.Length, dlg.WaterMetersCount); i++)
for (int i = 0; i < Math.Min(waterMeters.Count, dlg.WaterMetersCount); i++)
{
if (waterMeters[i] != null)
{
@@ -389,20 +382,5 @@ namespace TBF.BenchControl.DataEntry.StandardCamera
}
currentOp = CurrentOp.None;
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="batchResults">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults batchResults)
{
foreach (var wm in batchResults.WaterMeters)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
@@ -1,216 +0,0 @@
///
/// Copyright (c) 2013-2017 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using log4net;
using Config.Entities;
using TBF.BenchControl;
using TBF.BenchControl.GenericDevices;
namespace TBF.BenchControl.DataEntry.WMStates
{
public class EntryForm : ComponentBase, IOperation, IDataEntry, IHasWMStatesForm
{
private static readonly ILog log = LogManager.GetLogger(typeof(EntryForm));
public override string ToString() { return string.Format("DataEntry.WMStates({0})", Cfg.ToString(1)); }
public bool UsesCameras() { return false; }
readonly EntryFormCfg entryFormCfg;
IRegisterReader[] regReaders;
/// <summary>
/// Test start water meter states set by forms
/// </summary>
double[] wmStartState;
public double WMStartState(int wmNr)
{
if (wmStartState == null || wmStartState.Length <= wmNr) return 0;
return wmStartState[wmNr];
}
/// <summary>
/// Test end water meter states set by forms
/// </summary>
double[] wmEndState;
public double WMEndState(int wmNr)
{
if (wmEndState == null || wmEndState.Length <= wmNr) return 0;
return wmEndState[wmNr];
}
/// <summary> Not supported </summary>
public void UpdateTestResults(Results.BatchResults results)
{
}
System.Windows.Forms.Form modelessDlg;
public bool Completed { get { return (modelessDlg is IHasCompleted) ? (modelessDlg as IHasCompleted).Completed : true; } }
bool resultSaved;
public enum CurrentOp
{
None,
EnterWMSNsAndStates,
EnterTestStartStates,
EnterTestEndStates,
}
CurrentOp currentOp;
public EntryForm()
{
}
public EntryForm(Generic.IComponentCfg cfg)
: base(cfg)
{
entryFormCfg = cfg as EntryFormCfg;
wmStartState = new double[Config.Data.WMsCount];
currentOp = CurrentOp.None;
log.Debug(this.ToString());
}
/// <returns>Reference to the operation</returns>
public IOperation ShowCycleBeginFormOp(IList<IWaterMeter> waterMeters)
{
return null;
}
/// <returns>Reference to the operation</returns>
public IOperation ShowCycleEndFormOp(IList<IWaterMeter> waterMeters)
{
return null;
}
/// <returns>Reference to the operation</returns>
public IOperation ShowWMSNsAndStatesFormOp()
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.EnterWMSNsAndStates;
return this;
}
/// <returns>Reference to the operation</returns>
public IOperation ShowTestStartFormOp(IRegisterReader[] regReaders)
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.EnterTestStartStates;
this.regReaders = regReaders;
return this;
}
/// <returns>Reference to the operation</returns>
public IOperation ShowTestEndFormOp(IRegisterReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.EnterTestEndStates;
return this;
}
delegate void EntryFormDlgt(EntryForm myRef);
///
void OpenWMSNsAndStatesDlg(EntryForm myRef)
{
myRef.modelessDlg = new WMSNsAndStatesForm(Config.Data.WMsCount);
modelessDlg.Show();
}
///
void OpenWMStatesDlg(EntryForm myRef)
{
myRef.modelessDlg = new WMStatesForm(Config.Data.WMsCount);
modelessDlg.Show();
}
/// <summary>Start this operation</summary>
public void Start()
{
resultSaved = false;
switch (currentOp)
{
case CurrentOp.EnterWMSNsAndStates:
Program.MainWnd.Invoke(new EntryFormDlgt(OpenWMSNsAndStatesDlg), this);
break;
case CurrentOp.EnterTestStartStates:
Program.MainWnd.Invoke(new EntryFormDlgt(OpenWMStatesDlg), this);
break;
case CurrentOp.EnterTestEndStates:
Program.MainWnd.Invoke(new EntryFormDlgt(OpenWMStatesDlg), this);
break;
}
}
/// <summary>Run this operation</summary>
/// <returns>Event.ResultsPrinted</returns>
public Event Run()
{
if ((modelessDlg is IHasCompleted) && !(modelessDlg as IHasCompleted).Completed)
{
return Event.ModelessFormIsOpen;
}
if (!resultSaved) /// This is to save the result only once
{
if (modelessDlg is WMSNsAndStatesForm)
{
WMSNsAndStatesForm dlg = (modelessDlg as WMSNsAndStatesForm);
if (dlg.WaterMetersCount > 0) wmStartState[0] = dlg.WMState[0];
if (dlg.WaterMetersCount > 1) wmStartState[1] = dlg.WMState[1];
if (dlg.WaterMetersCount > 2) wmStartState[2] = dlg.WMState[2];
if (dlg.WaterMetersCount > 3) wmStartState[3] = dlg.WMState[3];
if (dlg.WaterMetersCount > 4) wmStartState[4] = dlg.WMState[4];
if (dlg.WaterMetersCount > 5) wmStartState[5] = dlg.WMState[5];
//if (dlg.WaterMetersCount > 0) serialNr[0] = dlg.SNText[0];
//if (dlg.WaterMetersCount > 1) serialNr[1] = dlg.SNText[1];
//if (dlg.WaterMetersCount > 2) serialNr[2] = dlg.SNText[2];
//if (dlg.WaterMetersCount > 3) serialNr[3] = dlg.SNText[3];
//if (dlg.WaterMetersCount > 4) serialNr[4] = dlg.SNText[4];
//if (dlg.WaterMetersCount > 5) serialNr[5] = dlg.SNText[5];
}
else if (modelessDlg is WMStatesForm && currentOp == CurrentOp.EnterTestStartStates)
{
WMStatesForm dlg = (modelessDlg as WMStatesForm);
if (dlg.WaterMetersCount > 0) wmStartState[0] = dlg.WMState[0];
if (dlg.WaterMetersCount > 1) wmStartState[1] = dlg.WMState[1];
if (dlg.WaterMetersCount > 2) wmStartState[2] = dlg.WMState[2];
if (dlg.WaterMetersCount > 3) wmStartState[3] = dlg.WMState[3];
if (dlg.WaterMetersCount > 4) wmStartState[4] = dlg.WMState[4];
if (dlg.WaterMetersCount > 5) wmStartState[5] = dlg.WMState[5];
}
else if (modelessDlg is WMStatesForm && currentOp == CurrentOp.EnterTestEndStates)
{
WMStatesForm dlg = (modelessDlg as WMStatesForm);
if (dlg.WaterMetersCount > 0) wmEndState[0] = dlg.WMState[0];
if (dlg.WaterMetersCount > 1) wmEndState[1] = dlg.WMState[1];
if (dlg.WaterMetersCount > 2) wmEndState[2] = dlg.WMState[2];
if (dlg.WaterMetersCount > 3) wmEndState[3] = dlg.WMState[3];
if (dlg.WaterMetersCount > 4) wmEndState[4] = dlg.WMState[4];
if (dlg.WaterMetersCount > 5) wmEndState[5] = dlg.WMState[5];
}
resultSaved = true;
modelessDlg = null;
}
return Event.ModelessFormClosed; /// Form closed
}
/// <summary>Stop this operation</summary>
public void Stop()
{
if (modelessDlg is IHasCompleted)
{
UiBridge.Bridge.OnCloseModelessForm(this, null);
modelessDlg = null;
}
currentOp = CurrentOp.None;
}
}
}
@@ -1,37 +0,0 @@
///
/// Copyright (c) 2013-2016 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.DataEntry.WMStates
{
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
public override XmlSerializer GetSerializer() { return Serializer; }
public IComponentCfgCtrl GetControl() { return new EntryFormCfgCtrl(); }
/// Private parameterless constructor invoked by all other (public) constructors
EntryFormCfg()
{
Name = "Generic-WM-States-Form";
ParentName = string.Empty;
}
public EntryFormCfg(IComponentFactory factory)
: this()
{
this.Factory = factory;
}
public string ToString(int i)
{
return string.Format("Name={0}", Name);
}
}
}
@@ -1,69 +0,0 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using System.Windows.Forms;
using Config.Entities;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.DataEntry.WMStates
{
public partial class EntryFormCfgCtrl : UserControl, IComponentCfgCtrl
{
public bool ShowMore { get { return false; } }
EntryFormCfg config;
public IComponentCfg Config
{
get { return config as IComponentCfg; }
set
{
config = value as EntryFormCfg;
Redraw();
}
}
public EntryFormCfgCtrl()
{
InitializeComponent();
}
private void EntryFormCfgCtrl_Load(object sender, EventArgs e)
{
Redraw();
}
public void Closing()
{
}
void Redraw()
{
if (config == null) return; /// Control was not loaded, settings were not changed
classNameLabel.Text = config.Factory.ClassName;
nameTextBox.Text = config.Name;
}
public void Unlock()
{
nameTextBox.Enabled = true;
}
public CfgUpdateFlags VerifyCfg(ref string message)
{
CfgUpdateFlags flags = CfgUpdateFlags.None;
return flags;
}
public CfgUpdateFlags UpdateCfg()
{
CfgUpdateFlags flags = CfgUpdateFlags.RestartRqrd;
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
config.Name = nameTextBox.Text;
return flags;
}
}
}
@@ -1,86 +0,0 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
namespace TBF.BenchControl.DataEntry.WMStates
{
partial class EntryFormCfgCtrl
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.nameTextBox = new System.Windows.Forms.TextBox();
this.nameLabel = new System.Windows.Forms.Label();
this.classNameLabel = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// nameTextBox
//
this.nameTextBox.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(137, 57);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(130, 20);
this.nameTextBox.TabIndex = 5;
//
// nameLabel
//
this.nameLabel.AutoSize = true;
this.nameLabel.Location = new System.Drawing.Point(27, 60);
this.nameLabel.Name = "nameLabel";
this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.nameLabel.TabIndex = 4;
this.nameLabel.Text = "Name";
//
// classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(134, 33);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(83, 13);
this.classNameLabel.TabIndex = 3;
this.classNameLabel.Text = "ComonentName";
//
// EntryFormCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.nameLabel);
this.Controls.Add(this.classNameLabel);
this.Name = "EntryFormCfgCtrl";
this.Size = new System.Drawing.Size(300, 200);
this.Load += new System.EventHandler(this.EntryFormCfgCtrl_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox nameTextBox;
private System.Windows.Forms.Label nameLabel;
private System.Windows.Forms.Label classNameLabel;
}
}
@@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -1,26 +0,0 @@
///
/// Copyright (c) 2013-2016 Sensus Metering Systems
///
using System.Collections.Generic;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.DataEntry.WMStates
{
public class EntryFormFactory : IComponentFactory
{
public string ClassName { get { return "Generic-WM-States-Form"; } }
public void ResetStaticProperties() { EntryForm.ResetStaticProperties(); }
public IComponent DummyComponent() { return new EntryForm(); }
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new EntryForm(cfg); }
public IComponentCfg DefaultConfig() { return new EntryFormCfg(this); }
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
}
}
}
@@ -1,135 +0,0 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using System.Windows.Forms;
using log4net;
using TBF.Resources;
namespace TBF.BenchControl.DataEntry.WMStates
{
public partial class WMSNsAndStatesForm : Form, GenericDevices.IHasCompleted
{
private static readonly ILog log = LogManager.GetLogger(typeof(WMSNsAndStatesForm));
/// <summary> Number of text boxes for serial numbers </summary>
public readonly int WaterMetersCount;
/// To be retrieved after the form is closed
public string[] SNText;
// To be retrieved after the form closes
public float[] WMState;
/// Set to 'true' when the form closes
public bool Completed { get { return completed; } }
bool completed;
/// <summary>
/// Constructor
/// </summary>
/// <param name="waterMetersCount">Number of text boxes for serial numbers</param>
public WMSNsAndStatesForm(int waterMetersCount)
{
InitializeComponent();
ControlBox = false;
this.WaterMetersCount = waterMetersCount;
SNText = new string[WaterMetersCount];
WMState = new float[WaterMetersCount];
completed = false;
StartForceCloseHandler();
//Height = 55 + WaterMetersCount * 105;
}
/// <summary> Parameterless constructor for 3 watermeters </summary>
public WMSNsAndStatesForm()
: this(Config.Data.WMsCount)
{
}
void Localize()
{
Text = Strings.Water_Meter_SNs_States;
groupBox1.Text = Strings.Water_Meter + " 1";
groupBox2.Text = Strings.Water_Meter + " 2";
groupBox3.Text = Strings.Water_Meter + " 3";
groupBox4.Text = Strings.Water_Meter + " 4";
groupBox5.Text = Strings.Water_Meter + " 5";
groupBox6.Text = Strings.Water_Meter + " 6";
snLabel1.Text = Strings.SerialNr;
snLabel2.Text = Strings.SerialNr;
snLabel3.Text = Strings.SerialNr;
snLabel4.Text = Strings.SerialNr;
snLabel5.Text = Strings.SerialNr;
snLabel6.Text = Strings.SerialNr;
wmStateLabel1.Text = Strings.WMState;
wmStateLabel2.Text = Strings.WMState;
wmStateLabel3.Text = Strings.WMState;
wmStateLabel4.Text = Strings.WMState;
wmStateLabel5.Text = Strings.WMState;
wmStateLabel6.Text = Strings.WMState;
okButton.Text = Strings.OkBtnText;
}
private void CycleBeginningForm_Load(object sender, EventArgs e)
{
// TODO: localize strings
if (WaterMetersCount < 1) groupBox1.Visible = false;
if (WaterMetersCount < 2) groupBox2.Visible = false;
if (WaterMetersCount < 3) groupBox3.Visible = false;
if (WaterMetersCount < 4) groupBox4.Visible = false;
if (WaterMetersCount < 5) groupBox5.Visible = false;
if (WaterMetersCount < 6) groupBox6.Visible = false;
}
private void okButton_Click(object sender, EventArgs e)
{
try
{
if (WaterMetersCount >= 1) SNText[0] = snTextBox1.Text;
if (WaterMetersCount >= 2) SNText[1] = snTextBox2.Text;
if (WaterMetersCount >= 3) SNText[2] = snTextBox3.Text;
if (WaterMetersCount >= 4) SNText[3] = snTextBox4.Text;
if (WaterMetersCount >= 5) SNText[4] = snTextBox5.Text;
if (WaterMetersCount >= 6) SNText[5] = snTextBox6.Text;
if (WaterMetersCount >= 1) WMState[0] = Utils.ParseUFloat(wmStateTextBox1.Text);
if (WaterMetersCount >= 2) WMState[1] = Utils.ParseUFloat(wmStateTextBox2.Text);
if (WaterMetersCount >= 3) WMState[2] = Utils.ParseUFloat(wmStateTextBox3.Text);
if (WaterMetersCount >= 4) WMState[3] = Utils.ParseUFloat(wmStateTextBox4.Text);
if (WaterMetersCount >= 5) WMState[4] = Utils.ParseUFloat(wmStateTextBox5.Text);
if (WaterMetersCount >= 6) WMState[5] = Utils.ParseUFloat(wmStateTextBox6.Text);
}
catch
{
return;
}
completed = true;
Close();
}
#region Forced close handling
public void StartForceCloseHandler()
{
UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
{
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnForceClose), sender, args); }
else OnForceClose(sender, args);
};
}
void OnForceClose(object sender, EventArgs args)
{
DialogResult = DialogResult.Cancel;
Close();
}
#endregion
}
}
@@ -1,335 +0,0 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
namespace TBF.BenchControl.DataEntry.WMStates
{
partial class WMSNsAndStatesForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WMSNsAndStatesForm));
this.okButton = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox1 = new System.Windows.Forms.TextBox();
this.wmStateLabel1 = new System.Windows.Forms.Label();
this.snTextBox1 = new System.Windows.Forms.TextBox();
this.snLabel1 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox2 = new System.Windows.Forms.TextBox();
this.wmStateLabel2 = new System.Windows.Forms.Label();
this.snTextBox2 = new System.Windows.Forms.TextBox();
this.snLabel2 = new System.Windows.Forms.Label();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox3 = new System.Windows.Forms.TextBox();
this.wmStateLabel3 = new System.Windows.Forms.Label();
this.snTextBox3 = new System.Windows.Forms.TextBox();
this.snLabel3 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox4 = new System.Windows.Forms.TextBox();
this.wmStateLabel4 = new System.Windows.Forms.Label();
this.snTextBox4 = new System.Windows.Forms.TextBox();
this.snLabel4 = new System.Windows.Forms.Label();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox5 = new System.Windows.Forms.TextBox();
this.wmStateLabel5 = new System.Windows.Forms.Label();
this.snTextBox5 = new System.Windows.Forms.TextBox();
this.snLabel5 = new System.Windows.Forms.Label();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox6 = new System.Windows.Forms.TextBox();
this.wmStateLabel6 = new System.Windows.Forms.Label();
this.snTextBox6 = new System.Windows.Forms.TextBox();
this.snLabel6 = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
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);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.wmStateTextBox1);
this.groupBox1.Controls.Add(this.wmStateLabel1);
this.groupBox1.Controls.Add(this.snTextBox1);
this.groupBox1.Controls.Add(this.snLabel1);
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.ForeColor = System.Drawing.Color.Black;
this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false;
//
// wmStateTextBox1
//
resources.ApplyResources(this.wmStateTextBox1, "wmStateTextBox1");
this.wmStateTextBox1.Name = "wmStateTextBox1";
//
// wmStateLabel1
//
resources.ApplyResources(this.wmStateLabel1, "wmStateLabel1");
this.wmStateLabel1.Name = "wmStateLabel1";
//
// snTextBox1
//
resources.ApplyResources(this.snTextBox1, "snTextBox1");
this.snTextBox1.Name = "snTextBox1";
//
// snLabel1
//
resources.ApplyResources(this.snLabel1, "snLabel1");
this.snLabel1.Name = "snLabel1";
//
// groupBox2
//
this.groupBox2.Controls.Add(this.wmStateTextBox2);
this.groupBox2.Controls.Add(this.wmStateLabel2);
this.groupBox2.Controls.Add(this.snTextBox2);
this.groupBox2.Controls.Add(this.snLabel2);
resources.ApplyResources(this.groupBox2, "groupBox2");
this.groupBox2.ForeColor = System.Drawing.Color.Black;
this.groupBox2.Name = "groupBox2";
this.groupBox2.TabStop = false;
//
// wmStateTextBox2
//
resources.ApplyResources(this.wmStateTextBox2, "wmStateTextBox2");
this.wmStateTextBox2.Name = "wmStateTextBox2";
//
// wmStateLabel2
//
resources.ApplyResources(this.wmStateLabel2, "wmStateLabel2");
this.wmStateLabel2.Name = "wmStateLabel2";
//
// snTextBox2
//
resources.ApplyResources(this.snTextBox2, "snTextBox2");
this.snTextBox2.Name = "snTextBox2";
//
// snLabel2
//
resources.ApplyResources(this.snLabel2, "snLabel2");
this.snLabel2.Name = "snLabel2";
//
// groupBox3
//
this.groupBox3.Controls.Add(this.wmStateTextBox3);
this.groupBox3.Controls.Add(this.wmStateLabel3);
this.groupBox3.Controls.Add(this.snTextBox3);
this.groupBox3.Controls.Add(this.snLabel3);
resources.ApplyResources(this.groupBox3, "groupBox3");
this.groupBox3.ForeColor = System.Drawing.Color.Black;
this.groupBox3.Name = "groupBox3";
this.groupBox3.TabStop = false;
//
// wmStateTextBox3
//
resources.ApplyResources(this.wmStateTextBox3, "wmStateTextBox3");
this.wmStateTextBox3.Name = "wmStateTextBox3";
//
// wmStateLabel3
//
resources.ApplyResources(this.wmStateLabel3, "wmStateLabel3");
this.wmStateLabel3.Name = "wmStateLabel3";
//
// snTextBox3
//
resources.ApplyResources(this.snTextBox3, "snTextBox3");
this.snTextBox3.Name = "snTextBox3";
//
// snLabel3
//
resources.ApplyResources(this.snLabel3, "snLabel3");
this.snLabel3.Name = "snLabel3";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.wmStateTextBox4);
this.groupBox4.Controls.Add(this.wmStateLabel4);
this.groupBox4.Controls.Add(this.snTextBox4);
this.groupBox4.Controls.Add(this.snLabel4);
resources.ApplyResources(this.groupBox4, "groupBox4");
this.groupBox4.ForeColor = System.Drawing.Color.Black;
this.groupBox4.Name = "groupBox4";
this.groupBox4.TabStop = false;
//
// wmStateTextBox4
//
resources.ApplyResources(this.wmStateTextBox4, "wmStateTextBox4");
this.wmStateTextBox4.Name = "wmStateTextBox4";
//
// wmStateLabel4
//
resources.ApplyResources(this.wmStateLabel4, "wmStateLabel4");
this.wmStateLabel4.Name = "wmStateLabel4";
//
// snTextBox4
//
resources.ApplyResources(this.snTextBox4, "snTextBox4");
this.snTextBox4.Name = "snTextBox4";
//
// snLabel4
//
resources.ApplyResources(this.snLabel4, "snLabel4");
this.snLabel4.Name = "snLabel4";
//
// groupBox5
//
this.groupBox5.Controls.Add(this.wmStateTextBox5);
this.groupBox5.Controls.Add(this.wmStateLabel5);
this.groupBox5.Controls.Add(this.snTextBox5);
this.groupBox5.Controls.Add(this.snLabel5);
resources.ApplyResources(this.groupBox5, "groupBox5");
this.groupBox5.ForeColor = System.Drawing.Color.Black;
this.groupBox5.Name = "groupBox5";
this.groupBox5.TabStop = false;
//
// wmStateTextBox5
//
resources.ApplyResources(this.wmStateTextBox5, "wmStateTextBox5");
this.wmStateTextBox5.Name = "wmStateTextBox5";
//
// wmStateLabel5
//
resources.ApplyResources(this.wmStateLabel5, "wmStateLabel5");
this.wmStateLabel5.Name = "wmStateLabel5";
//
// snTextBox5
//
resources.ApplyResources(this.snTextBox5, "snTextBox5");
this.snTextBox5.Name = "snTextBox5";
//
// snLabel5
//
resources.ApplyResources(this.snLabel5, "snLabel5");
this.snLabel5.Name = "snLabel5";
//
// groupBox6
//
this.groupBox6.Controls.Add(this.wmStateTextBox6);
this.groupBox6.Controls.Add(this.wmStateLabel6);
this.groupBox6.Controls.Add(this.snTextBox6);
this.groupBox6.Controls.Add(this.snLabel6);
resources.ApplyResources(this.groupBox6, "groupBox6");
this.groupBox6.ForeColor = System.Drawing.Color.Black;
this.groupBox6.Name = "groupBox6";
this.groupBox6.TabStop = false;
//
// wmStateTextBox6
//
resources.ApplyResources(this.wmStateTextBox6, "wmStateTextBox6");
this.wmStateTextBox6.Name = "wmStateTextBox6";
//
// wmStateLabel6
//
resources.ApplyResources(this.wmStateLabel6, "wmStateLabel6");
this.wmStateLabel6.Name = "wmStateLabel6";
//
// snTextBox6
//
resources.ApplyResources(this.snTextBox6, "snTextBox6");
this.snTextBox6.Name = "snTextBox6";
//
// snLabel6
//
resources.ApplyResources(this.snLabel6, "snLabel6");
this.snLabel6.Name = "snLabel6";
//
// WMSNsAndStatesForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DarkGoldenrod;
this.Controls.Add(this.groupBox6);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.okButton);
this.ForeColor = System.Drawing.Color.Black;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "WMSNsAndStatesForm";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleBeginningForm_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label snLabel1;
private System.Windows.Forms.TextBox snTextBox1;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.TextBox snTextBox2;
private System.Windows.Forms.Label snLabel2;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.TextBox snTextBox3;
private System.Windows.Forms.Label snLabel3;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.TextBox snTextBox4;
private System.Windows.Forms.Label snLabel4;
private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.TextBox snTextBox5;
private System.Windows.Forms.Label snLabel5;
private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.TextBox snTextBox6;
private System.Windows.Forms.Label snLabel6;
private System.Windows.Forms.TextBox wmStateTextBox1;
private System.Windows.Forms.Label wmStateLabel1;
private System.Windows.Forms.TextBox wmStateTextBox2;
private System.Windows.Forms.Label wmStateLabel2;
private System.Windows.Forms.TextBox wmStateTextBox3;
private System.Windows.Forms.Label wmStateLabel3;
private System.Windows.Forms.TextBox wmStateTextBox4;
private System.Windows.Forms.Label wmStateLabel4;
private System.Windows.Forms.TextBox wmStateTextBox5;
private System.Windows.Forms.Label wmStateLabel5;
private System.Windows.Forms.TextBox wmStateTextBox6;
private System.Windows.Forms.Label wmStateLabel6;
}
}
@@ -1,180 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="okButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="wmStateLabel1.Text" xml:space="preserve">
<value>Stan</value>
</data>
<data name="snLabel1.Text" xml:space="preserve">
<value>Nr seryjny</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>Wodomierz 1</value>
</data>
<data name="wmStateLabel2.Text" xml:space="preserve">
<value>Stan</value>
</data>
<data name="snLabel2.Text" xml:space="preserve">
<value>Nr seryjny</value>
</data>
<data name="groupBox2.Text" xml:space="preserve">
<value>Wodomierz 2</value>
</data>
<data name="wmStateLabel3.Text" xml:space="preserve">
<value>Stan</value>
</data>
<data name="snLabel3.Text" xml:space="preserve">
<value>Nr seryjny</value>
</data>
<data name="groupBox3.Text" xml:space="preserve">
<value>Wodomierz 3</value>
</data>
<data name="wmStateLabel4.Text" xml:space="preserve">
<value>Stan</value>
</data>
<data name="snLabel4.Text" xml:space="preserve">
<value>Nr seryjny</value>
</data>
<data name="groupBox4.Text" xml:space="preserve">
<value>Wodomierz 4</value>
</data>
<data name="wmStateLabel5.Text" xml:space="preserve">
<value>Stan</value>
</data>
<data name="snLabel5.Text" xml:space="preserve">
<value>Nr seryjny</value>
</data>
<data name="groupBox5.Text" xml:space="preserve">
<value>Wodomierz 5</value>
</data>
<data name="wmStateLabel6.Text" xml:space="preserve">
<value>Stan</value>
</data>
<data name="snLabel6.Text" xml:space="preserve">
<value>Nr seryjny</value>
</data>
<data name="groupBox6.Text" xml:space="preserve">
<value>Wodomierz 6</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Nr seryjny i stan</value>
</data>
</root>
@@ -1,924 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="okButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
<value>640, 27</value>
</data>
<data name="okButton.Size" type="System.Drawing.Size, System.Drawing">
<value>98, 63</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="okButton.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="okButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="&gt;&gt;okButton.Name" xml:space="preserve">
<value>okButton</value>
</data>
<data name="&gt;&gt;okButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;okButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;okButton.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="wmStateTextBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
</data>
<data name="wmStateTextBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="wmStateTextBox1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox1.Name" xml:space="preserve">
<value>wmStateTextBox1</value>
</data>
<data name="&gt;&gt;wmStateTextBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;wmStateTextBox1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="wmStateLabel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="wmStateLabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>302, 40</value>
</data>
<data name="wmStateLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 23</value>
</data>
<data name="wmStateLabel1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="wmStateLabel1.Text" xml:space="preserve">
<value>State:</value>
</data>
<data name="&gt;&gt;wmStateLabel1.Name" xml:space="preserve">
<value>wmStateLabel1</value>
</data>
<data name="&gt;&gt;wmStateLabel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;wmStateLabel1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="snTextBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 37</value>
</data>
<data name="snTextBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="snTextBox1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox1.Name" xml:space="preserve">
<value>snTextBox1</value>
</data>
<data name="&gt;&gt;snTextBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;snTextBox1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="snLabel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="snLabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 40</value>
</data>
<data name="snLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 23</value>
</data>
<data name="snLabel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="snLabel1.Text" xml:space="preserve">
<value>S/N:</value>
</data>
<data name="&gt;&gt;snLabel1.Name" xml:space="preserve">
<value>snLabel1</value>
</data>
<data name="&gt;&gt;snLabel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;snLabel1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox1.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 18</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>Water Meter 1</value>
</data>
<data name="&gt;&gt;groupBox1.Name" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;groupBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="wmStateTextBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
</data>
<data name="wmStateTextBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="wmStateTextBox2.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox2.Name" xml:space="preserve">
<value>wmStateTextBox2</value>
</data>
<data name="&gt;&gt;wmStateTextBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;wmStateTextBox2.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="wmStateLabel2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="wmStateLabel2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="wmStateLabel2.Location" type="System.Drawing.Point, System.Drawing">
<value>302, 40</value>
</data>
<data name="wmStateLabel2.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 23</value>
</data>
<data name="wmStateLabel2.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="wmStateLabel2.Text" xml:space="preserve">
<value>State:</value>
</data>
<data name="&gt;&gt;wmStateLabel2.Name" xml:space="preserve">
<value>wmStateLabel2</value>
</data>
<data name="&gt;&gt;wmStateLabel2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;wmStateLabel2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="snTextBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 37</value>
</data>
<data name="snTextBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="snTextBox2.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox2.Name" xml:space="preserve">
<value>snTextBox2</value>
</data>
<data name="&gt;&gt;snTextBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;snTextBox2.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="snLabel2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="snLabel2.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 40</value>
</data>
<data name="snLabel2.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 23</value>
</data>
<data name="snLabel2.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="snLabel2.Text" xml:space="preserve">
<value>S/N:</value>
</data>
<data name="&gt;&gt;snLabel2.Name" xml:space="preserve">
<value>snLabel2</value>
</data>
<data name="&gt;&gt;snLabel2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;snLabel2.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox2.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 123</value>
</data>
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="groupBox2.Text" xml:space="preserve">
<value>Water Meter 2</value>
</data>
<data name="&gt;&gt;groupBox2.Name" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;groupBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox2.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="wmStateTextBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
</data>
<data name="wmStateTextBox3.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="wmStateTextBox3.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox3.Name" xml:space="preserve">
<value>wmStateTextBox3</value>
</data>
<data name="&gt;&gt;wmStateTextBox3.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox3.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;wmStateTextBox3.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="wmStateLabel3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="wmStateLabel3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="wmStateLabel3.Location" type="System.Drawing.Point, System.Drawing">
<value>302, 40</value>
</data>
<data name="wmStateLabel3.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 23</value>
</data>
<data name="wmStateLabel3.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="wmStateLabel3.Text" xml:space="preserve">
<value>State:</value>
</data>
<data name="&gt;&gt;wmStateLabel3.Name" xml:space="preserve">
<value>wmStateLabel3</value>
</data>
<data name="&gt;&gt;wmStateLabel3.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel3.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;wmStateLabel3.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="snTextBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 37</value>
</data>
<data name="snTextBox3.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="snTextBox3.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox3.Name" xml:space="preserve">
<value>snTextBox3</value>
</data>
<data name="&gt;&gt;snTextBox3.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox3.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;snTextBox3.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="snLabel3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="snLabel3.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 40</value>
</data>
<data name="snLabel3.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 23</value>
</data>
<data name="snLabel3.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="snLabel3.Text" xml:space="preserve">
<value>S/N:</value>
</data>
<data name="&gt;&gt;snLabel3.Name" xml:space="preserve">
<value>snLabel3</value>
</data>
<data name="&gt;&gt;snLabel3.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel3.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;snLabel3.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox3.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 228</value>
</data>
<data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox3.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="groupBox3.Text" xml:space="preserve">
<value>Water Meter 3</value>
</data>
<data name="&gt;&gt;groupBox3.Name" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;groupBox3.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox3.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="wmStateTextBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
</data>
<data name="wmStateTextBox4.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="wmStateTextBox4.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox4.Name" xml:space="preserve">
<value>wmStateTextBox4</value>
</data>
<data name="&gt;&gt;wmStateTextBox4.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox4.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;wmStateTextBox4.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="wmStateLabel4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="wmStateLabel4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="wmStateLabel4.Location" type="System.Drawing.Point, System.Drawing">
<value>302, 40</value>
</data>
<data name="wmStateLabel4.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 23</value>
</data>
<data name="wmStateLabel4.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="wmStateLabel4.Text" xml:space="preserve">
<value>State:</value>
</data>
<data name="&gt;&gt;wmStateLabel4.Name" xml:space="preserve">
<value>wmStateLabel4</value>
</data>
<data name="&gt;&gt;wmStateLabel4.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel4.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;wmStateLabel4.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="snTextBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 37</value>
</data>
<data name="snTextBox4.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="snTextBox4.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox4.Name" xml:space="preserve">
<value>snTextBox4</value>
</data>
<data name="&gt;&gt;snTextBox4.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox4.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;snTextBox4.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="snLabel4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="snLabel4.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 40</value>
</data>
<data name="snLabel4.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 23</value>
</data>
<data name="snLabel4.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="snLabel4.Text" xml:space="preserve">
<value>S/N:</value>
</data>
<data name="&gt;&gt;snLabel4.Name" xml:space="preserve">
<value>snLabel4</value>
</data>
<data name="&gt;&gt;snLabel4.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel4.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;snLabel4.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox4.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 333</value>
</data>
<data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox4.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="groupBox4.Text" xml:space="preserve">
<value>Water Meter 4</value>
</data>
<data name="&gt;&gt;groupBox4.Name" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;groupBox4.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox4.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox4.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="wmStateTextBox5.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 32</value>
</data>
<data name="wmStateTextBox5.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="wmStateTextBox5.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox5.Name" xml:space="preserve">
<value>wmStateTextBox5</value>
</data>
<data name="&gt;&gt;wmStateTextBox5.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox5.Parent" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;wmStateTextBox5.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="wmStateLabel5.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="wmStateLabel5.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="wmStateLabel5.Location" type="System.Drawing.Point, System.Drawing">
<value>302, 35</value>
</data>
<data name="wmStateLabel5.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 23</value>
</data>
<data name="wmStateLabel5.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="wmStateLabel5.Text" xml:space="preserve">
<value>State:</value>
</data>
<data name="&gt;&gt;wmStateLabel5.Name" xml:space="preserve">
<value>wmStateLabel5</value>
</data>
<data name="&gt;&gt;wmStateLabel5.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel5.Parent" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;wmStateLabel5.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="snTextBox5.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 37</value>
</data>
<data name="snTextBox5.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="snTextBox5.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox5.Name" xml:space="preserve">
<value>snTextBox5</value>
</data>
<data name="&gt;&gt;snTextBox5.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox5.Parent" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;snTextBox5.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="snLabel5.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="snLabel5.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 40</value>
</data>
<data name="snLabel5.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 23</value>
</data>
<data name="snLabel5.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="snLabel5.Text" xml:space="preserve">
<value>S/N:</value>
</data>
<data name="&gt;&gt;snLabel5.Name" xml:space="preserve">
<value>snLabel5</value>
</data>
<data name="&gt;&gt;snLabel5.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel5.Parent" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;snLabel5.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox5.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox5.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 438</value>
</data>
<data name="groupBox5.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox5.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="groupBox5.Text" xml:space="preserve">
<value>Water Meter 5</value>
</data>
<data name="&gt;&gt;groupBox5.Name" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;groupBox5.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox5.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox5.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="wmStateTextBox6.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
</data>
<data name="wmStateTextBox6.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="wmStateTextBox6.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox6.Name" xml:space="preserve">
<value>wmStateTextBox6</value>
</data>
<data name="&gt;&gt;wmStateTextBox6.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox6.Parent" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;wmStateTextBox6.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="wmStateLabel6.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="wmStateLabel6.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="wmStateLabel6.Location" type="System.Drawing.Point, System.Drawing">
<value>302, 40</value>
</data>
<data name="wmStateLabel6.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 23</value>
</data>
<data name="wmStateLabel6.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="wmStateLabel6.Text" xml:space="preserve">
<value>State:</value>
</data>
<data name="&gt;&gt;wmStateLabel6.Name" xml:space="preserve">
<value>wmStateLabel6</value>
</data>
<data name="&gt;&gt;wmStateLabel6.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel6.Parent" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;wmStateLabel6.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="snTextBox6.Location" type="System.Drawing.Point, System.Drawing">
<value>100, 37</value>
</data>
<data name="snTextBox6.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 31</value>
</data>
<data name="snTextBox6.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox6.Name" xml:space="preserve">
<value>snTextBox6</value>
</data>
<data name="&gt;&gt;snTextBox6.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox6.Parent" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;snTextBox6.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="snLabel6.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="snLabel6.Location" type="System.Drawing.Point, System.Drawing">
<value>38, 40</value>
</data>
<data name="snLabel6.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 23</value>
</data>
<data name="snLabel6.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="snLabel6.Text" xml:space="preserve">
<value>S/N:</value>
</data>
<data name="&gt;&gt;snLabel6.Name" xml:space="preserve">
<value>snLabel6</value>
</data>
<data name="&gt;&gt;snLabel6.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel6.Parent" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;snLabel6.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox6.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox6.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 543</value>
</data>
<data name="groupBox6.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox6.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="groupBox6.Text" xml:space="preserve">
<value>Water Meter 6</value>
</data>
<data name="&gt;&gt;groupBox6.Name" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;groupBox6.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox6.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox6.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>773, 661</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Water Meter Serial Numbers and States</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>WMSNsAndStatesForm</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>
@@ -1,180 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="okButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="wmStateLabel1.Text" xml:space="preserve">
<value>Состояние:</value>
</data>
<data name="snLabel1.Text" xml:space="preserve">
<value>С/Н:</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>Счетчик воды 1</value>
</data>
<data name="wmStateLabel2.Text" xml:space="preserve">
<value>Состояние:</value>
</data>
<data name="snLabel2.Text" xml:space="preserve">
<value>С/Н:</value>
</data>
<data name="groupBox2.Text" xml:space="preserve">
<value>Счетчик воды 2</value>
</data>
<data name="wmStateLabel3.Text" xml:space="preserve">
<value>Состояние:</value>
</data>
<data name="snLabel3.Text" xml:space="preserve">
<value>С/Н:</value>
</data>
<data name="groupBox3.Text" xml:space="preserve">
<value>Счетчик воды 3</value>
</data>
<data name="wmStateLabel4.Text" xml:space="preserve">
<value>Состояние:</value>
</data>
<data name="snLabel4.Text" xml:space="preserve">
<value>С/Н:</value>
</data>
<data name="groupBox4.Text" xml:space="preserve">
<value>Счетчик воды 4</value>
</data>
<data name="wmStateLabel5.Text" xml:space="preserve">
<value>Состояние:</value>
</data>
<data name="snLabel5.Text" xml:space="preserve">
<value>С/Н:</value>
</data>
<data name="groupBox5.Text" xml:space="preserve">
<value>Счетчик воды 5</value>
</data>
<data name="wmStateLabel6.Text" xml:space="preserve">
<value>Состояние:</value>
</data>
<data name="snLabel6.Text" xml:space="preserve">
<value>С/Н:</value>
</data>
<data name="groupBox6.Text" xml:space="preserve">
<value>Счетчик воды 6</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Счетчик воды серийный номер и состояние</value>
</data>
</root>
@@ -1,118 +0,0 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using System.Windows.Forms;
using log4net;
using TBF.Resources;
namespace TBF.BenchControl.DataEntry.WMStates
{
public partial class WMStatesForm : Form, GenericDevices.IHasCompleted
{
private static readonly ILog log = LogManager.GetLogger(typeof(WMStatesForm));
/// <summary> Number of text boxes for serial numbers </summary>
public readonly int WaterMetersCount;
// To be retrieved after the form closes
public double[] WMState;
// Set to 'true' when the form closes
public bool Completed { get { return completed; } }
bool completed;
/// <summary>
/// Constructor
/// </summary>
/// <param name="waterMetersCount">Number of text boxes for serial numbers</param>
public WMStatesForm(int waterMetersCount)
{
InitializeComponent();
ControlBox = false;
this.WaterMetersCount = waterMetersCount;
WMState = new double[WaterMetersCount];
completed = false;
StartForceCloseHandler();
}
/// <summary> Parameterless constructor for 3 watermeters </summary>
public WMStatesForm()
: this(Config.Data.WMsCount)
{
}
void Localize()
{
Text = Strings.Water_Meter_States;
groupBox1.Text = Strings.Water_Meter + " 1";
groupBox2.Text = Strings.Water_Meter + " 2";
groupBox3.Text = Strings.Water_Meter + " 3";
groupBox4.Text = Strings.Water_Meter + " 4";
groupBox5.Text = Strings.Water_Meter + " 5";
groupBox6.Text = Strings.Water_Meter + " 6";
wmStateLabel1.Text = Strings.WMState;
wmStateLabel2.Text = Strings.WMState;
wmStateLabel3.Text = Strings.WMState;
wmStateLabel4.Text = Strings.WMState;
wmStateLabel5.Text = Strings.WMState;
wmStateLabel6.Text = Strings.WMState;
okButton.Text = Strings.OkBtnText;
}
private void CycleEndForm_Load(object sender, EventArgs e)
{
Localize();
Height = 195 + 90 * WaterMetersCount;
if (WaterMetersCount < 1) groupBox1.Visible = false;
if (WaterMetersCount < 2) groupBox2.Visible = false;
if (WaterMetersCount < 3) groupBox3.Visible = false;
if (WaterMetersCount < 4) groupBox4.Visible = false;
if (WaterMetersCount < 5) groupBox5.Visible = false;
if (WaterMetersCount < 6) groupBox6.Visible = false;
}
private void okButton_Click(object sender, EventArgs e)
{
try
{
if (WaterMetersCount >= 1) WMState[0] = Utils.ParseUDouble(wmStateTextBox1.Text);
if (WaterMetersCount >= 2) WMState[1] = Utils.ParseUDouble(wmStateTextBox2.Text);
if (WaterMetersCount >= 3) WMState[2] = Utils.ParseUDouble(wmStateTextBox3.Text);
if (WaterMetersCount >= 4) WMState[3] = Utils.ParseUDouble(wmStateTextBox4.Text);
if (WaterMetersCount >= 5) WMState[4] = Utils.ParseUDouble(wmStateTextBox5.Text);
if (WaterMetersCount >= 6) WMState[5] = Utils.ParseUDouble(wmStateTextBox6.Text);
}
catch
{
return;
}
completed = true;
Close();
}
#region Forced close handling
public void StartForceCloseHandler()
{
UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
{
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnForceClose), sender, args); }
else OnForceClose(sender, args);
};
}
void OnForceClose(object sender, EventArgs args)
{
DialogResult = DialogResult.Cancel;
Close();
}
#endregion
}
}
@@ -1,305 +0,0 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
namespace TBF.BenchControl.DataEntry.WMStates
{
partial class WMStatesForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox2 = new System.Windows.Forms.TextBox();
this.wmStateLabel2 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox1 = new System.Windows.Forms.TextBox();
this.wmStateLabel1 = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox3 = new System.Windows.Forms.TextBox();
this.wmStateLabel3 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox4 = new System.Windows.Forms.TextBox();
this.wmStateLabel4 = new System.Windows.Forms.Label();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox5 = new System.Windows.Forms.TextBox();
this.wmStateLabel5 = new System.Windows.Forms.Label();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox6 = new System.Windows.Forms.TextBox();
this.wmStateLabel6 = new System.Windows.Forms.Label();
this.groupBox2.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
this.SuspendLayout();
//
// groupBox2
//
this.groupBox2.Controls.Add(this.wmStateTextBox2);
this.groupBox2.Controls.Add(this.wmStateLabel2);
this.groupBox2.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox2.ForeColor = System.Drawing.Color.Black;
this.groupBox2.Location = new System.Drawing.Point(25, 102);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(362, 81);
this.groupBox2.TabIndex = 2;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Water Meter 2";
//
// wmStateTextBox2
//
this.wmStateTextBox2.Location = new System.Drawing.Point(183, 31);
this.wmStateTextBox2.Name = "wmStateTextBox2";
this.wmStateTextBox2.Size = new System.Drawing.Size(163, 31);
this.wmStateTextBox2.TabIndex = 1;
//
// wmStateLabel2
//
this.wmStateLabel2.AutoSize = true;
this.wmStateLabel2.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel2.Name = "wmStateLabel2";
this.wmStateLabel2.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel2.TabIndex = 0;
this.wmStateLabel2.Text = "State:";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.wmStateTextBox1);
this.groupBox1.Controls.Add(this.wmStateLabel1);
this.groupBox1.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox1.ForeColor = System.Drawing.Color.Black;
this.groupBox1.Location = new System.Drawing.Point(25, 12);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(362, 81);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Water Meter 1";
//
// wmStateTextBox1
//
this.wmStateTextBox1.Location = new System.Drawing.Point(183, 31);
this.wmStateTextBox1.Name = "wmStateTextBox1";
this.wmStateTextBox1.Size = new System.Drawing.Size(163, 31);
this.wmStateTextBox1.TabIndex = 1;
//
// wmStateLabel1
//
this.wmStateLabel1.AutoSize = true;
this.wmStateLabel1.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel1.Name = "wmStateLabel1";
this.wmStateLabel1.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel1.TabIndex = 0;
this.wmStateLabel1.Text = "State:";
//
// 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(425, 21);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(98, 63);
this.okButton.TabIndex = 7;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// groupBox3
//
this.groupBox3.Controls.Add(this.wmStateTextBox3);
this.groupBox3.Controls.Add(this.wmStateLabel3);
this.groupBox3.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox3.ForeColor = System.Drawing.Color.Black;
this.groupBox3.Location = new System.Drawing.Point(25, 192);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(362, 81);
this.groupBox3.TabIndex = 3;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Water Meter 3";
//
// wmStateTextBox3
//
this.wmStateTextBox3.Location = new System.Drawing.Point(183, 31);
this.wmStateTextBox3.Name = "wmStateTextBox3";
this.wmStateTextBox3.Size = new System.Drawing.Size(163, 31);
this.wmStateTextBox3.TabIndex = 1;
//
// wmStateLabel3
//
this.wmStateLabel3.AutoSize = true;
this.wmStateLabel3.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel3.Name = "wmStateLabel3";
this.wmStateLabel3.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel3.TabIndex = 0;
this.wmStateLabel3.Text = "State:";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.wmStateTextBox4);
this.groupBox4.Controls.Add(this.wmStateLabel4);
this.groupBox4.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox4.ForeColor = System.Drawing.Color.Black;
this.groupBox4.Location = new System.Drawing.Point(25, 282);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(362, 81);
this.groupBox4.TabIndex = 4;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Water Meter 4";
//
// wmStateTextBox4
//
this.wmStateTextBox4.Location = new System.Drawing.Point(183, 31);
this.wmStateTextBox4.Name = "wmStateTextBox4";
this.wmStateTextBox4.Size = new System.Drawing.Size(163, 31);
this.wmStateTextBox4.TabIndex = 1;
//
// wmStateLabel4
//
this.wmStateLabel4.AutoSize = true;
this.wmStateLabel4.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel4.Name = "wmStateLabel4";
this.wmStateLabel4.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel4.TabIndex = 0;
this.wmStateLabel4.Text = "State:";
//
// groupBox5
//
this.groupBox5.Controls.Add(this.wmStateTextBox5);
this.groupBox5.Controls.Add(this.wmStateLabel5);
this.groupBox5.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox5.ForeColor = System.Drawing.Color.Black;
this.groupBox5.Location = new System.Drawing.Point(25, 372);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(362, 81);
this.groupBox5.TabIndex = 5;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "Water Meter 5";
//
// wmStateTextBox5
//
this.wmStateTextBox5.Location = new System.Drawing.Point(183, 31);
this.wmStateTextBox5.Name = "wmStateTextBox5";
this.wmStateTextBox5.Size = new System.Drawing.Size(163, 31);
this.wmStateTextBox5.TabIndex = 1;
//
// wmStateLabel5
//
this.wmStateLabel5.AutoSize = true;
this.wmStateLabel5.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel5.Name = "wmStateLabel5";
this.wmStateLabel5.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel5.TabIndex = 0;
this.wmStateLabel5.Text = "State:";
//
// groupBox6
//
this.groupBox6.Controls.Add(this.wmStateTextBox6);
this.groupBox6.Controls.Add(this.wmStateLabel6);
this.groupBox6.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox6.ForeColor = System.Drawing.Color.Black;
this.groupBox6.Location = new System.Drawing.Point(25, 462);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(362, 81);
this.groupBox6.TabIndex = 6;
this.groupBox6.TabStop = false;
this.groupBox6.Text = "Water Meter 6";
//
// wmStateTextBox6
//
this.wmStateTextBox6.Location = new System.Drawing.Point(183, 31);
this.wmStateTextBox6.Name = "wmStateTextBox6";
this.wmStateTextBox6.Size = new System.Drawing.Size(163, 31);
this.wmStateTextBox6.TabIndex = 1;
//
// wmStateLabel6
//
this.wmStateLabel6.AutoSize = true;
this.wmStateLabel6.Location = new System.Drawing.Point(18, 34);
this.wmStateLabel6.Name = "wmStateLabel6";
this.wmStateLabel6.Size = new System.Drawing.Size(68, 23);
this.wmStateLabel6.TabIndex = 0;
this.wmStateLabel6.Text = "State:";
//
// CycleEndForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DarkGoldenrod;
this.ClientSize = new System.Drawing.Size(559, 565);
this.Controls.Add(this.groupBox6);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.okButton);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "CycleEndForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Text = "Water Meter States";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleEndForm_Load);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.TextBox wmStateTextBox2;
private System.Windows.Forms.Label wmStateLabel2;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.TextBox wmStateTextBox1;
private System.Windows.Forms.Label wmStateLabel1;
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.TextBox wmStateTextBox3;
private System.Windows.Forms.Label wmStateLabel3;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.TextBox wmStateTextBox4;
private System.Windows.Forms.Label wmStateLabel4;
private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.TextBox wmStateTextBox5;
private System.Windows.Forms.Label wmStateLabel5;
private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.TextBox wmStateTextBox6;
private System.Windows.Forms.Label wmStateLabel6;
}
}
@@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+13 -27
View File
@@ -23,9 +23,6 @@ namespace TBF.BenchControl.DataEntry.iPerl
/// <summary>
/// Properties set by the Begin, End and WMStates form
/// </summary>
string purchaseOrder;
public string PurchaseOrder { get { return purchaseOrder; } }
bool[] disabled; /// This array is shared between forms
string[] wmCycleEndState;
@@ -49,7 +46,7 @@ namespace TBF.BenchControl.DataEntry.iPerl
bool resultSaved; /// Set in Run() when results are saved
Results.Entities.WaterMeter[] waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
public enum CurrentOp
{
@@ -87,7 +84,7 @@ namespace TBF.BenchControl.DataEntry.iPerl
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -96,7 +93,7 @@ namespace TBF.BenchControl.DataEntry.iPerl
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleEnd;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -137,7 +134,7 @@ namespace TBF.BenchControl.DataEntry.iPerl
///
void OpenTestStartStatesDlg(EntryForm myRef)
{
myRef.modelessDlg = new TestStartEndForm(myRef.waterMeters.Length, myRef.regReaders, disabled);
myRef.modelessDlg = new TestStartEndForm(myRef.waterMeters.Count, myRef.regReaders, disabled);
modelessDlg.Show();
}
///
@@ -185,16 +182,21 @@ namespace TBF.BenchControl.DataEntry.iPerl
if (currentOp == CurrentOp.ShowFormAtCycleBeginning)
{
CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
if (dlg != null)
{
purchaseOrder = dlg.PurchaseOrder;
}
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 (entryFormCfg.ShowCycleEndForm && currentOp == CurrentOp.ShowFormAtCycleEnd)
{
CycleEndForm dlg = (modelessDlg as CycleEndForm);
int count = waterMeters.Length;
int count = waterMeters.Count;
if ((dlg != null) && (count > dlg.WaterMetersCount)) count = dlg.WaterMetersCount;
for (int i = 0; i < count; i++)
@@ -248,21 +250,5 @@ namespace TBF.BenchControl.DataEntry.iPerl
}
currentOp = CurrentOp.None;
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="waterMeters">Watermetes with information entered in the forms</param>
/// <param name="testResults">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults batchResults)
{
foreach (var wm in batchResults.WaterMeters)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
+2 -2
View File
@@ -338,8 +338,8 @@ namespace TBF.BenchControl.Elde
{
float wmPulsesPerLiter = 0;
if ((BenchControl.Sequences.ProcessData.RegisterReaders[i - 1] != null) &&
(BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters.Length >= i) &&
(BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters[i - 1] != null))
(BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= i) &&
(BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters[i - 1] != null))
{
wmPulsesPerLiter = (float)BenchControl.Sequences.ProcessData.RegisterReaders[i-1].PulsesPerLtr;
}
+1
View File
@@ -123,6 +123,7 @@ namespace TBF.BenchControl
UiCmdStopDrainingTank2,
UiCmdStopDrainingTank3,
UiCmdBreak,
UiCmdRestoreSession,
UiCmdResetResults,
UiCmdAcceptResults,
UiCmdShutdown,
@@ -13,11 +13,5 @@ namespace TBF.BenchControl.GenericDevices
/// true when DataEntry dialog was completed or when it does not support IHasCompleted (to avoid TBF freeze).
/// </summary>
bool Completed { get; }
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="results">Results of a batch of water meters to be updated with information from forms</param>
void UpdateTestResults(Results.BatchResults results);
}
}
@@ -7,12 +7,6 @@ namespace TBF.BenchControl.GenericDevices
{
public interface IHasCycleBeginForm
{
/// <summary>
/// Purchase order selected/typed in the cycle beginning form.
/// When PurchaseOrder==null the purchase order entry was disabled.
/// </summary>
string PurchaseOrder { get; }
/// <summary>
/// Displays form at the beginning of the cycle (usually to enter S/N).
/// </summary>
@@ -1,6 +1,8 @@
///
/// Copyright (c) 2018 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.GenericDevices
@@ -11,6 +13,6 @@ namespace TBF.BenchControl.GenericDevices
/// Reads information on start of a cycle, Events: Event.InfoRead
/// </summary>
/// <returns>Reference to the operation</returns>
IOperation ReadStartInfoOp(Results.Entities.WaterMeter[] waterMeters);
IOperation ReadStartInfoOp(IList<Results.Entities.WaterMeter> waterMeters);
}
}
+1
View File
@@ -101,6 +101,7 @@ namespace TBF.BenchControl.Operations
case UI2BenchCmd.StopDrainingTank2: return Event.UiCmdStopDrainingTank2;
case UI2BenchCmd.StopDrainingTank3: return Event.UiCmdStopDrainingTank3;
case UI2BenchCmd.Break: return Event.UiCmdBreak;
case UI2BenchCmd.RestoreSession: return Event.UiCmdRestoreSession;
case UI2BenchCmd.ResetResults: return Event.UiCmdResetResults;
case UI2BenchCmd.AcceptResults: return Event.UiCmdAcceptResults;
case UI2BenchCmd.Shutdown: return Event.UiCmdShutdown;
@@ -1,88 +0,0 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using System.Threading;
using log4net;
using NHibernate;
namespace TBF.BenchControl.Operations
{
public class LoadProcedureOp : IOperation
{
private static readonly ILog log = LogManager.GetLogger(typeof(LoadProcedureOp));
Thread loaderThread;
bool error;
bool completed;
/// <summary>
/// Events: Wait, ProcedureLoaded or Error
/// </summary>
public LoadProcedureOp()
{
error = false;
completed = false;
}
/// <summary>Start this operation</summary>
public void Start()
{
if (loaderThread != null)
{
error = true;
return;
}
loaderThread = new Thread(Loader);
loaderThread.Start();
}
void Loader()
{
try
{
ISession session = Config.FluentCommon.CreateSession(Users.Entities.DBKind.Config);
StateMachine.LoadPathsAndTransitions(session);
StateMachine.LoadProcedure(session, TBF.UiBridge.Bridge.SelectedProcedure.Name);
StateMachine.LoadProcedureParams(StateMachine.Procedure);
completed = true;
}
catch (Exception)
{
error = true;
}
}
/// <summary>Run this operation</summary>
/// <returns>
/// Event.Error, Event.ProcedureLoaded or Event.Wait
/// </returns>
public Event Run()
{
if (error) return Event.Error;
if (!completed) return Event.Wait;
///
/// Check for incomplete configuration mistakes
///
if (StateMachine.Tests.Count == 0) return Event.ConfigurationError;
foreach (var test in StateMachine.Tests)
{
if (test.FeedingPath == null || test.BenchPath == null ||
test.OutputPath == null || test.MetersPath == null)
{
return Event.ConfigurationError;
}
}
return Event.ProcedureLoaded;
}
/// <summary>Stop this operation</summary>
public void Stop()
{
}
}
}
@@ -68,7 +68,7 @@ namespace TBF.BenchControl.Output.DB.ProductionTracing
/// <summary>
/// Watermeters to check at the beginning of the cycle
/// </summary>
Results.Entities.WaterMeter[] waterMeters;
IList<Results.Entities.WaterMeter> waterMeters;
/// <summary>
/// Data (tracing records) to write at the end of cycle
@@ -192,7 +192,7 @@ namespace TBF.BenchControl.Output.DB.ProductionTracing
/// </summary>
/// <param name="waterMeters">Results of water meters</param>
/// <returns>Reference to the operation</returns>
public IOperation ReadStartInfoOp(Results.Entities.WaterMeter[] waterMeters)
public IOperation ReadStartInfoOp(IList<Results.Entities.WaterMeter> waterMeters)
{
if (!tracingCfg.CheckPreviousRecords)
{
@@ -304,14 +304,14 @@ namespace TBF.BenchControl.Output.DB.ProductionTracing
}
Retv CheckPreviousRecords(Results.Entities.WaterMeter[] waterMeters)
Retv CheckPreviousRecords(IList<Results.Entities.WaterMeter> waterMeters)
{
Retv retVal = Retv.Error;
bool isAtLeastOneNOK = false;
using (ISession session = sessionFactory.OpenSession())
{
for (int i = 0; i < waterMeters.Length; i++)
for (int i = 0; i < waterMeters.Count; i++)
{
Results.Entities.WaterMeter wm = waterMeters[i];
@@ -332,7 +332,7 @@ namespace TBF.BenchControl.Output.DB.ProductionTracing
{
using (ISession session2 = sessionFactory2.OpenSession())
{
for (int i = 0; i < waterMeters.Length; i++)
for (int i = 0; i < waterMeters.Count; i++)
{
Results.Entities.WaterMeter wm = waterMeters[i];
@@ -9,6 +9,7 @@ using log4net;
using Oracle.DataAccess.Client; // ODP.NET Oracle managed provider
using Config;
using Config.Entities;
using Results.Output;
using System.Text;
namespace TBF.BenchControl.Output.DB.SensusOracle
@@ -50,7 +51,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
/// <summary>
/// Start info is read into WaterMeter objects referenced by this array
/// </summary>
Results.Entities.WaterMeter[] waterMeters;
IList<Results.Entities.WaterMeter> waterMeters;
/// <summary>
/// Results to print
@@ -217,7 +218,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
/// </summary>
/// <param name="waterMeters">Results of water meters</param>
/// <returns>Reference to the operation</returns>
public IOperation ReadStartInfoOp(Results.Entities.WaterMeter[] waterMeters)
public IOperation ReadStartInfoOp(IList<Results.Entities.WaterMeter> waterMeters)
{
if (!dbCfg.ReadStartInfo)
{
@@ -283,7 +284,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
{
if (!opCompleted)
{
if (waterMeters.Length == 0) return Event.ResultsWritten;
if (waterMeters.Count == 0) return Event.ResultsWritten;
if ((dbCfg.DebugLevel == DebugMode.Normal) && (connection != null))
{
@@ -7,6 +7,7 @@ using System.IO;
using log4net;
using Config;
using Config.Entities;
using Results.Output;
namespace TBF.BenchControl.Output.FileWriters.IperlLogger
{
@@ -1,193 +0,0 @@
///
/// Copyright (c) 2015 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Printing;
using System.IO;
using Config.Entities;
using TBF.Resources;
namespace TBF.BenchControl.Output.Printers.Label
{
public class PrintLabelDocument : PrintDocument
{
const int FontSize = 9;
const string FontFamilyName = "Arial"; //"Times New Roman";
readonly int paperWidth;
readonly int paperHeight;
readonly string templateFile;
/// <summary> Property variable for the Font the user wishes to use </summary>
Font font;
///
/// Data to print
///
Results.Entities.Batch batch;
///
/// Layout and status
///
int nextWMNr; /// nr. of watermeter to be printed as the first one on the next page
int nrPages;
/// <summary>
/// Constructor
/// </summary>
/// <param name="textToPrint">Text to be printed</param>
public PrintLabelDocument(Results.Entities.Batch batch,
PageOrientation pageOrientation,
int paperWidth,
int paperHeight,
string templateFile)
{
this.batch = batch;
this.paperWidth = paperWidth;
this.paperHeight = paperHeight;
this.templateFile = templateFile;
DefaultPageSettings.Landscape = (pageOrientation == PageOrientation.Landscape);
/// Set print area size and margins (in dots using 80 dpi)
int printHeight = base.DefaultPageSettings.PaperSize.Height - base.DefaultPageSettings.Margins.Top - base.DefaultPageSettings.Margins.Bottom;
int printWidth = base.DefaultPageSettings.PaperSize.Width - base.DefaultPageSettings.Margins.Left - base.DefaultPageSettings.Margins.Right;
int leftMargin = base.DefaultPageSettings.Margins.Left; /// X
int topMargin = base.DefaultPageSettings.Margins.Top; /// Y
/// Check if the user selected to print in Landscape mode
/// if they did then we need to swap height/width parameters
if (DefaultPageSettings.Landscape)
{
int tmp = printHeight;
printHeight = printWidth;
printWidth = tmp;
}
/// One watermeter per label/page
nrPages = batch.WaterMeters.Count;
nextWMNr = 0;
}
/// <summary>
/// Override the default onbeginPrint method of the PrintDocument Object
/// </summary>
/// <param name=e></param>
/// <remarks></remarks>
protected override void OnBeginPrint(System.Drawing.Printing.PrintEventArgs e)
{
base.OnBeginPrint(e);
if (font == null) { font = new Font(FontFamilyName, FontSize, FontStyle.Regular); }
}
/// <summary>
/// Override the default OnPrintPage method of the PrintDocument.
/// </summary>
/// <param name=e></param>
/// <remarks>This provides the print logic for our document</remarks>
protected override void OnPrintPage(System.Drawing.Printing.PrintPageEventArgs e)
{
/// Run base code
base.OnPrintPage(e);
if (File.Exists(templateFile))
{
Image img = Image.FromFile(templateFile);
e.Graphics.DrawImage(new Bitmap(img), new Rectangle(0, 0, paperWidth, paperHeight));
}
/// Set print area size and margins (in dots using 80 dpi)
int printHeight = base.DefaultPageSettings.PaperSize.Height - base.DefaultPageSettings.Margins.Top - base.DefaultPageSettings.Margins.Bottom;
int printWidth = base.DefaultPageSettings.PaperSize.Width - base.DefaultPageSettings.Margins.Left - base.DefaultPageSettings.Margins.Right;
int leftMargin = base.DefaultPageSettings.Margins.Left; /// X
int topMargin = base.DefaultPageSettings.Margins.Top; /// Y
/// Check if the user selected to print in Landscape mode
/// if they did then we need to swap height/width parameters
if (base.DefaultPageSettings.Landscape)
{
int tmp = printHeight;
printHeight = printWidth;
printWidth = tmp;
}
int x = leftMargin;
int y = topMargin;
/// Use the StringFormat class for the text layout of our document
StringFormat format = new StringFormat(StringFormatFlags.LineLimit);
///--------
/// Body
///--------
PrintWM(e, nextWMNr);
nextWMNr++;
e.HasMorePages = (nextWMNr < batch.WaterMeters.Count);
}
/// <summary>
/// Print one water meter results
/// </summary>
/// <param name="wmNr">Water meter number (0-based)</param>
void PrintWM(System.Drawing.Printing.PrintPageEventArgs e, int wmNr)
{
if (wmNr >= batch.WaterMeters.Count) return;
Results.Entities.WaterMeter wm = batch.WaterMeters[wmNr];
if (wm == null) return;
/// Serial number
if (!string.IsNullOrEmpty(wm.SerialNr)) PrintAt(e, 20, 62, string.Format("S/N: {0}", wm.SerialNr));
/// Watermeter type
PrintAt(e, 20, 74, batch.ProtocolTitle);
/// Date
PrintAt(e, 135, 74, string.Format("{0:dd/MM/yy", batch.EndTime));
Results.WMeterRsltItemSpec item1 = Results.WMeterRsltItemSpec.GetItem(Results.ItemID.Test_name);
Results.WMeterRsltItemSpec item2 = Results.WMeterRsltItemSpec.GetItem(Results.ItemID.Error);
item2.Units = Config.Unit.Pct;
item2.Precision = "F2";
item2.Format = "{0}%";
int printPosition = 1;
foreach (var mtr in wm.MeterTestRslts)
{
item1.TestID = mtr.Name();
item2.TestID = mtr.Name();
PrintAt(e, 20, 6 + 14 * printPosition, item1.Print(wm));
PrintAt(e, 78, 6 + 14 * printPosition, item2.Print(wm));
printPosition++;
}
}
void PrintAt(System.Drawing.Printing.PrintPageEventArgs e, Point p, string text)
{
PrintAt(e, p.X, p.Y, text);
}
void PrintAt(System.Drawing.Printing.PrintPageEventArgs e, int x, int y, string text)
{
RectangleF printArea = new RectangleF(x, y, 667, 18);
e.Graphics.DrawString(text, this.font, Brushes.Black, printArea);
}
}
}
@@ -76,6 +76,12 @@ namespace TBF.BenchControl.Output.Printers.Label
printerCfg.NrOfCopies = newCfg.NrOfCopies;
printerCfg.GoodOnly = newCfg.GoodOnly;
printerCfg.SupressPrinting = newCfg.SupressPrinting;
printerCfg.DrawSNasBarcode = newCfg.DrawSNasBarcode;
printerCfg.IsQR = newCfg.IsQR;
printerCfg.BarcodeLeft = newCfg.BarcodeLeft;
printerCfg.BarcodeTop = newCfg.BarcodeTop;
printerCfg.BarcodeWidth = newCfg.BarcodeWidth;
printerCfg.BarcodeHeight = newCfg.BarcodeHeight;
ApplyConfig();
}
@@ -131,7 +137,6 @@ namespace TBF.BenchControl.Output.Printers.Label
}
void PrintResults(Results.Entities.Batch batch, Results.Entities.WaterMeter wm, string documentName)
{
LabelPrinterCfg cfg = new LabelPrinterCfg
@@ -147,6 +152,12 @@ namespace TBF.BenchControl.Output.Printers.Label
CultureInfo = (printerCfg.Culture == Culture.system) ? Thread.CurrentThread.CurrentCulture : new CultureInfo(printerCfg.Culture.ToString()),
GoodOnly = printerCfg.GoodOnly,
SupressPrinting = printerCfg.SupressPrinting,
DrawSNasBarcode = printerCfg.DrawSNasBarcode,
IsQR = printerCfg.IsQR,
BarcodeLeft = printerCfg.BarcodeLeft,
BarcodeTop = printerCfg.BarcodeTop,
BarcodeWidth = printerCfg.BarcodeWidth,
BarcodeHeight = printerCfg.BarcodeHeight,
};
for (int i = 1; i <= printerCfg.NrOfCopies; i++)
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2015-2018 Sensus Slovensko a.s.
/// Copyright (c) 2015-2020 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
@@ -33,6 +33,14 @@ namespace TBF.BenchControl.Output.Printers.Label
public bool GoodOnly;
public bool SupressPrinting; /// true = Bypass printing
public bool DrawSNasBarcode;
public bool IsQR;
public int BarcodeLeft;
public int BarcodeTop;
public int BarcodeWidth;
public int BarcodeHeight;
/// Private parameterless constructor invoked by all other (public) constructors
PrinterCfg()
{
@@ -55,18 +63,20 @@ namespace TBF.BenchControl.Output.Printers.Label
NrOfCopies = 1;
GoodOnly = false;
SupressPrinting = false;
DrawSNasBarcode = false;
}
public string ToString(int i)
{
return string.Format("Name={0}, Orientation={1}, PaperWidth={2}, PaperHeight={3}, TemplateFile={4}, GoodOnly={5}, SupressPrinting={6}",
return string.Format("Name={0}, Orientation={1}, PaperWidth={2}, PaperHeight={3}, TemplateFile={4}, GoodOnly={5}, SupressPrinting={6}, Barcode={7}",
Name,
PageOrientation,
PaperWidth,
PaperHeight,
Template,
GoodOnly ? "yes" : "no",
SupressPrinting ? "yes" : "no"
SupressPrinting ? "yes" : "no",
DrawSNasBarcode ? "yes" : "no"
);
}
}
+413 -292
View File
@@ -31,296 +31,407 @@ namespace TBF.BenchControl.Output.Printers.Label
/// </summary>
private void InitializeComponent()
{
this.nameTextBox = new System.Windows.Forms.TextBox();
this.nameLabel = new System.Windows.Forms.Label();
this.classNameLabel = new System.Windows.Forms.Label();
this.supressPrintingCheckBox = new System.Windows.Forms.CheckBox();
this.orientationLabel = new System.Windows.Forms.Label();
this.orientationComboBox = new System.Windows.Forms.ComboBox();
this.templateTextBox = new System.Windows.Forms.TextBox();
this.templateLabel = new System.Windows.Forms.Label();
this.paperWidthTextBox = new System.Windows.Forms.TextBox();
this.paperWidthLabel = new System.Windows.Forms.Label();
this.paperHeightTextBox = new System.Windows.Forms.TextBox();
this.paperHeightLabel = new System.Windows.Forms.Label();
this.italicCheckBox = new System.Windows.Forms.CheckBox();
this.boldCheckBox = new System.Windows.Forms.CheckBox();
this.fontSizeTextBox = new System.Windows.Forms.TextBox();
this.fontFamilyComboBox = new System.Windows.Forms.ComboBox();
this.bodyFontLabel = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.itemsToPrintButton = new System.Windows.Forms.Button();
this.nrOfCopiesLabel = new System.Windows.Forms.Label();
this.nrOfCopiesTextBox = new System.Windows.Forms.TextBox();
this.cultureComboBox = new System.Windows.Forms.ComboBox();
this.cultureLabel = new System.Windows.Forms.Label();
this.goodOnlyCheckBox = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// nameTextBox
//
this.nameTextBox.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(122, 35);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(130, 20);
this.nameTextBox.TabIndex = 2;
//
// nameLabel
//
this.nameLabel.AutoSize = true;
this.nameLabel.Location = new System.Drawing.Point(8, 38);
this.nameLabel.Name = "nameLabel";
this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.nameLabel.TabIndex = 1;
this.nameLabel.Text = "Name";
//
// classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(119, 11);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(61, 13);
this.classNameLabel.TabIndex = 0;
this.classNameLabel.Text = "Class name";
//
// supressPrintingCheckBox
//
this.supressPrintingCheckBox.AutoSize = true;
this.supressPrintingCheckBox.Enabled = false;
this.supressPrintingCheckBox.Location = new System.Drawing.Point(122, 283);
this.supressPrintingCheckBox.Name = "supressPrintingCheckBox";
this.supressPrintingCheckBox.Size = new System.Drawing.Size(101, 17);
this.supressPrintingCheckBox.TabIndex = 11;
this.supressPrintingCheckBox.Text = "Supress printing";
this.supressPrintingCheckBox.UseVisualStyleBackColor = true;
//
// orientationLabel
//
this.orientationLabel.AutoSize = true;
this.orientationLabel.Location = new System.Drawing.Point(8, 84);
this.orientationLabel.Name = "orientationLabel";
this.orientationLabel.Size = new System.Drawing.Size(84, 13);
this.orientationLabel.TabIndex = 3;
this.orientationLabel.Text = "Page orientation";
//
// orientationComboBox
//
this.orientationComboBox.Enabled = false;
this.orientationComboBox.FormattingEnabled = true;
this.orientationComboBox.Location = new System.Drawing.Point(122, 81);
this.orientationComboBox.Name = "orientationComboBox";
this.orientationComboBox.Size = new System.Drawing.Size(130, 21);
this.orientationComboBox.TabIndex = 4;
//
// templateTextBox
//
this.templateTextBox.Enabled = false;
this.templateTextBox.Location = new System.Drawing.Point(122, 58);
this.templateTextBox.Name = "templateTextBox";
this.templateTextBox.Size = new System.Drawing.Size(228, 20);
this.templateTextBox.TabIndex = 10;
//
// templateLabel
//
this.templateLabel.AutoSize = true;
this.templateLabel.Location = new System.Drawing.Point(8, 61);
this.templateLabel.Name = "templateLabel";
this.templateLabel.Size = new System.Drawing.Size(67, 13);
this.templateLabel.TabIndex = 9;
this.templateLabel.Text = "Template file";
//
// paperWidthTextBox
//
this.paperWidthTextBox.Enabled = false;
this.paperWidthTextBox.Location = new System.Drawing.Point(122, 105);
this.paperWidthTextBox.Name = "paperWidthTextBox";
this.paperWidthTextBox.Size = new System.Drawing.Size(51, 20);
this.paperWidthTextBox.TabIndex = 6;
//
// paperWidthLabel
//
this.paperWidthLabel.AutoSize = true;
this.paperWidthLabel.Location = new System.Drawing.Point(8, 108);
this.paperWidthLabel.Name = "paperWidthLabel";
this.paperWidthLabel.Size = new System.Drawing.Size(63, 13);
this.paperWidthLabel.TabIndex = 5;
this.paperWidthLabel.Text = "Paper width";
//
// paperHeightTextBox
//
this.paperHeightTextBox.Enabled = false;
this.paperHeightTextBox.Location = new System.Drawing.Point(122, 128);
this.paperHeightTextBox.Name = "paperHeightTextBox";
this.paperHeightTextBox.Size = new System.Drawing.Size(51, 20);
this.paperHeightTextBox.TabIndex = 8;
//
// paperHeightLabel
//
this.paperHeightLabel.AutoSize = true;
this.paperHeightLabel.Location = new System.Drawing.Point(8, 131);
this.paperHeightLabel.Name = "paperHeightLabel";
this.paperHeightLabel.Size = new System.Drawing.Size(67, 13);
this.paperHeightLabel.TabIndex = 7;
this.paperHeightLabel.Text = "Paper height";
//
// bodyItalicCheckBox
//
this.italicCheckBox.AutoSize = true;
this.italicCheckBox.Enabled = false;
this.italicCheckBox.Location = new System.Drawing.Point(335, 190);
this.italicCheckBox.Name = "bodyItalicCheckBox";
this.italicCheckBox.Size = new System.Drawing.Size(15, 14);
this.italicCheckBox.TabIndex = 47;
this.italicCheckBox.UseVisualStyleBackColor = true;
//
// bodyBoldCheckBox
//
this.boldCheckBox.AutoSize = true;
this.boldCheckBox.Enabled = false;
this.boldCheckBox.Location = new System.Drawing.Point(307, 190);
this.boldCheckBox.Name = "bodyBoldCheckBox";
this.boldCheckBox.Size = new System.Drawing.Size(15, 14);
this.boldCheckBox.TabIndex = 46;
this.boldCheckBox.UseVisualStyleBackColor = true;
//
// bodyFontSizeTextBox
//
this.fontSizeTextBox.Enabled = false;
this.fontSizeTextBox.Location = new System.Drawing.Point(259, 184);
this.fontSizeTextBox.Name = "bodyFontSizeTextBox";
this.fontSizeTextBox.Size = new System.Drawing.Size(29, 20);
this.fontSizeTextBox.TabIndex = 45;
//
// bodyFontFamilyComboBox
//
this.fontFamilyComboBox.Enabled = false;
this.fontFamilyComboBox.FormattingEnabled = true;
this.fontFamilyComboBox.Location = new System.Drawing.Point(122, 184);
this.fontFamilyComboBox.Name = "bodyFontFamilyComboBox";
this.fontFamilyComboBox.Size = new System.Drawing.Size(130, 21);
this.fontFamilyComboBox.TabIndex = 44;
//
// bodyFontLabel
//
this.bodyFontLabel.AutoSize = true;
this.bodyFontLabel.Location = new System.Drawing.Point(8, 187);
this.bodyFontLabel.Name = "bodyFontLabel";
this.bodyFontLabel.Size = new System.Drawing.Size(106, 13);
this.bodyFontLabel.TabIndex = 43;
this.bodyFontLabel.Text = "Font family/size/style";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label2.Location = new System.Drawing.Point(331, 175);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(24, 13);
this.label2.TabIndex = 49;
this.label2.Text = "Ital.";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label1.Location = new System.Drawing.Point(297, 175);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(32, 13);
this.label1.TabIndex = 48;
this.label1.Text = "Bold";
//
// itemsToPrintButton
//
this.itemsToPrintButton.Enabled = false;
this.itemsToPrintButton.Location = new System.Drawing.Point(121, 154);
this.itemsToPrintButton.Name = "itemsToPrintButton";
this.itemsToPrintButton.Size = new System.Drawing.Size(132, 23);
this.itemsToPrintButton.TabIndex = 50;
this.itemsToPrintButton.Text = "Items to print";
this.itemsToPrintButton.UseVisualStyleBackColor = true;
this.itemsToPrintButton.Click += new System.EventHandler(this.itemsToPrintButton_Click);
//
// nrOfCopiesLabel
//
this.nrOfCopiesLabel.AutoSize = true;
this.nrOfCopiesLabel.Location = new System.Drawing.Point(8, 235);
this.nrOfCopiesLabel.Name = "nrOfCopiesLabel";
this.nrOfCopiesLabel.Size = new System.Drawing.Size(90, 13);
this.nrOfCopiesLabel.TabIndex = 52;
this.nrOfCopiesLabel.Text = "Number of copies";
//
// nrOfCopiesTextBox
//
this.nrOfCopiesTextBox.Enabled = false;
this.nrOfCopiesTextBox.Location = new System.Drawing.Point(122, 232);
this.nrOfCopiesTextBox.Name = "nrOfCopiesTextBox";
this.nrOfCopiesTextBox.Size = new System.Drawing.Size(51, 20);
this.nrOfCopiesTextBox.TabIndex = 51;
//
// cultureComboBox
//
this.cultureComboBox.Enabled = false;
this.cultureComboBox.FormattingEnabled = true;
this.cultureComboBox.Location = new System.Drawing.Point(122, 208);
this.cultureComboBox.Name = "cultureComboBox";
this.cultureComboBox.Size = new System.Drawing.Size(218, 21);
this.cultureComboBox.TabIndex = 54;
//
// cultureLabel
//
this.cultureLabel.AutoSize = true;
this.cultureLabel.Location = new System.Drawing.Point(8, 211);
this.cultureLabel.Name = "cultureLabel";
this.cultureLabel.Size = new System.Drawing.Size(42, 13);
this.cultureLabel.TabIndex = 53;
this.cultureLabel.Text = "Cullture";
//
// goodOnlyCheckBox
//
this.goodOnlyCheckBox.AutoSize = true;
this.goodOnlyCheckBox.Enabled = false;
this.goodOnlyCheckBox.Location = new System.Drawing.Point(122, 262);
this.goodOnlyCheckBox.Name = "goodOnlyCheckBox";
this.goodOnlyCheckBox.Size = new System.Drawing.Size(74, 17);
this.goodOnlyCheckBox.TabIndex = 55;
this.goodOnlyCheckBox.Text = "Good only";
this.goodOnlyCheckBox.UseVisualStyleBackColor = true;
//
// PrinterCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.goodOnlyCheckBox);
this.Controls.Add(this.cultureComboBox);
this.Controls.Add(this.cultureLabel);
this.Controls.Add(this.nrOfCopiesLabel);
this.Controls.Add(this.nrOfCopiesTextBox);
this.Controls.Add(this.itemsToPrintButton);
this.Controls.Add(this.italicCheckBox);
this.Controls.Add(this.boldCheckBox);
this.Controls.Add(this.fontSizeTextBox);
this.Controls.Add(this.fontFamilyComboBox);
this.Controls.Add(this.bodyFontLabel);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.paperHeightTextBox);
this.Controls.Add(this.paperHeightLabel);
this.Controls.Add(this.paperWidthTextBox);
this.Controls.Add(this.paperWidthLabel);
this.Controls.Add(this.templateTextBox);
this.Controls.Add(this.templateLabel);
this.Controls.Add(this.orientationComboBox);
this.Controls.Add(this.orientationLabel);
this.Controls.Add(this.supressPrintingCheckBox);
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.nameLabel);
this.Controls.Add(this.classNameLabel);
this.Name = "PrinterCfgCtrl";
this.Size = new System.Drawing.Size(372, 327);
this.Load += new System.EventHandler(this.PrinterCfgCtrl_Load);
this.ResumeLayout(false);
this.PerformLayout();
this.nameTextBox = new System.Windows.Forms.TextBox();
this.nameLabel = new System.Windows.Forms.Label();
this.classNameLabel = new System.Windows.Forms.Label();
this.supressPrintingCheckBox = new System.Windows.Forms.CheckBox();
this.orientationLabel = new System.Windows.Forms.Label();
this.orientationComboBox = new System.Windows.Forms.ComboBox();
this.templateTextBox = new System.Windows.Forms.TextBox();
this.templateLabel = new System.Windows.Forms.Label();
this.paperWidthTextBox = new System.Windows.Forms.TextBox();
this.paperWidthLabel = new System.Windows.Forms.Label();
this.paperHeightTextBox = new System.Windows.Forms.TextBox();
this.italicCheckBox = new System.Windows.Forms.CheckBox();
this.boldCheckBox = new System.Windows.Forms.CheckBox();
this.fontSizeTextBox = new System.Windows.Forms.TextBox();
this.fontFamilyComboBox = new System.Windows.Forms.ComboBox();
this.bodyFontLabel = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.itemsToPrintButton = new System.Windows.Forms.Button();
this.nrOfCopiesLabel = new System.Windows.Forms.Label();
this.nrOfCopiesTextBox = new System.Windows.Forms.TextBox();
this.cultureComboBox = new System.Windows.Forms.ComboBox();
this.cultureLabel = new System.Windows.Forms.Label();
this.goodOnlyCheckBox = new System.Windows.Forms.CheckBox();
this.snBarcodeGroupBox = new System.Windows.Forms.GroupBox();
this.barcodeHeightLabel = new System.Windows.Forms.Label();
this.barcodeHeightTextBox = new System.Windows.Forms.TextBox();
this.isQrCheckBox = new System.Windows.Forms.CheckBox();
this.barcodeWidthLabel = new System.Windows.Forms.Label();
this.barcodeWidthTextBox = new System.Windows.Forms.TextBox();
this.barcodeTopLabel = new System.Windows.Forms.Label();
this.barcodeTopTextBox = new System.Windows.Forms.TextBox();
this.barcodeLeftTextBox = new System.Windows.Forms.TextBox();
this.barcodeLeftLabel = new System.Windows.Forms.Label();
this.snBarcodeCheckBox = new System.Windows.Forms.CheckBox();
this.snBarcodeGroupBox.SuspendLayout();
this.SuspendLayout();
//
// nameTextBox
//
this.nameTextBox.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(122, 35);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(130, 20);
this.nameTextBox.TabIndex = 2;
//
// nameLabel
//
this.nameLabel.AutoSize = true;
this.nameLabel.Location = new System.Drawing.Point(8, 38);
this.nameLabel.Name = "nameLabel";
this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.nameLabel.TabIndex = 1;
this.nameLabel.Text = "Name";
//
// classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(119, 11);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(61, 13);
this.classNameLabel.TabIndex = 0;
this.classNameLabel.Text = "Class name";
//
// supressPrintingCheckBox
//
this.supressPrintingCheckBox.AutoSize = true;
this.supressPrintingCheckBox.Enabled = false;
this.supressPrintingCheckBox.Location = new System.Drawing.Point(245, 200);
this.supressPrintingCheckBox.Name = "supressPrintingCheckBox";
this.supressPrintingCheckBox.Size = new System.Drawing.Size(101, 17);
this.supressPrintingCheckBox.TabIndex = 11;
this.supressPrintingCheckBox.Text = "Supress printing";
this.supressPrintingCheckBox.UseVisualStyleBackColor = true;
//
// orientationLabel
//
this.orientationLabel.AutoSize = true;
this.orientationLabel.Location = new System.Drawing.Point(8, 84);
this.orientationLabel.Name = "orientationLabel";
this.orientationLabel.Size = new System.Drawing.Size(84, 13);
this.orientationLabel.TabIndex = 3;
this.orientationLabel.Text = "Page orientation";
//
// orientationComboBox
//
this.orientationComboBox.Enabled = false;
this.orientationComboBox.FormattingEnabled = true;
this.orientationComboBox.Location = new System.Drawing.Point(122, 81);
this.orientationComboBox.Name = "orientationComboBox";
this.orientationComboBox.Size = new System.Drawing.Size(130, 21);
this.orientationComboBox.TabIndex = 4;
//
// templateTextBox
//
this.templateTextBox.Enabled = false;
this.templateTextBox.Location = new System.Drawing.Point(122, 58);
this.templateTextBox.Name = "templateTextBox";
this.templateTextBox.Size = new System.Drawing.Size(228, 20);
this.templateTextBox.TabIndex = 10;
//
// templateLabel
//
this.templateLabel.AutoSize = true;
this.templateLabel.Location = new System.Drawing.Point(8, 61);
this.templateLabel.Name = "templateLabel";
this.templateLabel.Size = new System.Drawing.Size(67, 13);
this.templateLabel.TabIndex = 9;
this.templateLabel.Text = "Template file";
//
// paperWidthTextBox
//
this.paperWidthTextBox.Enabled = false;
this.paperWidthTextBox.Location = new System.Drawing.Point(122, 105);
this.paperWidthTextBox.Name = "paperWidthTextBox";
this.paperWidthTextBox.Size = new System.Drawing.Size(51, 20);
this.paperWidthTextBox.TabIndex = 6;
//
// paperWidthLabel
//
this.paperWidthLabel.AutoSize = true;
this.paperWidthLabel.Location = new System.Drawing.Point(8, 108);
this.paperWidthLabel.Name = "paperWidthLabel";
this.paperWidthLabel.Size = new System.Drawing.Size(103, 13);
this.paperWidthLabel.TabIndex = 5;
this.paperWidthLabel.Text = "Paper width / height";
//
// paperHeightTextBox
//
this.paperHeightTextBox.Enabled = false;
this.paperHeightTextBox.Location = new System.Drawing.Point(176, 105);
this.paperHeightTextBox.Name = "paperHeightTextBox";
this.paperHeightTextBox.Size = new System.Drawing.Size(51, 20);
this.paperHeightTextBox.TabIndex = 8;
//
// italicCheckBox
//
this.italicCheckBox.AutoSize = true;
this.italicCheckBox.Enabled = false;
this.italicCheckBox.Location = new System.Drawing.Point(335, 134);
this.italicCheckBox.Name = "italicCheckBox";
this.italicCheckBox.Size = new System.Drawing.Size(15, 14);
this.italicCheckBox.TabIndex = 47;
this.italicCheckBox.UseVisualStyleBackColor = true;
//
// boldCheckBox
//
this.boldCheckBox.AutoSize = true;
this.boldCheckBox.Enabled = false;
this.boldCheckBox.Location = new System.Drawing.Point(307, 134);
this.boldCheckBox.Name = "boldCheckBox";
this.boldCheckBox.Size = new System.Drawing.Size(15, 14);
this.boldCheckBox.TabIndex = 46;
this.boldCheckBox.UseVisualStyleBackColor = true;
//
// fontSizeTextBox
//
this.fontSizeTextBox.Enabled = false;
this.fontSizeTextBox.Location = new System.Drawing.Point(259, 128);
this.fontSizeTextBox.Name = "fontSizeTextBox";
this.fontSizeTextBox.Size = new System.Drawing.Size(29, 20);
this.fontSizeTextBox.TabIndex = 45;
//
// fontFamilyComboBox
//
this.fontFamilyComboBox.Enabled = false;
this.fontFamilyComboBox.FormattingEnabled = true;
this.fontFamilyComboBox.Location = new System.Drawing.Point(122, 128);
this.fontFamilyComboBox.Name = "fontFamilyComboBox";
this.fontFamilyComboBox.Size = new System.Drawing.Size(130, 21);
this.fontFamilyComboBox.TabIndex = 44;
//
// bodyFontLabel
//
this.bodyFontLabel.AutoSize = true;
this.bodyFontLabel.Location = new System.Drawing.Point(8, 131);
this.bodyFontLabel.Name = "bodyFontLabel";
this.bodyFontLabel.Size = new System.Drawing.Size(106, 13);
this.bodyFontLabel.TabIndex = 43;
this.bodyFontLabel.Text = "Font family/size/style";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label2.Location = new System.Drawing.Point(331, 119);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(24, 13);
this.label2.TabIndex = 49;
this.label2.Text = "Ital.";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label1.Location = new System.Drawing.Point(297, 119);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(32, 13);
this.label1.TabIndex = 48;
this.label1.Text = "Bold";
//
// itemsToPrintButton
//
this.itemsToPrintButton.Enabled = false;
this.itemsToPrintButton.Location = new System.Drawing.Point(259, 85);
this.itemsToPrintButton.Name = "itemsToPrintButton";
this.itemsToPrintButton.Size = new System.Drawing.Size(91, 30);
this.itemsToPrintButton.TabIndex = 50;
this.itemsToPrintButton.Text = "Items to print";
this.itemsToPrintButton.UseVisualStyleBackColor = true;
this.itemsToPrintButton.Click += new System.EventHandler(this.itemsToPrintButton_Click);
//
// nrOfCopiesLabel
//
this.nrOfCopiesLabel.AutoSize = true;
this.nrOfCopiesLabel.Location = new System.Drawing.Point(8, 179);
this.nrOfCopiesLabel.Name = "nrOfCopiesLabel";
this.nrOfCopiesLabel.Size = new System.Drawing.Size(90, 13);
this.nrOfCopiesLabel.TabIndex = 52;
this.nrOfCopiesLabel.Text = "Number of copies";
//
// nrOfCopiesTextBox
//
this.nrOfCopiesTextBox.Enabled = false;
this.nrOfCopiesTextBox.Location = new System.Drawing.Point(122, 176);
this.nrOfCopiesTextBox.Name = "nrOfCopiesTextBox";
this.nrOfCopiesTextBox.Size = new System.Drawing.Size(51, 20);
this.nrOfCopiesTextBox.TabIndex = 51;
//
// cultureComboBox
//
this.cultureComboBox.Enabled = false;
this.cultureComboBox.FormattingEnabled = true;
this.cultureComboBox.Location = new System.Drawing.Point(122, 152);
this.cultureComboBox.Name = "cultureComboBox";
this.cultureComboBox.Size = new System.Drawing.Size(228, 21);
this.cultureComboBox.TabIndex = 54;
//
// cultureLabel
//
this.cultureLabel.AutoSize = true;
this.cultureLabel.Location = new System.Drawing.Point(8, 155);
this.cultureLabel.Name = "cultureLabel";
this.cultureLabel.Size = new System.Drawing.Size(42, 13);
this.cultureLabel.TabIndex = 53;
this.cultureLabel.Text = "Cullture";
//
// goodOnlyCheckBox
//
this.goodOnlyCheckBox.AutoSize = true;
this.goodOnlyCheckBox.Enabled = false;
this.goodOnlyCheckBox.Location = new System.Drawing.Point(245, 179);
this.goodOnlyCheckBox.Name = "goodOnlyCheckBox";
this.goodOnlyCheckBox.Size = new System.Drawing.Size(74, 17);
this.goodOnlyCheckBox.TabIndex = 55;
this.goodOnlyCheckBox.Text = "Good only";
this.goodOnlyCheckBox.UseVisualStyleBackColor = true;
//
// snBarcodeGroupBox
//
this.snBarcodeGroupBox.Controls.Add(this.barcodeHeightLabel);
this.snBarcodeGroupBox.Controls.Add(this.barcodeHeightTextBox);
this.snBarcodeGroupBox.Controls.Add(this.isQrCheckBox);
this.snBarcodeGroupBox.Controls.Add(this.barcodeWidthLabel);
this.snBarcodeGroupBox.Controls.Add(this.barcodeWidthTextBox);
this.snBarcodeGroupBox.Controls.Add(this.barcodeTopLabel);
this.snBarcodeGroupBox.Controls.Add(this.barcodeTopTextBox);
this.snBarcodeGroupBox.Controls.Add(this.barcodeLeftTextBox);
this.snBarcodeGroupBox.Controls.Add(this.barcodeLeftLabel);
this.snBarcodeGroupBox.Controls.Add(this.snBarcodeCheckBox);
this.snBarcodeGroupBox.Location = new System.Drawing.Point(11, 227);
this.snBarcodeGroupBox.Name = "snBarcodeGroupBox";
this.snBarcodeGroupBox.Size = new System.Drawing.Size(339, 59);
this.snBarcodeGroupBox.TabIndex = 56;
this.snBarcodeGroupBox.TabStop = false;
//
// barcodeHeightLabel
//
this.barcodeHeightLabel.AutoSize = true;
this.barcodeHeightLabel.Location = new System.Drawing.Point(207, 29);
this.barcodeHeightLabel.Name = "barcodeHeightLabel";
this.barcodeHeightLabel.Size = new System.Drawing.Size(38, 13);
this.barcodeHeightLabel.TabIndex = 18;
this.barcodeHeightLabel.Text = "Height";
//
// barcodeHeightTextBox
//
this.barcodeHeightTextBox.Enabled = false;
this.barcodeHeightTextBox.Location = new System.Drawing.Point(247, 25);
this.barcodeHeightTextBox.Name = "barcodeHeightTextBox";
this.barcodeHeightTextBox.Size = new System.Drawing.Size(32, 20);
this.barcodeHeightTextBox.TabIndex = 17;
//
// isQrCheckBox
//
this.isQrCheckBox.AutoSize = true;
this.isQrCheckBox.Location = new System.Drawing.Point(293, 27);
this.isQrCheckBox.Name = "isQrCheckBox";
this.isQrCheckBox.Size = new System.Drawing.Size(42, 17);
this.isQrCheckBox.TabIndex = 16;
this.isQrCheckBox.Text = "QR";
this.isQrCheckBox.UseVisualStyleBackColor = true;
//
// barcodeWidthLabel
//
this.barcodeWidthLabel.AutoSize = true;
this.barcodeWidthLabel.Location = new System.Drawing.Point(135, 29);
this.barcodeWidthLabel.Name = "barcodeWidthLabel";
this.barcodeWidthLabel.Size = new System.Drawing.Size(35, 13);
this.barcodeWidthLabel.TabIndex = 15;
this.barcodeWidthLabel.Text = "Width";
//
// barcodeWidthTextBox
//
this.barcodeWidthTextBox.Enabled = false;
this.barcodeWidthTextBox.Location = new System.Drawing.Point(171, 25);
this.barcodeWidthTextBox.Name = "barcodeWidthTextBox";
this.barcodeWidthTextBox.Size = new System.Drawing.Size(32, 20);
this.barcodeWidthTextBox.TabIndex = 14;
//
// barcodeTopLabel
//
this.barcodeTopLabel.AutoSize = true;
this.barcodeTopLabel.Location = new System.Drawing.Point(71, 29);
this.barcodeTopLabel.Name = "barcodeTopLabel";
this.barcodeTopLabel.Size = new System.Drawing.Size(26, 13);
this.barcodeTopLabel.TabIndex = 13;
this.barcodeTopLabel.Text = "Top";
//
// barcodeTopTextBox
//
this.barcodeTopTextBox.Enabled = false;
this.barcodeTopTextBox.Location = new System.Drawing.Point(99, 25);
this.barcodeTopTextBox.Name = "barcodeTopTextBox";
this.barcodeTopTextBox.Size = new System.Drawing.Size(32, 20);
this.barcodeTopTextBox.TabIndex = 11;
//
// barcodeLeftTextBox
//
this.barcodeLeftTextBox.Enabled = false;
this.barcodeLeftTextBox.Location = new System.Drawing.Point(35, 25);
this.barcodeLeftTextBox.Name = "barcodeLeftTextBox";
this.barcodeLeftTextBox.Size = new System.Drawing.Size(32, 20);
this.barcodeLeftTextBox.TabIndex = 10;
//
// barcodeLeftLabel
//
this.barcodeLeftLabel.AutoSize = true;
this.barcodeLeftLabel.Location = new System.Drawing.Point(8, 29);
this.barcodeLeftLabel.Name = "barcodeLeftLabel";
this.barcodeLeftLabel.Size = new System.Drawing.Size(25, 13);
this.barcodeLeftLabel.TabIndex = 9;
this.barcodeLeftLabel.Text = "Left";
//
// snBarcodeCheckBox
//
this.snBarcodeCheckBox.AutoSize = true;
this.snBarcodeCheckBox.Location = new System.Drawing.Point(10, 0);
this.snBarcodeCheckBox.Name = "snBarcodeCheckBox";
this.snBarcodeCheckBox.Size = new System.Drawing.Size(176, 17);
this.snBarcodeCheckBox.TabIndex = 0;
this.snBarcodeCheckBox.Text = "Print barcode with serial number";
this.snBarcodeCheckBox.UseVisualStyleBackColor = true;
this.snBarcodeCheckBox.CheckedChanged += new System.EventHandler(this.snBarcodeCheckBox_CheckedChanged);
//
// PrinterCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.snBarcodeGroupBox);
this.Controls.Add(this.goodOnlyCheckBox);
this.Controls.Add(this.cultureComboBox);
this.Controls.Add(this.cultureLabel);
this.Controls.Add(this.nrOfCopiesLabel);
this.Controls.Add(this.nrOfCopiesTextBox);
this.Controls.Add(this.itemsToPrintButton);
this.Controls.Add(this.italicCheckBox);
this.Controls.Add(this.boldCheckBox);
this.Controls.Add(this.fontSizeTextBox);
this.Controls.Add(this.fontFamilyComboBox);
this.Controls.Add(this.bodyFontLabel);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.paperHeightTextBox);
this.Controls.Add(this.paperWidthTextBox);
this.Controls.Add(this.paperWidthLabel);
this.Controls.Add(this.templateTextBox);
this.Controls.Add(this.templateLabel);
this.Controls.Add(this.orientationComboBox);
this.Controls.Add(this.orientationLabel);
this.Controls.Add(this.supressPrintingCheckBox);
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.nameLabel);
this.Controls.Add(this.classNameLabel);
this.Name = "PrinterCfgCtrl";
this.Size = new System.Drawing.Size(372, 327);
this.Load += new System.EventHandler(this.PrinterCfgCtrl_Load);
this.snBarcodeGroupBox.ResumeLayout(false);
this.snBarcodeGroupBox.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
@@ -336,8 +447,7 @@ namespace TBF.BenchControl.Output.Printers.Label
private System.Windows.Forms.Label templateLabel;
private System.Windows.Forms.TextBox paperWidthTextBox;
private System.Windows.Forms.Label paperWidthLabel;
private System.Windows.Forms.TextBox paperHeightTextBox;
private System.Windows.Forms.Label paperHeightLabel;
private System.Windows.Forms.TextBox paperHeightTextBox;
private System.Windows.Forms.CheckBox italicCheckBox;
private System.Windows.Forms.CheckBox boldCheckBox;
private System.Windows.Forms.TextBox fontSizeTextBox;
@@ -351,5 +461,16 @@ namespace TBF.BenchControl.Output.Printers.Label
private System.Windows.Forms.ComboBox cultureComboBox;
private System.Windows.Forms.Label cultureLabel;
private System.Windows.Forms.CheckBox goodOnlyCheckBox;
private System.Windows.Forms.GroupBox snBarcodeGroupBox;
private System.Windows.Forms.TextBox barcodeTopTextBox;
private System.Windows.Forms.TextBox barcodeLeftTextBox;
private System.Windows.Forms.Label barcodeLeftLabel;
private System.Windows.Forms.CheckBox snBarcodeCheckBox;
private System.Windows.Forms.Label barcodeWidthLabel;
private System.Windows.Forms.TextBox barcodeWidthTextBox;
private System.Windows.Forms.Label barcodeTopLabel;
private System.Windows.Forms.CheckBox isQrCheckBox;
private System.Windows.Forms.Label barcodeHeightLabel;
private System.Windows.Forms.TextBox barcodeHeightTextBox;
}
}
@@ -1,7 +1,8 @@
///
/// Copyright (c) 2015-2018 Sensus Slovensko a.s.
/// Copyright (c) 2015-2020 Sensus Slovensko a.s.
///
using System;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using log4net;
@@ -42,7 +43,9 @@ namespace TBF.BenchControl.Output.Printers.Label
{
fontFamilyComboBox.Items.Add(ff.Name);
}
}
ManageCheckGroupBox(snBarcodeCheckBox, snBarcodeGroupBox);
}
private void PrinterCfgCtrl_Load(object sender, EventArgs e)
{
@@ -80,7 +83,14 @@ namespace TBF.BenchControl.Output.Printers.Label
nrOfCopiesTextBox.Text = config.NrOfCopies.ToString();
goodOnlyCheckBox.Checked = config.GoodOnly;
supressPrintingCheckBox.Checked = config.SupressPrinting;
}
snBarcodeCheckBox.Checked = config.DrawSNasBarcode;
isQrCheckBox.Checked = config.IsQR;
barcodeLeftTextBox.Text = config.BarcodeLeft.ToString();
barcodeTopTextBox.Text = config.BarcodeTop.ToString();
barcodeWidthTextBox.Text = config.BarcodeWidth.ToString();
barcodeHeightTextBox.Text = config.BarcodeHeight.ToString();
}
public void Unlock()
{
@@ -98,7 +108,20 @@ namespace TBF.BenchControl.Output.Printers.Label
nrOfCopiesTextBox.Enabled = true;
goodOnlyCheckBox.Enabled = true;
supressPrintingCheckBox.Enabled = true;
}
snBarcodeCheckBox.Enabled = true;
ManageCheckGroupBox(snBarcodeCheckBox, snBarcodeGroupBox);
isQrCheckBox.Enabled = true;
barcodeLeftTextBox.Enabled = true;
barcodeTopTextBox.Enabled = true;
barcodeWidthTextBox.Enabled = true;
barcodeHeightTextBox.Enabled = true;
}
private void snBarcodeCheckBox_CheckedChanged(object sender, EventArgs e)
{
ManageCheckGroupBox(snBarcodeCheckBox, snBarcodeGroupBox);
}
public CfgUpdateFlags VerifyCfg(ref string message)
{
@@ -142,6 +165,26 @@ namespace TBF.BenchControl.Output.Printers.Label
message += Environment.NewLine + "'Number of copies' should be between 0 and 9";
flags |= CfgUpdateFlags.Error;
}
if (!int.TryParse(barcodeLeftTextBox.Text, out dummy) || dummy < 0 || dummy > 2000)
{
message += Environment.NewLine + "Barcode 'Left' should be between 0 and 2000";
flags |= CfgUpdateFlags.Error;
}
if (!int.TryParse(barcodeTopTextBox.Text, out dummy) || dummy < 0 || dummy > 2000)
{
message += Environment.NewLine + "Barcode 'Top' should be between 0 and 2000";
flags |= CfgUpdateFlags.Error;
}
if (!int.TryParse(barcodeWidthTextBox.Text, out dummy) || dummy < 0 || dummy > 200)
{
message += Environment.NewLine + "Barcode 'Width' should be between 0 and 200";
flags |= CfgUpdateFlags.Error;
}
if (!int.TryParse(barcodeHeightTextBox.Text, out dummy) || dummy < 0 || dummy > 200)
{
message += Environment.NewLine + "Barcode 'Height' should be between 0 and 200";
flags |= CfgUpdateFlags.Error;
}
return flags;
}
@@ -193,6 +236,13 @@ namespace TBF.BenchControl.Output.Printers.Label
flags |= UpdateDifferent(ref config.GoodOnly, goodOnlyCheckBox.Checked, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.SupressPrinting, supressPrintingCheckBox.Checked, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.DrawSNasBarcode, snBarcodeCheckBox.Checked, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.IsQR, isQrCheckBox.Checked, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.BarcodeLeft, barcodeLeftTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.BarcodeTop, barcodeTopTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.BarcodeWidth, barcodeWidthTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
flags |= UpdateDifferent(ref config.BarcodeHeight, barcodeHeightTextBox.Text, CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.AnyChange);
if ((flags & CfgUpdateFlags.InvokeCfgChange) != 0)
{
Printer.OnCfgChange(this, new CfgChangeArgs(CfgChangeCmd.CfgChange, config));
@@ -214,6 +264,20 @@ namespace TBF.BenchControl.Output.Printers.Label
}
}
private void ManageCheckGroupBox(CheckBox chk, GroupBox grp)
{
/// Make sure the CheckBox isn't in the GroupBox. This will only happen the first time.
if (chk.Parent == grp)
{
grp.Parent.Controls.Add(chk); /// Reparent the CheckBox so it's not in the GroupBox.
chk.Location = new Point(chk.Left + grp.Left, chk.Top + grp.Top); /// Adjust the CheckBox's location.
chk.BringToFront(); /// Move the CheckBox to the top of the stacking order.
}
/// Enable or disable the GroupBox.
grp.Enabled = chk.Checked;
}
#region Configuration Change Handling
public static void OnCmdResponse(object sender, CmdResponseArgs args)
@@ -26,9 +26,6 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.DataEntryForRadio
/// <summary>
/// Properties set by the Begin, End and WMStates form
/// </summary>
string purchaseOrder;
public string PurchaseOrder { get { return purchaseOrder; } }
bool[] disabled; /// This array is shared between forms
string[] wmCycleEndState;
@@ -52,7 +49,7 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.DataEntryForRadio
bool resultSaved; /// Set in Run() when results are saved
Results.Entities.WaterMeter[] waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
public enum CurrentOp
{
@@ -93,7 +90,7 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.DataEntryForRadio
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
}
@@ -186,15 +183,14 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.DataEntryForRadio
CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
if (dlg != null)
{
purchaseOrder = dlg.PurchaseOrder;
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Length); i++)
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
{
if (waterMeters[i] != null)
{
waterMeters[i].SerialNr = dlg.SNText[i];
disabled[i] = waterMeters[i].Disabled = dlg.Disabled[i];
}
waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i];
waterMeters[i].SerialNr = dlg.SNText[i];
if (dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder;
}
}
}
}
@@ -248,11 +244,11 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.DataEntryForRadio
}
void BindRegisterReadersToRadio(Results.Entities.WaterMeter[] wMeters, IRegisterReader[] rReaders, bool isEndOfTest)
void BindRegisterReadersToRadio(IList<Results.Entities.WaterMeter> wMeters, IRegisterReader[] rReaders, bool isEndOfTest)
{
radio.RegReaders.Clear();
for (int i = 0; i < Math.Min(wMeters.Length, rReaders.Length); i++)
for (int i = 0; i < Math.Min(wMeters.Count, rReaders.Length); i++)
{
RegisterReader.RegisterReader regReader = rReaders[i] as RegisterReader.RegisterReader;
if (regReader != null)
@@ -266,20 +262,5 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.DataEntryForRadio
}
}
}
/// <summary>
/// Updates test results with the information collected in watermeters.
/// </summary>
/// <param name="batchResults">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults batchResults)
{
foreach (var wm in batchResults.WaterMeters)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.DataEntryForRadio
/// <summary> Number of text boxes for serial numbers </summary>
public readonly int WaterMetersCount;
readonly Results.Entities.WaterMeter[] waterMeters;
readonly IList<Results.Entities.WaterMeter> waterMeters;
readonly IRegisterReader[] regReaders;
readonly bool[] disabled;
@@ -107,12 +107,12 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.DataEntryForRadio
/// </summary>
/// <param name="waterMetersCount">Number of water meters</param>
/// <param name="disabled">Information from CycleBeginningForm about availability of water meters</param>
public TestStartEndForm(Results.Entities.WaterMeter[] waterMeters, IRegisterReader[] regReaders, bool[] disabled)
public TestStartEndForm(IList<Results.Entities.WaterMeter> waterMeters, IRegisterReader[] regReaders, bool[] disabled)
: this()
{
endStates = false;
this.WaterMetersCount = waterMeters.Length;
this.WaterMetersCount = waterMeters.Count;
this.waterMeters = waterMeters;
this.regReaders = regReaders;
this.disabled = disabled;
@@ -132,13 +132,13 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.DataEntryForRadio
/// <param name="refVolume">Reference volume, it is used to verify the end state, show/hide exclamation if necessary</param>
/// <param name="errLimLo">Error limit low, it is used to verify the end state, show/hide exclamation if necessary</param>
/// <param name="errLimHi">Error limit high, it is used to verify the end state, show/hide exclamation if necessary</param>
public TestStartEndForm(Results.Entities.WaterMeter[] waterMeters, IRegisterReader[] regReaders, string[] wmStartStateStr, bool[] disabled,
public TestStartEndForm(IList<Results.Entities.WaterMeter> waterMeters, IRegisterReader[] regReaders, string[] wmStartStateStr, bool[] disabled,
double refVolume, double errLimLo, double errLimHi)
: this()
{
endStates = true;
this.WaterMetersCount = waterMeters.Length;
this.WaterMetersCount = waterMeters.Count;
this.waterMeters = waterMeters;
this.regReaders = regReaders;
if (wmStartStateStr == null || wmStartStateStr.Length != WaterMetersCount)
+198 -70
View File
@@ -15,6 +15,7 @@ using TBF.BenchControl.GenericDevices;
using TBF.Boxes;
using TBF.Resources;
using System.Threading;
using System.IO;
namespace TBF.BenchControl.Sequences
{
@@ -439,13 +440,43 @@ namespace TBF.BenchControl.Sequences
}
while (selection == Selection.Shutdown);
switch (selection)
{
case Selection.Q1: selectedTestName = "Q1"; break;
case Selection.Q2: selectedTestName = "Q2"; break;
case Selection.Q3: selectedTestName = "Q3"; break;
default: selectedTestName = Bridge.SelectedTestName; break;
}
selectedTestName = (selection == Selection.Q1) ? "Q1"
: ((selection == Selection.Q2) ? "Q2"
: ((selection == Selection.Q3) ? "Q3" : Bridge.SelectedTestName));
///
/// Collect information about the interrupted procedure (if applicable)
///
bool processDataHeaderOK = false;
string interruptedProcedureName = string.Empty;
bool isRemoteIntProc = false;
///
if (selection == Selection.RestoreInterruptedSession)
{
int batchNr;
string version;
processDataHeaderOK = ProcessData.LoadProcessDataHeader(out batchNr, out version, out interruptedProcedureName, out isRemoteIntProc);
if (!processDataHeaderOK)
{
UiBridge.Bridge.OnError(this, "Invalid process data");
continue;
}
else if (version != Program.Version)
{
/// Program version does not match the one stored in process data
UiBridge.Bridge.OnError(this, Strings.Program_version_does_not_match);
continue;
}
else if (batchNr != Program.LocalSettings.BatchNr)
{
/// Program version does not match the one stored in process data
UiBridge.Bridge.OnError(this, Strings.Invalid_batch_number);
continue;
}
}
try
{
@@ -455,14 +486,31 @@ namespace TBF.BenchControl.Sequences
}
///
/// Try to load all parameters for the selected procedure from databases as specifie in BenchInfo
/// Try to load all parameters of selected or restored procedure from the respective database
///
if ((Bridge.SelectedProcedure != null) && !string.IsNullOrEmpty(Bridge.SelectedProcedure.Name))
if (processDataHeaderOK)
{
/// TODO: Repeate twice for Users.Entities.DBKind.Config and Users.Entities.DBKind.RemoteConfig
using (ISession remoteOrLocalSession = Config.FluentCommon.CreateSession(Bridge.SelectedProcedure.DBKind))
using (ISession remoteOrLocalSession = Config.FluentCommon.CreateSession(isRemoteIntProc ?
Users.Entities.DBKind.RemoteConfig :
Users.Entities.DBKind.Config))
{
StateMachine.LoadProcedure(remoteOrLocalSession, Bridge.SelectedProcedure.Name);
StateMachine.LoadProcedure(remoteOrLocalSession, interruptedProcedureName, isRemoteIntProc);
StateMachine.LoadProcedureParams(StateMachine.Procedure);
/// This is to load Procedure.Tests and tets.MoreParams for each test
int a = 0;
foreach (var test in StateMachine.Procedure.Tests) a += test.MoreParams.Count;
}
}
else if ((Bridge.SelectedProcedure != null) && !string.IsNullOrEmpty(Bridge.SelectedProcedure.Name))
{
/// TODO: Repeate twice for Users.Entities.DBKind.Config and Users.Entities.DBKind.RemoteConfig
using (ISession remoteOrLocalSession = Config.FluentCommon.CreateSession(Bridge.SelectedProcedure.IsRemote ?
Users.Entities.DBKind.RemoteConfig :
Users.Entities.DBKind.Config))
{
StateMachine.LoadProcedure(remoteOrLocalSession, Bridge.SelectedProcedure.Name, Bridge.SelectedProcedure.IsRemote);
StateMachine.LoadProcedureParams(StateMachine.Procedure);
/// This is to load Procedure.Tests and tets.MoreParams for each test
@@ -495,19 +543,33 @@ namespace TBF.BenchControl.Sequences
UiBridge.Bridge.OnError(this, string.Empty); /// Clear an error message (if any)
if (selection == Selection.RestoreInterruptedSession)
{
if (!LoadProcessData())
{
/// Restorig interrupted session failed
UiBridge.Bridge.OnError(this, "Restorig interrupted session failed");
goto stop;
}
}
else
{
/// Clear session data in case this is not an interrupted/restored session
ClearSessionData();
}
///
/// Procedure selected at this point, a new batch was started
///
int newBatchNr = Program.LocalSettings.BatchNr;
StateMachine.ControlBoard.ManualUIAllowed = !StateMachine.Procedure.ManualCtrlDisabled;
Bridge.Bench2UI(ButtonsEtc.StopBtnEn); /// A new cycle started : Enable STOP button
int newBatchNr = Program.LocalSettings.BatchNr;
log.FatalFormat("New measurement session started: batch = {0}, procedure = {1}", newBatchNr, StateMachine.Procedure.Name);
ClearSessionData();
if (selection == Selection.RestoreBatch)
if (selection == Selection.RestoreBatch)
{
BatchRslts = CreateNewBatchResults(newBatchNr, StateMachine.Procedure);
RestoreBatchResults(TBF.UiBridge.Bridge.BatchNr, ref BatchRslts); /// pass the original batch number of the batch to be restored
@@ -520,10 +582,10 @@ namespace TBF.BenchControl.Sequences
BatchRslts = CreateNewBatchResults(newBatchNr, StateMachine.Procedure);
RestoreBatchResults(TBF.UiBridge.Bridge.BatchNr, ref BatchRslts); /// pass the original batch number of the batch to be restored
for (int i = 0; i < BatchRslts.WaterMeters.Length; i++)
for (int i = 0; i < BatchRslts.Batch.WaterMeters.Count; i++)
{
WaterMeter wm = BatchRslts.WaterMeters[i];
if (wm != null)
WaterMeter wm = BatchRslts.Batch.WaterMeters[i];
if (wm != null && !wm.Disabled)
{
if (wm.Passed)
{
@@ -555,22 +617,27 @@ namespace TBF.BenchControl.Sequences
}
}
}
else
else if (selection != Selection.RestoreInterruptedSession)
{
/// This is a regular session => initialize BatchRslts
BatchRslts = CreateNewBatchResults(newBatchNr, StateMachine.Procedure);
}
BatchRslts.Batch.IsRemoteProcedure = StateMachine.IsRemoteProcedure;
StateMachine.CycleStartTimeStamp = BatchRslts.Batch.StartTime;
Bridge.OnProcedureSelected(this, new ProcedureSelectedEventArgs(StateMachine.Procedure));
Bridge.OnProcedureSelected(this, new ProcedureSelectedEventArgs(StateMachine.Procedure)); /// Select procedure in case of interrupted session
///
/// Display 'Cycle Begin Form' in case of a normal batch (not a restored batch)
///
if ((selection != Selection.RestoreBatch) && (selection != Selection.RestoreAndFixBatch) && !OpenCycleBeginForm())
if (selection != Selection.RestoreBatch && selection != Selection.RestoreAndFixBatch && selection != Selection.RestoreInterruptedSession)
{
goto stop;
///
/// This is a normal batch (not a restored one) => Display 'Cycle Begin Form'
///
if (!OpenCycleBeginForm())
{
goto stop;
}
}
///
@@ -585,7 +652,7 @@ namespace TBF.BenchControl.Sequences
{
try
{
IOperation op = infoReader.ReadStartInfoOp(ProcessData.BatchRslts.WaterMeters);
IOperation op = infoReader.ReadStartInfoOp(ProcessData.BatchRslts.Batch.WaterMeters);
if (op != null) startInfoReadOps.Add(op);
}
catch (Exception exc)
@@ -608,12 +675,15 @@ namespace TBF.BenchControl.Sequences
}
if (selection == Selection.Q1 || selection == Selection.Q2 ||
selection == Selection.Q3 || selection == Selection.Test)
if (selection == Selection.Q1 ||
selection == Selection.Q2 ||
selection == Selection.Q3 ||
selection == Selection.Test ||
selection == Selection.RestoreInterruptedSession)
{
goto assume_bench_filled;
}
else if ((selection == Selection.Cycle && benchFilled) || (selection == Selection.RestoreBatch) || (selection == Selection.RestoreAndFixBatch))
else if ((selection == Selection.Cycle && benchFilled) || (selection == Selection.RestoreBatch) || (selection == Selection.RestoreAndFixBatch) || (selection == Selection.RestoreInterruptedSession))
{
///
/// Always ask a question in case of a restored batch
@@ -725,9 +795,9 @@ namespace TBF.BenchControl.Sequences
else if ((selection == Selection.RestoreAndFixBatch) && (Users.GlobalData.GetCurrentUserName() != "milan"))
{
/// Restore and fix a batch - part 2
for (int i = 0; i < BatchRslts.WaterMeters.Length; i++)
for (int i = 0; i < BatchRslts.Batch.WaterMeters.Count; i++)
{
WaterMeter wm = BatchRslts.WaterMeters[i];
WaterMeter wm = BatchRslts.Batch.WaterMeters[i];
if (wm != null && !wm.Disabled)
{
/// Water meter did not pass
@@ -770,10 +840,25 @@ namespace TBF.BenchControl.Sequences
}
}
if ((selection != Selection.PurgeBegin) && (selection != Selection.RestoreBatch) && (selection != Selection.RestoreAndFixBatch))
if (selection == Selection.Cycle || selection == Selection.RestOfCycle ||
selection == Selection.Test || selection == Selection.Q1 || selection == Selection.Q2 || selection == Selection.Q3)
{
goto cycle_or_test_selected;
}
else if (selection == Selection.RestoreInterruptedSession)
{
/// Make progress bars of completed test green
foreach (var testRslt in BatchRslts.Batch.TestRslts)
{
Bridge.OnTestProgress(this, new TestProgressEventArgs(testRslt));
}
/// TODO: Try to find out where the cycle stopped
}
else
{
/// Do nothing
}
select_cycle_or_test:
@@ -1315,33 +1400,64 @@ namespace TBF.BenchControl.Sequences
//--------------------------------
GenericDevices.IDataEntry dataEntryCmpnt = TbfComponents.FindComponent(StateMachine.Procedure.DataEntry) as GenericDevices.IDataEntry;
if (dataEntryCmpnt != null)
if (dataEntryCmpnt is IHasCycleEndForm)
{
if (dataEntryCmpnt is IHasCycleEndForm)
{
/// Open the modeless form for the end of the cycle
State.Create("MainSeq : Enter end data")
.AddOperation((dataEntryCmpnt as GenericDevices.IHasCycleEndForm).ShowCycleEndFormOp())
.AddOperation(checkUiOp)
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.UiCmdStop)) goto stop;
}
while (!e.Contains(Event.ModelessFormClosed));
}
dataEntryCmpnt.UpdateTestResults(BatchRslts);
/// Open the modeless form for the end of the cycle
State.Create("MainSeq : Enter end data")
.AddOperation((dataEntryCmpnt as GenericDevices.IHasCycleEndForm).ShowCycleEndFormOp())
.AddOperation(checkUiOp)
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.UiCmdStop)) goto stop;
}
while (!e.Contains(Event.ModelessFormClosed));
}
if (TBF.BenchControl.Sequences.ProcessData.BatchRslts != null && Program.LocalSettings != null)
///
/// Update batch results, determine whether watermeters passed all required tests
///
BatchRslts.Batch.EndTime = DateTime.Now; /// Set cycle end time
Results.Utils.GetCounterStates(BatchRslts.Batch, Program.LocalSettings.Counters); /// Update counters
/// Remove results of internal tests
for (int i = BatchRslts.Batch.TestRslts.Count - 1; i >= 0; i--)
{
Results.Utils.GetCounterStates(ProcessData.BatchRslts.Batch, Program.LocalSettings.Counters);
foreach (var wm in BatchRslts.Batch.WaterMeters)
{
for (int j = wm.MeterTestRslts.Count - 1; j >= 0; j--)
{
MeterTestRslt mtr = wm.MeterTestRslts[j];
if ((mtr.Publish() == Publish.Never || mtr.Publish() == Publish.Internal) && !mtr.Evaluate())
{
wm.MeterTestRslts.RemoveAt(j);
}
}
}
TestRslt tr = BatchRslts.Batch.TestRslts[i];
if ((tr.Publish() == Publish.Never || tr.Publish() == Publish.Internal) && !tr.Evaluate())
{
BatchRslts.Batch.TestRslts.RemoveAt(i);
}
}
/// (1) Set boolean WaterMeter.Passed variable, (2) Remove disabled water meters
for (int wmNr0 = ProcessData.BatchRslts.Batch.WaterMeters.Count - 1; wmNr0 >= 0; wmNr0--)
{
WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[wmNr0];
if (wm.Disabled)
{
/// Do not save disabled watermeters to DB, remove them from the list
ProcessData.BatchRslts.Batch.WaterMeters.RemoveAt(wmNr0);
}
else
{
/// Determine whether the watermeter passed all required tests
wm.Passed = wm.PassedFromTests();
}
}
ProcessData.BatchRslts.Batch.EndTime = DateTime.Now;
ProcessData.BatchRslts.AddWaterMetersToBatch();
//------------------------------------------------------
Bridge.OnActivity(this, Strings.Saving_and_printing_results);
@@ -1408,6 +1524,11 @@ namespace TBF.BenchControl.Sequences
summaryResults.Info(TestResult2CsvLine(tr));
}
///
/// Clear a file with interim test results
///
ClearProcessData();
Program.LocalSettings.BatchNr++;
Program.LocalSettings.Save();
@@ -1536,6 +1657,7 @@ namespace TBF.BenchControl.Sequences
RestoreBatch,
RestoreAndFixBatch,
Shutdown,
RestoreInterruptedSession,
}
@@ -1550,7 +1672,9 @@ namespace TBF.BenchControl.Sequences
Selection MakeSelection(MKSelContext context)
{
log.WarnFormat("MakeSelection({0})", context);
bool restoreIntrptdSessionEnabled = (context == MKSelContext.ProcedureNotSelected) && File.Exists(ProcessData.PDataFileName);
/// Tank emptying valves states
bool draining1 = false;
bool draining2 = false;
@@ -1582,6 +1706,7 @@ namespace TBF.BenchControl.Sequences
Bridge.Bench2UI(((context == MKSelContext.ProcedureNotSelected) ? ButtonsEtc.ProcedureCmbBoxEn : 0) |
ButtonsEtc.TestCmbBoxEn |
((context == MKSelContext.InsideProcedure) ? ButtonsEtc.Break : 0) |
(restoreIntrptdSessionEnabled ? ButtonsEtc.RestoreSession : 0) |
(saveResultsActive ? ButtonsEtc.AcceptResultsBtnEn : 0) |
(draining ? 0 : ButtonsEtc.StartCycleBtnEn) |
(draining ? 0 : ButtonsEtc.StartTestBtnsEn) |
@@ -1616,18 +1741,21 @@ namespace TBF.BenchControl.Sequences
if (draining3 && StateMachine.Tank3.IsEmpty()) break;
/// Quit the selection loop and leave MakeSelection()
if (e.Contains(Event.UiCmdShutdown)) return Selection.Shutdown;
if (e.Contains(Event.UiCmdBreak) && (context == MKSelContext.InsideProcedure)) return Selection.Break;
if (e.Contains(Event.UiCmdPurgeBegin)) return Selection.PurgeBegin;
if (e.Contains(Event.UiCmdPurgeEnd)) return Selection.PurgeEnd;
if (e.Contains(Event.UiCmdStartCycle)) return Selection.Cycle;
if (e.Contains(Event.UiCmdStartTest)) return Selection.Test;
if (e.Contains(Event.UiCmdStartQ1)) return Selection.Q1;
if (e.Contains(Event.UiCmdStartQ2)) return Selection.Q2;
if (e.Contains(Event.UiCmdStartQ3)) return Selection.Q3;
if (e.Contains(Event.UiCmdAcceptResults)) return Selection.SaveResults;
if (e.Contains(Event.UiCmdReloadBatch)) return Selection.RestoreBatch;
if (e.Contains(Event.UiCmdReloadAndFixBatch)) return Selection.RestoreAndFixBatch;
if (e.Contains(Event.UiCmdShutdown)) return Selection.Shutdown;
if (context == MKSelContext.InsideProcedure
&& e.Contains(Event.UiCmdBreak)) return Selection.Break;
if (e.Contains(Event.UiCmdPurgeBegin)) return Selection.PurgeBegin;
if (e.Contains(Event.UiCmdPurgeEnd)) return Selection.PurgeEnd;
if (e.Contains(Event.UiCmdStartCycle)) return Selection.Cycle;
if (e.Contains(Event.UiCmdStartTest)) return Selection.Test;
if (e.Contains(Event.UiCmdStartQ1)) return Selection.Q1;
if (e.Contains(Event.UiCmdStartQ2)) return Selection.Q2;
if (e.Contains(Event.UiCmdStartQ3)) return Selection.Q3;
if (e.Contains(Event.UiCmdAcceptResults)) return Selection.SaveResults;
if (e.Contains(Event.UiCmdReloadBatch)) return Selection.RestoreBatch;
if (e.Contains(Event.UiCmdReloadAndFixBatch)) return Selection.RestoreAndFixBatch;
if (restoreIntrptdSessionEnabled
&& e.Contains(Event.UiCmdRestoreSession)) return Selection.RestoreInterruptedSession;
}
while (true);
@@ -1928,9 +2056,9 @@ namespace TBF.BenchControl.Sequences
}
}
for (int i = 0; i < batchResults.WaterMeters.Length; i++)
for (int i = 0; i < batchResults.Batch.WaterMeters.Count; i++)
{
WaterMeter wm = batchResults.WaterMeters[i];
WaterMeter wm = batchResults.Batch.WaterMeters[i];
wm.Disabled = true;
foreach (var wm2 in oriBatch.WaterMeters)
{
+164 -26
View File
@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using log4net;
using TBF.BenchControl.GenericDevices;
using TBF.Boxes;
@@ -7,13 +9,170 @@ namespace TBF.BenchControl.Sequences
{
public class ProcessData
{
static readonly ILog log = LogManager.GetLogger(typeof(ProcessData));
public static readonly string PDataFileName = "process_data.tbf";
///
/// References to components initialized on StateMachine start-up
///
public static IBenchInfo BenchInfo;
public static IErrorFlags ErrorFlagsComp;
public static Output.DB.SensusOracle.Database OracleDB;
public static IList<Output.SensusTestInfo> RawTestInfos; /// Incomplete raw test infos from Oracle DB
public static Output.SensusTestInfo[] CompleteTestInfos; /// Complete TBF test infos obtained as a best mathch
public static FloatBox AmbTemp = new FloatBox() { Name = "Ambient Temperature", Format = "F1" }; /// [Celsius]
///
/// State variables to be saved after each completed test
///
public static Results.BatchResults BatchRslts;
///
/// iPERL related state variables to be saved after each completed test
public static IList<TestMethods.iPerlCommunication.iPerlHead.IperlHead> IperlHeads;
public static bool IsQ2PreCorrectionCalculated;
public static int CalculatedQ2PreCorrectionLR;
public static int CalculatedQ2PreCorrectionRL;
public static IList<Results.Output.SensusTestInfo> RawTestInfos; /// Incomplete raw test infos from Oracle DB
public static Results.Output.SensusTestInfo[] CompleteTestInfos; /// Complete TBF test infos obtained as a best mathch
static ProcessData()
{
///
/// RegisterReaders should never be null, RegisterReader.Length should be Config.Data.WMsCount
/// RegisterReader[i] where i = 0..Config.Data.WMsCount-1 may be null and should always be tested
///
RegisterReaders = new IRegisterReader[Config.Data.WMsCount];
IsQ2PreCorrectionCalculated = false;
CalculatedQ2PreCorrectionLR = 0;
CalculatedQ2PreCorrectionRL = 0;
}
/// <summary>
/// Save process data to file (invoked after each completed test).
/// </summary>
public static void SaveProcessData()
{
using (BinaryWriter writer = new BinaryWriter(File.OpenWrite(PDataFileName)))
{
BatchRslts.WriteBinary(writer);
writer.Write(IperlHeads.Count);
for (int i = 0; i < IperlHeads.Count; i++)
{
IperlHeads[i].WriteBinary(writer);
}
writer.Write(IsQ2PreCorrectionCalculated);
writer.Write(CalculatedQ2PreCorrectionLR);
writer.Write(CalculatedQ2PreCorrectionRL);
#if ORACLE_DB
/// Write RawTestInfos
writer.Write((RawTestInfos != null) ? RawTestInfos.Count : 0);
if (RawTestInfos != null)
{
for (int i = 0; i < RawTestInfos.Count; i++) RawTestInfos[i].WriteBinary(writer);
}
/// Write CompleteTestInfos
writer.Write((CompleteTestInfos != null) ? CompleteTestInfos.Length : 0);
if (CompleteTestInfos != null)
{
for (int i = 0; i < CompleteTestInfos.Length; i++) CompleteTestInfos[i].WriteBinary(writer);
}
#endif
log.WarnFormat("Process data succesfully saved to file {0}", PDataFileName);
}
}
public static bool LoadProcessDataHeader(out int batchNr, out string programVersion, out string procedureName, out bool isRemoteProcedure)
{
using (BinaryReader reader = new BinaryReader(File.OpenRead(PDataFileName)))
{
try
{
Results.Entities.Batch.ReadStart(reader, out batchNr, out programVersion, out procedureName, out isRemoteProcedure);
return true;
}
catch (Exception)
{
batchNr = 0;
programVersion = string.Empty;
procedureName = string.Empty;
isRemoteProcedure = false;
return false;
}
}
}
/// <summary>
/// Load process data from file (invoked when cycle is continued after it has been interrupted).
/// </summary>
/// <returns>true when successful</returns>
public static bool LoadProcessData()
{
using (BinaryReader reader = new BinaryReader(File.OpenRead(PDataFileName)))
{
try
{
BatchRslts = new Results.BatchResults();
BatchRslts.ReadBinary(reader);
int iPerlHeadsCount = reader.ReadInt32();
for (int i = 0; i < iPerlHeadsCount; i++)
{
if (IperlHeads != null && i < IperlHeads.Count)
{
IperlHeads[i].ReadBinary(reader);
}
else
{
new TestMethods.iPerlCommunication.iPerlHead.IperlHead().ReadBinary(reader);
}
}
IsQ2PreCorrectionCalculated = reader.ReadBoolean();
CalculatedQ2PreCorrectionLR = reader.ReadInt32();
CalculatedQ2PreCorrectionRL = reader.ReadInt32();
#if ORACLE_DB
/// Read RawTestInfos
int rawTestInfosCount = reader.ReadInt32();
IList<Results.Output.SensusTestInfo> RawTestInfos = new List<Results.Output.SensusTestInfo>();
for (int i = 0; i < rawTestInfosCount; i++)
{
Results.Output.SensusTestInfo ti = new Results.Output.SensusTestInfo();
ti.ReadBinary(reader);
RawTestInfos.Add(ti);
}
/// Read CompleteTestInfos
int completeTestInfosLen = reader.ReadInt32();
Results.Output.SensusTestInfo[] CompleteTestInfos = new Results.Output.SensusTestInfo[completeTestInfosLen];
for (int i = 0; i < completeTestInfosLen; i++)
{
Results.Output.SensusTestInfo ti = new Results.Output.SensusTestInfo();
ti.ReadBinary(reader);
CompleteTestInfos[i] = ti;
}
#endif
log.WarnFormat("Process data succesfully loaded from file {0}", PDataFileName);
return true;
}
catch (Exception exc)
{
log.ErrorFormat("Error loading Process data from file {0}: {1}", PDataFileName, exc.Message);
return false;
}
}
}
public static void ClearProcessData()
{
File.Delete(PDataFileName);
}
///
/// Process values.
/// These variables contain immediate values or values overwritten in each test.
///
public static IRegisterReader[] RegisterReaders;
///
public static FloatBox AmbTemp = new FloatBox() { Name = "Ambient Temperature", Format = "F1" }; /// [Celsius]
public static FloatBox AmbPress = new FloatBox() { Name = "Ambient Pressure", Format = "F0", Factor = 1000 }; /// [bar], printed by ToString() in [mbar]
public static FloatBox AmbHumi = new FloatBox() { Name = "Ambient Humidity", Format = "F1" }; /// [%]
public static DoubleBox TempUp = new DoubleBox() { Name = "Temperature Up", Format = "F2" }; /// [°C]
@@ -35,7 +194,6 @@ namespace TBF.BenchControl.Sequences
public static DateTime TestStartTime;
public static DateTime TestEndTime;
public static double StartTime;
public static double EndTime;
@@ -45,27 +203,6 @@ namespace TBF.BenchControl.Sequences
public static DoubleBox TempRefLo1 = new DoubleBox() { Name = "T lo ac 1", Format = "F3" }; /// [°C]
public static DoubleBox TempRefLo2 = new DoubleBox() { Name = "T lo ac 2", Format = "F3" }; /// [°C]
public static Results.BatchResults BatchRslts;
public static IRegisterReader[] RegisterReaders;
public static bool IsQ2PreCorrectionCalculated;
public static int CalculatedQ2PreCorrectionLR;
public static int CalculatedQ2PreCorrectionRL;
///
static ProcessData()
{
///
/// RegisterReaders should never be null, RegisterReader.Length should be Config.Data.WMsCount
/// RegisterReader[i] where i = 0..Config.Data.WMsCount-1 may be null and should always be tested
///
RegisterReaders = new IRegisterReader[Config.Data.WMsCount];
IsQ2PreCorrectionCalculated = false;
CalculatedQ2PreCorrectionLR = 0;
CalculatedQ2PreCorrectionRL = 0;
}
/// <summary>
/// To clear process values at the beginning of each test
@@ -87,7 +224,8 @@ namespace TBF.BenchControl.Sequences
///
/// Statistics of 'continuous' variables (temperature, pressure, flow, etc.)
/// Statistics of 'continuous' variables (temperature, pressure, flow, etc.).
/// All statistics are re-initialized in each test.
///
public static Statistics AmbTempStat = new Statistics(new Plotter("Ambient temperature"));
public static Statistics AmbPressStat = new Statistics(new Plotter("Ambient pressure"));
+15 -12
View File
@@ -1272,9 +1272,12 @@ namespace TBF.BenchControl.Sequences
for (int i = 0; i < ProcessData.BatchRslts.WMPositionsCount; i++)
{
if (ProcessData.BatchRslts.WaterMeters[i] != null)
if (ProcessData.BatchRslts.Batch.WaterMeters != null &&
ProcessData.BatchRslts.Batch.WaterMeters.Count > i &&
ProcessData.BatchRslts.Batch.WaterMeters[i] != null &&
!ProcessData.BatchRslts.Batch.WaterMeters[i].Disabled)
{
if (!ProcessData.BatchRslts.WaterMeters[i].Compound() && !ProcessData.BatchRslts.WaterMeters[i].HeatMeter())
if (!ProcessData.BatchRslts.Batch.WaterMeters[i].Compound() && !ProcessData.BatchRslts.Batch.WaterMeters[i].HeatMeter())
{
/// If this is a single meter
@@ -1284,14 +1287,14 @@ namespace TBF.BenchControl.Sequences
{
bool isCamera = (mtrRslt.RegReaderType == (int)RegisterReaderType.Camera);
sb.Append(";"); sb.Append(ProcessData.BatchRslts.WaterMeters[i].SerialNr); /// CE WM Ser.No.
sb.Append(";"); sb.Append(ProcessData.BatchRslts.Batch.WaterMeters[i].SerialNr); /// CE WM Ser.No.
sb.Append(";"); sb.Append(mtrRslt.VolumeStart); /// CF WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
sb.Append(";"); sb.Append(mtrRslt.VolumeEnd); /// CG WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
sb.Append(";"); sb.Append(mtrRslt.VolumeMeter); /// CH WM Vmer - objem namerany vodomerom
sb.Append(";"); sb.Append(mtrRslt.VolumeRef); /// CI WM Vref - objem namerany stanicou
sb.Append(";"); sb.Append(mtrRslt.Error); /// CJ WM Emt - chyba vodomerom nameraneho objemu
#if IPERL
sb.Append(";"); sb.Append(ProcessData.BatchRslts.WaterMeters[i].CalibFactor); /// CK iPerl calibration factor used during the test / ...
sb.Append(";"); sb.Append(ProcessData.BatchRslts.Batch.WaterMeters[i].CalibFactor); /// CK iPerl calibration factor used during the test / ...
#else
sb.Append(";"); sb.Append(" "); /// CK nechat prazdne
#endif
@@ -1318,7 +1321,7 @@ namespace TBF.BenchControl.Sequences
sb.Append(";"); sb.Append(0); /// CY Analog out 4 (max Q)
}
}
else if (ProcessData.BatchRslts.WaterMeters[i].Compound())
else if (ProcessData.BatchRslts.Batch.WaterMeters[i].Compound())
{
/// Else if this is a compound meter
@@ -1332,13 +1335,13 @@ namespace TBF.BenchControl.Sequences
switch ((CompoundMeterId)b)
{
case CompoundMeterId.CompoundMain:
sb.Append(ProcessData.BatchRslts.WaterMeters[i].SerialNr); /// CE
sb.Append(ProcessData.BatchRslts.Batch.WaterMeters[i].SerialNr); /// CE
break;
case CompoundMeterId.CompoundAux:
sb.Append(ProcessData.BatchRslts.WaterMeters[i].SerialNrAux); /// CE
sb.Append(ProcessData.BatchRslts.Batch.WaterMeters[i].SerialNrAux); /// CE
break;
case CompoundMeterId.Compound:
sb.Append(ProcessData.BatchRslts.WaterMeters[i].SerialNr); /// CE
sb.Append(ProcessData.BatchRslts.Batch.WaterMeters[i].SerialNr); /// CE
break;
}
sb.Append(";"); sb.Append(mtrRslt.VolumeStart); /// CF WM Vinit - pri pevnom starte pociatocny stav natukany alebo cez inteligentny system
@@ -1376,14 +1379,14 @@ namespace TBF.BenchControl.Sequences
if (volumeMtr != null)
{
sb.Append(";"); sb.Append(ProcessData.BatchRslts.WaterMeters[i].SerialNr); /// WM Ser.No.
sb.Append(";"); sb.Append(ProcessData.BatchRslts.Batch.WaterMeters[i].SerialNr); /// WM Ser.No.
sb.Append(";"); sb.Append(volumeMtr.VolumeStart); /// WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
sb.Append(";"); sb.Append(volumeMtr.VolumeEnd); /// WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
sb.Append(";"); sb.Append(volumeMtr.VolumeMeter); /// WM Vmer - objem namerany vodomerom
sb.Append(";"); sb.Append(volumeMtr.VolumeRef); /// WM Vref - objem namerany stanicou
sb.Append(";"); sb.Append(volumeMtr.Error); /// WM Emt - chyba vodomerom nameraneho objemu
#if IPERL
sb.Append(";"); sb.Append(ProcessData.BatchRslts.WaterMeters[i].CalibFactor); /// iPerl calibration factor used during the test / ...
sb.Append(";"); sb.Append(ProcessData.BatchRslts.Batch.WaterMeters[i].CalibFactor); /// iPerl calibration factor used during the test / ...
#else
sb.Append(";"); sb.Append(" "); /// nechat prazdne
#endif
@@ -1404,14 +1407,14 @@ namespace TBF.BenchControl.Sequences
if (energyMtr != null)
{
sb.Append(";"); sb.Append(ProcessData.BatchRslts.WaterMeters[i].SerialNr); /// WM Ser.No.
sb.Append(";"); sb.Append(ProcessData.BatchRslts.Batch.WaterMeters[i].SerialNr); /// WM Ser.No.
sb.Append(";"); sb.Append(energyMtr.VolumeStart); /// WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
sb.Append(";"); sb.Append(energyMtr.VolumeEnd); /// WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
sb.Append(";"); sb.Append(energyMtr.VolumeMeter); /// WM Vmer - objem namerany vodomerom
sb.Append(";"); sb.Append(energyMtr.VolumeRef); /// WM Vref - objem namerany stanicou
sb.Append(";"); sb.Append(energyMtr.Error); /// WM Emt - chyba vodomerom nameraneho objemu
#if IPERL
sb.Append(";"); sb.Append(ProcessData.BatchRslts.WaterMeters[i].CalibFactor); /// iPerl calibration factor used during the test / ...
sb.Append(";"); sb.Append(ProcessData.BatchRslts.Batch.WaterMeters[i].CalibFactor); /// iPerl calibration factor used during the test / ...
#else
sb.Append(";"); sb.Append(" "); /// nechat prazdne
#endif
+8 -1
View File
@@ -114,6 +114,7 @@ namespace TBF.BenchControl
/// </summary>
public static Procedure Procedure; /// Procedure
public static IList<Test> Tests; /// Tests
public static bool IsRemoteProcedure;
/// Hardware devices connected to the PC controlling the bench.
@@ -219,6 +220,7 @@ namespace TBF.BenchControl
/// Find all balances (to initialize tank capacities in the control board)
/// Find the control board
IList<IScaleOrTank> tanks = new List<IScaleOrTank>();
ProcessData.IperlHeads = new List<TestMethods.iPerlCommunication.iPerlHead.IperlHead>();
SequenceBase.FlowMeters = new List<IFlowMeter>();
SequenceBase.RegulValves = new List<IRegulValve>();
SequenceBase.PumpsWithFM = new List<IPumpFM>();
@@ -234,6 +236,10 @@ namespace TBF.BenchControl
{
ProcessData.OracleDB = cmpnt as Output.DB.SensusOracle.Database;
}
if (cmpnt is TestMethods.iPerlCommunication.iPerlHead.IperlHead)
{
ProcessData.IperlHeads.Add(cmpnt as TestMethods.iPerlCommunication.iPerlHead.IperlHead);
}
if (cmpnt is IFlowMeter) SequenceBase.FlowMeters.Add(cmpnt as IFlowMeter);
if ((cmpnt is IRegulValve) && !(cmpnt is BenchControl.Elde.RegulValveTandem.RegulValveTandem))
{
@@ -542,7 +548,7 @@ namespace TBF.BenchControl
/// Loads selected procedure from the DB.
/// Updates StateMachine.Procedure and StateMachine.Tests
/// </summary>
public static bool LoadProcedure(ISession session, string procedureName)
public static bool LoadProcedure(ISession session, string procedureName, bool isRemote)
{
Procedure = null;
@@ -555,6 +561,7 @@ namespace TBF.BenchControl
Procedure = selectedProcs[0];
Tests = selectedProcs[0].Tests;
IsRemoteProcedure = isRemote;
return true;
}
-1
View File
@@ -103,7 +103,6 @@ namespace TBF.BenchControl
Factories.Add(new TestMethods.SensitivityTest.Factory());
Factories.Add(new TestMethods.iPerlCommunication.TestMethodFactory()); /// iPerlCommunication
Factories.Add(new TestMethods.RoiDetection.RoiDetectionFactory());
Factories.Add(new DataEntry.WMStates.EntryFormFactory());
Factories.Add(new Ambient.Comet.Factory());
Factories.Add(new Ambient.Greco.Factory());
Factories.Add(new Hart.Common.Factory());
@@ -469,11 +469,11 @@ namespace TBF.BenchControl.TestMethods.Adjustment
{
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
{
if (BatchRslts.WaterMeters[i] != null)
if (BatchRslts.Batch.WaterMeters[i] != null && !BatchRslts.Batch.WaterMeters[i].Disabled)
{
long wmInfoFlags;
BatchRslts.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.WaterMeters[i].InfoFlags = wmInfoFlags;
BatchRslts.Batch.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.Batch.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.Batch.WaterMeters[i].InfoFlags = wmInfoFlags;
}
}
}
@@ -762,8 +762,8 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
mainMeterRslt.TestDone = auxMeterRslt.TestDone = compoundMeterRslt.TestDone = true;
tstRslt.TestDone = true;
if (Qrise != 0) BatchRslts.WaterMeters[i].QRise = Qrise;
if (Qfall != 0) BatchRslts.WaterMeters[i].QFall = Qfall;
if (Qrise != 0) BatchRslts.Batch.WaterMeters[i].QRise = Qrise;
if (Qfall != 0) BatchRslts.Batch.WaterMeters[i].QFall = Qfall;
}
}
@@ -780,13 +780,16 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
/// Update water meter error flags
if (ErrorFlagsComp != null)
{
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
if (BatchRslts.Batch != null && BatchRslts.Batch.WaterMeters != null)
{
if (BatchRslts.WaterMeters[i] != null)
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
{
long wmInfoFlags;
BatchRslts.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.WaterMeters[i].InfoFlags = wmInfoFlags;
if (BatchRslts.Batch.WaterMeters[i] != null && !BatchRslts.Batch.WaterMeters[i].Disabled)
{
long wmInfoFlags;
BatchRslts.Batch.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.Batch.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.Batch.WaterMeters[i].InfoFlags = wmInfoFlags;
}
}
}
}
@@ -849,13 +849,16 @@ namespace TBF.BenchControl.TestMethods.DiverterTest
/// Update water meter error flags
if (ErrorFlagsComp != null)
{
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
if (BatchRslts.Batch != null && BatchRslts.Batch.WaterMeters != null)
{
if (BatchRslts.WaterMeters[i] != null)
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
{
long _infoFlags;
BatchRslts.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.WaterMeters[i].MeterTestRslts, out _infoFlags);
BatchRslts.WaterMeters[i].InfoFlags = infoFlags;
if (BatchRslts.Batch.WaterMeters[i] != null && !BatchRslts.Batch.WaterMeters[i].Disabled)
{
long wmInfoFlags;
BatchRslts.Batch.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.Batch.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.Batch.WaterMeters[i].InfoFlags = wmInfoFlags;
}
}
}
}
@@ -467,11 +467,11 @@ namespace TBF.BenchControl.TestMethods.Endurance
{
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
{
if (BatchRslts.WaterMeters[i] != null)
if (BatchRslts.Batch.WaterMeters[i] != null && !BatchRslts.Batch.WaterMeters[i].Disabled)
{
long wmInfoFlags;
BatchRslts.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.WaterMeters[i].InfoFlags = wmInfoFlags;
BatchRslts.Batch.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.Batch.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.Batch.WaterMeters[i].InfoFlags = wmInfoFlags;
}
}
}
@@ -1001,13 +1001,16 @@ namespace TBF.BenchControl.TestMethods.FixedStart
/// Update water meter error flags
if (ErrorFlagsComp != null)
{
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
if (BatchRslts.Batch != null && BatchRslts.Batch.WaterMeters != null)
{
if (BatchRslts.WaterMeters[i] != null)
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
{
long wmInfoFlags;
BatchRslts.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.WaterMeters[i].InfoFlags = wmInfoFlags;
if (BatchRslts.Batch.WaterMeters[i] != null && !BatchRslts.Batch.WaterMeters[i].Disabled)
{
long wmInfoFlags;
BatchRslts.Batch.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.Batch.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.Batch.WaterMeters[i].InfoFlags = wmInfoFlags;
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More