BatchResults.WaterMeters eliminated, Batch.WaterMeters are used instead ... many changes

This commit is contained in:
Milan Hanajik 2020-01-31 15:45:30 +01:00
parent 51523ea577
commit dc31e833ee
58 changed files with 574 additions and 490 deletions

View File

@ -18,7 +18,6 @@ namespace Results
public Batch Batch;
public int WMPositionsCount;
public WaterMeter[] WaterMeters; /// Array length is WMPositionsCount
[XmlIgnore]
@ -91,18 +90,24 @@ 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, });
}
}
@ -120,32 +125,31 @@ namespace Results
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));
}
}
}
}
}
@ -163,11 +167,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;
@ -178,11 +188,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;
}
@ -194,11 +204,11 @@ 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;
}
@ -208,44 +218,15 @@ 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]);
}
}
}
}
/// <summary>
/// Save public fields of this class to the XML file.
/// </summary>
public void Save(string fileName)
{
try
using (BinaryWriter writer = new BinaryWriter(File.OpenWrite(fileName)))
{
/// Write settings to an unencrypted file
using (BinaryWriter writer = new BinaryWriter(File.OpenWrite(fileName)))
{
WriteBinary(writer);
log.Warn("LocalSettings succesfully saved");
}
}
catch (Exception e)
{
log.ErrorFormat("Failed to save to '{0}': {1}", fileName, e.Message);
WriteBinary(writer);
log.Warn("LocalSettings succesfully saved");
}
}
@ -253,14 +234,17 @@ namespace Results
{
Batch.WriteBinary(writer);
writer.Write(WMPositionsCount);
writer.Write((WaterMeters != null) ? WaterMeters.Length : (int)0);
if (WaterMeters != null)
}
public static BatchResults Load(string fileName)
{
BatchResults br = new BatchResults();
using (BinaryReader reader = new BinaryReader(File.OpenRead(fileName)))
{
for (int i = 0; i < WaterMeters.Length; i++)
{
WaterMeters[i].WriteBinary(writer);
}
br.ReadBinary(reader);
log.Warn("LocalSettings succesfully saved");
}
return br;
}
public virtual void ReadBinary(BinaryReader reader)
@ -269,12 +253,6 @@ namespace Results
Batch.ReadBinary(reader);
WMPositionsCount = reader.ReadInt32();
int waterMetersLength = reader.ReadInt32();
WaterMeters = new WaterMeter[waterMetersLength];
for (int i = 0; i < waterMetersLength; i++)
{
WaterMeters[i] = new WaterMeter();
WaterMeters[i].ReadBinary(reader);
}
}
}
}

View File

@ -46,7 +46,7 @@ namespace Results.Entities
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

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]);
}
}
}

View File

@ -49,7 +49,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 +87,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 +96,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;
}
@ -198,7 +198,7 @@ namespace TBF.BenchControl.DataEntry.Combined
{
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)
{
@ -276,11 +276,14 @@ namespace TBF.BenchControl.DataEntry.Combined
/// <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))
if (batchResults.Batch != null && batchResults.Batch.WaterMeters != null)
{
foreach (var wm in batchResults.Batch.WaterMeters)
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}

View File

@ -49,7 +49,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 +87,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 +96,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;
}
@ -197,7 +197,7 @@ namespace TBF.BenchControl.DataEntry.Fewa
{
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)
{
@ -211,7 +211,7 @@ namespace TBF.BenchControl.DataEntry.Fewa
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++)
@ -278,13 +278,16 @@ namespace TBF.BenchControl.DataEntry.Fewa
/// <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))
if (batchResults.Batch != null && batchResults.Batch.WaterMeters != null)
{
foreach (var wm in batchResults.Batch.WaterMeters)
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
}
}

View File

@ -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)
{

View File

@ -64,7 +64,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 +105,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 +114,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 +168,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();
}
@ -235,7 +235,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
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)
{
@ -248,7 +248,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
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 +266,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 +281,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];
@ -312,11 +312,14 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
/// <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))
if (batchResults.Batch != null && batchResults.Batch.WaterMeters != null)
{
foreach (var wm in batchResults.Batch.WaterMeters)
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}

View File

@ -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)
{

View File

@ -64,7 +64,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 +105,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 +114,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 +168,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();
}
@ -235,7 +235,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
{
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)
{
@ -248,7 +248,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 +266,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 +281,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];
@ -312,11 +312,14 @@ namespace TBF.BenchControl.DataEntry.HeatMeters6
/// <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 (batchResults.Batch != null && batchResults.Batch.WaterMeters != null)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
foreach (var wm in batchResults.Batch.WaterMeters)
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}

View File

@ -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

View File

@ -43,9 +43,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 +78,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 +87,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 +142,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];

View File

@ -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();
}

View File

@ -52,7 +52,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 +91,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 +100,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 +146,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,7 +192,7 @@ 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)
{
@ -207,7 +207,7 @@ 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)
{

View File

@ -49,7 +49,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 +87,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 +96,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;
}
@ -197,7 +197,7 @@ namespace TBF.BenchControl.DataEntry.Single
{
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)
{
@ -210,7 +210,7 @@ namespace TBF.BenchControl.DataEntry.Single
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++)
@ -277,13 +277,16 @@ namespace TBF.BenchControl.DataEntry.Single
/// <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))
if (batchResults.Batch != null && batchResults.Batch.WaterMeters != null)
{
foreach (var wm in batchResults.Batch.WaterMeters)
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
}
}

View File

@ -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)
{

View File

@ -49,7 +49,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 +87,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 +96,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;
}
@ -197,7 +197,7 @@ namespace TBF.BenchControl.DataEntry.Standard12
{
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)
{
@ -210,7 +210,7 @@ namespace TBF.BenchControl.DataEntry.Standard12
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++)
@ -277,11 +277,14 @@ namespace TBF.BenchControl.DataEntry.Standard12
/// <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))
if (batchResults.Batch != null && batchResults.Batch.WaterMeters != null)
{
foreach (var wm in batchResults.Batch.WaterMeters)
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}

View File

@ -49,7 +49,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 +87,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 +96,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;
}
@ -197,7 +197,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
{
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)
{
@ -210,7 +210,7 @@ namespace TBF.BenchControl.DataEntry.Standard24
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++)
@ -277,13 +277,16 @@ namespace TBF.BenchControl.DataEntry.Standard24
/// <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))
if (batchResults.Batch != null && batchResults.Batch.WaterMeters != null)
{
foreach (var wm in batchResults.Batch.WaterMeters)
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}
}
}
}

View File

@ -49,7 +49,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 +87,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 +96,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;
}
@ -197,7 +197,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
{
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)
{
@ -210,7 +210,7 @@ namespace TBF.BenchControl.DataEntry.Standard48
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++)
@ -277,11 +277,14 @@ namespace TBF.BenchControl.DataEntry.Standard48
/// <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))
if (batchResults.Batch != null && batchResults.Batch.WaterMeters != null)
{
foreach (var wm in batchResults.Batch.WaterMeters)
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}

View File

@ -48,7 +48,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
{
@ -86,7 +86,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 +95,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 +124,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();
}
@ -196,7 +196,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
{
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)
{
@ -213,7 +213,7 @@ namespace TBF.BenchControl.DataEntry.Standard6
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++)
@ -283,16 +283,19 @@ namespace TBF.BenchControl.DataEntry.Standard6
/// <param name="batchResults">Test results to be updated with the information</param>
public void UpdateTestResults(Results.BatchResults batchResults)
{
if (batchRemark != null)
if (batchResults.Batch != null && batchRemark != null)
{
batchResults.Batch.Remark = batchRemark;
}
foreach (var wm in batchResults.WaterMeters)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
if (batchResults.Batch != null && batchResults.Batch.WaterMeters != null)
{
foreach (var wm in batchResults.Batch.WaterMeters)
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}

View File

@ -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();
}

View File

@ -98,7 +98,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 +137,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 +146,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;
}
@ -290,7 +290,7 @@ namespace TBF.BenchControl.DataEntry.StandardCamera
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)
{
@ -305,7 +305,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 +323,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)
{
@ -396,11 +396,14 @@ namespace TBF.BenchControl.DataEntry.StandardCamera
/// <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))
if (batchResults.Batch != null && batchResults.Batch.WaterMeters != null)
{
foreach (var wm in batchResults.Batch.WaterMeters)
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}

View File

@ -49,7 +49,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 +87,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 +96,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 +137,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();
}
///
@ -194,7 +194,7 @@ namespace TBF.BenchControl.DataEntry.iPerl
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++)
@ -256,11 +256,14 @@ namespace TBF.BenchControl.DataEntry.iPerl
/// <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 (batchResults.Batch != null && batchResults.Batch.WaterMeters != null)
{
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
foreach (var wm in batchResults.Batch.WaterMeters)
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
if (!wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}

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;
}

View File

@ -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);
}
}

View File

@ -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];

View File

@ -50,7 +50,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 +217,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 +283,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))
{

View File

@ -52,7 +52,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 +93,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;
}
@ -188,7 +188,7 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.DataEntryForRadio
{
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)
{
@ -248,11 +248,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)
@ -273,11 +273,14 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.DataEntryForRadio
/// <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))
if (batchResults.Batch != null && batchResults.Batch.WaterMeters != null)
{
foreach (var wm in batchResults.Batch.WaterMeters)
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
if ((wm != null) && !wm.Disabled && (PurchaseOrder != null))
{
wm.PurchaseOrder = PurchaseOrder; /// PurchaseOrder == null if form button OK has not been used => no update
}
}
}
}

View File

@ -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)

View File

@ -520,10 +520,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)
{
@ -585,7 +585,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)
@ -725,9 +725,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
@ -1340,8 +1340,25 @@ namespace TBF.BenchControl.Sequences
Results.Utils.GetCounterStates(ProcessData.BatchRslts.Batch, Program.LocalSettings.Counters);
}
///
/// Update batch results, determine whether watermeters passed all required tests
///
ProcessData.BatchRslts.Batch.EndTime = DateTime.Now;
ProcessData.BatchRslts.AddWaterMetersToBatch();
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();
}
}
//------------------------------------------------------
Bridge.OnActivity(this, Strings.Saving_and_printing_results);
@ -1928,9 +1945,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)
{

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

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}
}

View File

@ -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;
}
}
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}
}

View File

@ -646,13 +646,16 @@ namespace TBF.BenchControl.TestMethods.FixedStartAdvanced
/// 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)
{
long wmInfoFlags;
BatchRslts.Batch.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.Batch.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.Batch.WaterMeters[i].InfoFlags = wmInfoFlags;
}
}
}
}

View File

@ -1000,16 +1000,19 @@ namespace TBF.BenchControl.TestMethods.FixedStartDeferredEval
/// Update water meter error flags
if (ErrorFlagsComp != null)
{
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
{
if (BatchRslts.WaterMeters[i] != null)
{
long wmInfoFlags;
BatchRslts.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.WaterMeters[i].InfoFlags = wmInfoFlags;
if (BatchRslts.Batch != null && BatchRslts.Batch.WaterMeters != null)
{
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
{
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;
}
}
}
}
}
}
/// Update results
Bridge.OnTestCompleted(this, new TestCompletedEventArgs(data.TestName, tstRslt));

View File

@ -1145,16 +1145,19 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollDeferredEval
/// Update water meter error flags
if (ErrorFlagsComp != null)
{
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
{
if (BatchRslts.WaterMeters[i] != null)
{
long wmInfoFlags;
BatchRslts.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.WaterMeters[i].InfoFlags = wmInfoFlags;
if (BatchRslts.Batch != null && BatchRslts.Batch.WaterMeters != null)
{
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
{
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;
}
}
}
}
}
}
/// Update results
Bridge.OnTestCompleted(this, new TestCompletedEventArgs(data.TestName, tstRslt));

View File

@ -1180,13 +1180,16 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
/// 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;
}
}
}
}

View File

@ -841,13 +841,16 @@ namespace TBF.BenchControl.TestMethods.FixedStartTankCollection
/// 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;
}
}
}
}

View File

@ -689,13 +689,16 @@ namespace TBF.BenchControl.TestMethods.FlyingStart
/// 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;
}
}
}
}

View File

@ -1046,13 +1046,16 @@ namespace TBF.BenchControl.TestMethods.FlyingStartFirstRepetWithMassColl
/// 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;
}
}
}
}

View File

@ -1152,13 +1152,16 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollComparative
/// 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;
}
}
}
}

View File

@ -1011,13 +1011,16 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollProlonged
/// 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;
}
}
}
}

View File

@ -1025,13 +1025,16 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
/// 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;
}
}
}
}

View File

@ -711,13 +711,16 @@ namespace TBF.BenchControl.TestMethods.FlyingStartTankCollection
/// 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;
}
}
}
}

View File

@ -125,7 +125,7 @@ namespace TBF.BenchControl.TestMethods.ManualEntry
IList<Results.ManualEntryItemSpec> items = Results.ManualEntryItemSpec.FromStrArray(cfg.Items);
foreach (var waterMeter in BatchRslts.WaterMeters)
foreach (var waterMeter in BatchRslts.Batch.WaterMeters)
{
if (waterMeter == null && waterMeter.Disabled) continue;
@ -175,13 +175,16 @@ namespace TBF.BenchControl.TestMethods.ManualEntry
/// 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].Disabled)
{
long wmInfoFlags;
BatchRslts.Batch.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.Batch.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.Batch.WaterMeters[i].InfoFlags = wmInfoFlags;
}
}
}
}

View File

@ -465,11 +465,11 @@ namespace TBF.BenchControl.TestMethods.PulsesTest
{
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;
}
}
}

View File

@ -467,11 +467,11 @@ namespace TBF.BenchControl.TestMethods.PulsesTestManual
{
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;
}
}
}

View File

@ -350,7 +350,7 @@ namespace TBF.BenchControl.TestMethods.SensitivityTest
for (int i = 0; i < Config.Data.WMsCount; i++)
{
if ((BatchRslts.WaterMeters[i] != null) && !BatchRslts.WaterMeters[i].Disabled && (RegisterReaders[i] != null) && !detected[i])
if ((BatchRslts.Batch.WaterMeters[i] != null) && !BatchRslts.Batch.WaterMeters[i].Disabled && (RegisterReaders[i] != null) && !detected[i])
{
double[] freqBefore = new double[DetectionKernelSize];
double[] freqAfter = new double[DetectionKernelSize];
@ -375,7 +375,7 @@ namespace TBF.BenchControl.TestMethods.SensitivityTest
aveFreqAfter /= (double)(DetectionKernelSize);
UiBridge.Bridge.OnLog(this, string.Format(" WM{0}: pulseFreq={1}, aveFreqB={2}, aveFreqA={3}\r\n",
BatchRslts.WaterMeters[i].WMPosition,
BatchRslts.Batch.WaterMeters[i].WMPosition,
pulseFreqsForDetection[i, 0].ToString("F2"),
aveFreqBefore.ToString("F2"),
aveFreqAfter.ToString("F2")));
@ -401,7 +401,7 @@ namespace TBF.BenchControl.TestMethods.SensitivityTest
allDetected = true;
for (int i = 0; i < Config.Data.WMsCount; i++)
{
if ((BatchRslts.WaterMeters[i] != null) && !BatchRslts.WaterMeters[i].Disabled && (RegisterReaders[i] != null) && !detected[i]) allDetected = false;
if ((BatchRslts.Batch.WaterMeters[i] != null) && !BatchRslts.Batch.WaterMeters[i].Disabled && (RegisterReaders[i] != null) && !detected[i]) allDetected = false;
}
}
}
@ -526,13 +526,16 @@ namespace TBF.BenchControl.TestMethods.SensitivityTest
/// 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)
{
long wmInfoFlags;
BatchRslts.Batch.WaterMeters[i].ErrorFlags = ErrorFlagsComp.GetWMtrErrorFlags(BatchRslts.Batch.WaterMeters[i].MeterTestRslts, out wmInfoFlags);
BatchRslts.Batch.WaterMeters[i].InfoFlags = wmInfoFlags;
}
}
}
}

View File

@ -792,7 +792,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
if ((ihead.Group == group) && (threadIx < muxBrdOrGroup14Nrs.Count) && (ihead.MuxBoardNrOrGroup14 == muxBrdOrGroup14Nrs[threadIx]))
{
wmFound = true;
Results.Entities.WaterMeter wm = ProcessData.BatchRslts.WaterMeters[waterMeterPositions0[wmNr0]];
Results.Entities.WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[waterMeterPositions0[wmNr0]];
CommErr error;
string resultStr = string.Empty;

View File

@ -114,7 +114,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
{
Results.Entities.WaterMeter wm = BatchRslts.WaterMeters[i];
Results.Entities.WaterMeter wm = BatchRslts.Batch.WaterMeters[i];
Results.Entities.MeterTestRslt mtr = ProcessData.BatchRslts.GetMeterTestRslt(test.Name, i, CompoundMeterId.Single);
///// Reference to iPerl water meter or null:

View File

@ -546,10 +546,10 @@ namespace TBF.UI.Process
if (!tRes.Batch.Compound)
{
for (int i = 0; i < Math.Min(textBoxesCount, ProcessData.BatchRslts.WaterMeters.Length); i++)
for (int i = 0; i < Math.Min(textBoxesCount, ProcessData.BatchRslts.Batch.WaterMeters.Count); i++)
{
WaterMeter wm = ProcessData.BatchRslts.WaterMeters[i];
MeterTestRslt mtr = (wm != null) ? wm.GetMeterTestRslt(args.TestName) : null;
WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[i];
MeterTestRslt mtr = (wm != null && !wm.Disabled) ? wm.GetMeterTestRslt(args.TestName) : null;
if (mtr != null)
{
@ -565,7 +565,7 @@ namespace TBF.UI.Process
{
for (int compMtr = 0; compMtr < Config.Data.CompoundWMsCount; compMtr++)
{
WaterMeter wm = ProcessData.BatchRslts.WaterMeters[compMtr];
WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[compMtr];
if (wm == null) continue;
int end = Math.Min(textBoxesCount, Config.Data.WMsCount);

View File

@ -575,9 +575,9 @@ namespace TBF.UI.Process
if (!tRes.Batch.Compound)
{
for (int i = 0; i < Math.Min(textBoxesCount, ProcessData.BatchRslts.WaterMeters.Length); i++)
for (int i = 0; i < Math.Min(textBoxesCount, ProcessData.BatchRslts.Batch.WaterMeters.Count); i++)
{
WaterMeter wm = ProcessData.BatchRslts.WaterMeters[i];
WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[i];
MeterTestRslt mtr = (wm != null) ? wm.GetMeterTestRslt(args.TestName) : null;
if (mtr != null)
@ -594,8 +594,8 @@ namespace TBF.UI.Process
{
for (int compMtr = 0; compMtr < Config.Data.CompoundWMsCount; compMtr++)
{
WaterMeter wm = ProcessData.BatchRslts.WaterMeters[compMtr];
if (wm == null) continue;
WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[compMtr];
if (wm == null && !wm.Disabled) continue;
int end = Math.Min(textBoxesCount, Config.Data.WMsCount);

View File

@ -579,9 +579,9 @@ namespace TBF.UI.Process
if (!tRes.Batch.Compound)
{
for (int i = 0; i < Math.Min(textBoxesCount, ProcessData.BatchRslts.WaterMeters.Length); i++)
for (int i = 0; i < Math.Min(textBoxesCount, ProcessData.BatchRslts.Batch.WaterMeters.Count); i++)
{
WaterMeter wm = ProcessData.BatchRslts.WaterMeters[i];
WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[i];
MeterTestRslt mtr = (wm != null) ? wm.GetMeterTestRslt(args.TestName) : null;
if (mtr != null)
@ -598,8 +598,8 @@ namespace TBF.UI.Process
{
for (int compMtr = 0; compMtr < Config.Data.CompoundWMsCount; compMtr++)
{
WaterMeter wm = ProcessData.BatchRslts.WaterMeters[compMtr];
if (wm == null) continue;
WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[compMtr];
if (wm == null && !wm.Disabled) continue;
int end = Math.Min(textBoxesCount, Config.Data.WMsCount);

View File

@ -551,10 +551,10 @@ namespace TBF.UI.Process
///
/// Test results for single meters
///
for (int i = 0; i < Math.Min(metersListView.Items.Count, ProcessData.BatchRslts.WaterMeters.Length); i++)
for (int i = 0; i < Math.Min(metersListView.Items.Count, ProcessData.BatchRslts.Batch.WaterMeters.Count); i++)
{
WaterMeter wm = ProcessData.BatchRslts.WaterMeters[i];
MeterTestRslt mtr = (wm != null) ? wm.GetMeterTestRslt(args.TestName) : null;
WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[i];
MeterTestRslt mtr = (wm != null && !wm.Disabled) ? wm.GetMeterTestRslt(args.TestName) : null;
if (mtr != null)
{
@ -571,10 +571,10 @@ namespace TBF.UI.Process
///
/// Test results for heat meters
///
for (int i = 0; i < Math.Min(metersListView.Items.Count, ProcessData.BatchRslts.WaterMeters.Length); i++)
for (int i = 0; i < Math.Min(metersListView.Items.Count, ProcessData.BatchRslts.Batch.WaterMeters.Count); i++)
{
WaterMeter wm = ProcessData.BatchRslts.WaterMeters[i];
if (wm == null) continue;
WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[i];
if (wm == null || wm.Disabled) continue;
MeterTestRslt mtrVolume = wm.GetMeterTestRslt(args.TestName, CompoundMeterId.HeatMeterVolume);
MeterTestRslt mtrEnergy = wm.GetMeterTestRslt(args.TestName, CompoundMeterId.HeatMeterEnergy);
@ -603,8 +603,8 @@ namespace TBF.UI.Process
///
for (int z = 0; z < Math.Min(Config.Data.CompoundWMsCount, metersListView.Items.Count / 3); z++)
{
WaterMeter wm = ProcessData.BatchRslts.WaterMeters[z];
if (wm == null) continue;
WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[z];
if (wm == null && !wm.Disabled) continue;
MeterTestRslt mtrComp = wm.GetMeterTestRslt(args.TestName, CompoundMeterId.Compound);
MeterTestRslt mtrMain = wm.GetMeterTestRslt(args.TestName, CompoundMeterId.CompoundMain);

View File

@ -249,7 +249,7 @@ namespace TBF.UI.ResultsMI
IList<WMeterRsltItemSpec> items = null;
foreach (var wm in b.WaterMeters)
{
if (wm != null)
if (!wm.Disabled && wm.WaterMeterData != null)
{
if (wm.WaterMeterData.Compound)
{

View File

@ -327,11 +327,11 @@ namespace TBF.UI.ResultsMI
///
void OnDoubleClick(object sender, WaterMeterEventArgs args)
{
int waterMetersCount = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters.Length;
int waterMetersCount = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count;
WaterMeter wm;
if ((args.WMPosition <= 0) || (args.WMPosition > waterMetersCount) ||
((wm = TBF.BenchControl.Sequences.ProcessData.BatchRslts.WaterMeters[args.WMPosition - 1]) == null))
((wm = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters[args.WMPosition - 1]) == null))
{
MessageBox.Show(Strings.No_water_meter);
return;
@ -384,7 +384,7 @@ namespace TBF.UI.ResultsMI
bool IsLayoutChangedDueToData(BatchResults results)
{
if (results == null || results.WaterMeters == null || results.WaterMeters.Length == 0)
if (results == null || results.Batch == null || results.Batch.WaterMeters == null || results.Batch.WaterMeters.Count == 0)
{
/// 'results' contain no water meters, wmRsltsCtrl.Lenght == 0 expected
return (wmRsltsCtrl.Length != 0); /// true when there are currently water meters on screen
@ -394,11 +394,11 @@ namespace TBF.UI.ResultsMI
/// Determine water meter positions count
///
int displayedWatermetersCount = 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)
if (results.Batch.WaterMeters[i] != null)
{
if (ShowDisabledPositions || !results.WaterMeters[i].Disabled)
if (ShowDisabledPositions || !results.Batch.WaterMeters[i].Disabled)
{
displayedWatermetersCount++;
}
@ -428,11 +428,11 @@ namespace TBF.UI.ResultsMI
/// 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)
if (results.Batch.WaterMeters[i] != null)
{
if (ShowDisabledPositions || !results.WaterMeters[i].Disabled)
if (ShowDisabledPositions || !results.Batch.WaterMeters[i].Disabled)
{
displayedControlsCount++;
}
@ -473,11 +473,11 @@ namespace TBF.UI.ResultsMI
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)
if (results.Batch.WaterMeters[i] != null)
{
if (!results.WaterMeters[i].Disabled || ShowDisabledPositions)
if (!results.Batch.WaterMeters[i].Disabled || ShowDisabledPositions)
{
/// Create one water meter position / control
wmRsltsCtrl[ix] = (TestsArrangement == TestsArrangement.Rows)
@ -489,7 +489,7 @@ namespace TBF.UI.ResultsMI
wmRsltsCtrl[ix].WMResultsClickedHandler += HandleDoubleClick;
flowLayoutPanel.Controls.Add(wmRsltsCtrl[ix] as UserControl);
if ((firstEnabledControl == null) && !results.WaterMeters[i].Disabled) firstEnabledControl = wmRsltsCtrl[ix];
if ((firstEnabledControl == null) && !results.Batch.WaterMeters[i].Disabled) firstEnabledControl = wmRsltsCtrl[ix];
ix++;
}
}
@ -530,14 +530,14 @@ namespace TBF.UI.ResultsMI
void UpdateResults(BatchResults batchResults)
{
if ((batchResults != null) && (batchResults.WaterMeters != null))
if (batchResults != null && batchResults.Batch != null && batchResults.Batch.WaterMeters != null)
{
int ctrlIx = 0;
for (int i = 0; i < batchResults.WaterMeters.Length; i++)
for (int i = 0; i < batchResults.Batch.WaterMeters.Count; i++)
{
if (!batchResults.WaterMeters[i].Disabled || ShowDisabledPositions)
if (!batchResults.Batch.WaterMeters[i].Disabled || ShowDisabledPositions)
{
if (ctrlIx < wmRsltsCtrl.Length) wmRsltsCtrl[ctrlIx++].Update(batchResults.WaterMeters[i]);
if (ctrlIx < wmRsltsCtrl.Length) wmRsltsCtrl[ctrlIx++].Update(batchResults.Batch.WaterMeters[i]);
}
}
}