diff --git a/TestBenchFramework/BenchControl/ResultsPrinters/Basic/BasicPrintDocument.cs b/TestBenchFramework/BenchControl/ResultsPrinters/Basic/BasicPrintDocument.cs
index 975776585..e9ab3f86c 100644
--- a/TestBenchFramework/BenchControl/ResultsPrinters/Basic/BasicPrintDocument.cs
+++ b/TestBenchFramework/BenchControl/ResultsPrinters/Basic/BasicPrintDocument.cs
@@ -168,16 +168,16 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
int nextWmTop = BodyTop;
if (combined)
{
- for (int wmNr = 0; wmNr < Program.WMsCount / 2; wmNr++)
+ for (int wmNr = 1; wmNr <= Program.WMsCount / 2; wmNr++)
{
- nextWmTop += PrintCombinedWM(e, wmNr, nextWmTop);
+ nextWmTop += PrintCombinedWM(e, wmNr, nextWmTop); /// wmNr is 1-based
}
}
else
{
- for (int wmNr = 0; wmNr < Program.WMsCount; wmNr++)
+ for (int wmNr = 1; wmNr <= Program.WMsCount; wmNr++)
{
- nextWmTop += PrintSingleWM(e, wmNr, nextWmTop);
+ nextWmTop += PrintSingleWM(e, wmNr, nextWmTop); /// wmNr is 1-based
}
}
@@ -188,12 +188,12 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
///
/// Print one water meter results
///
- /// Water meter number
+ /// Water meter number (1-based)
/// Top coordinate of watermeter data
/// The height of the printed section
- int PrintSingleWM(System.Drawing.Printing.PrintPageEventArgs e, int wmNr, int top)
+ int PrintSingleWM(System.Drawing.Printing.PrintPageEventArgs e, int wmNr1, int top)
{
- IList results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr);
+ IList results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr1);
/// Determin column widths
float[] columnPos = new float[resultItems.Count + 1];
@@ -206,7 +206,7 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
{
if (tr != null)
{
- float width = e.Graphics.MeasureString(resultItems[i].Print(tr.Meters[wmNr]), font).Width;
+ float width = e.Graphics.MeasureString(resultItems[i].Print(tr.Meters[wmNr1 - 1]), font).Width;
if (width > columnWidth) columnWidth = width;
}
}
@@ -215,12 +215,12 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
int tableLeftX = (int)columnPos[0];
int tableRightX = (int)columnPos[resultItems.Count] - 20;
- string wmText = string.Format("Water meter {0}", wmNr + 1);
+ string wmText = string.Format("Water meter {0}", wmNr1);
PrintAt(e, 100, top, wmText);
- if (!string.IsNullOrEmpty(unsortedResults[0].Meters[wmNr].SerialNr))
+ if (!string.IsNullOrEmpty(unsortedResults[0].Meters[wmNr1 - 1].SerialNr))
{
PrintAt(e, 100 + (int)e.Graphics.MeasureString(wmText, font).Width, top,
- string.Format(", s/n = {0}", unsortedResults[0].Meters[wmNr].SerialNr));
+ string.Format(" s/n = {0}", unsortedResults[0].Meters[wmNr1 - 1].SerialNr));
}
/// Horizontal line
@@ -242,7 +242,7 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
{
for (int i = 0; i < resultItems.Count; i++)
{
- string text = resultItems[i].Print(results[r].Meters[wmNr]);
+ string text = resultItems[i].Print(results[r].Meters[wmNr1 - 1]);
string[] texts = text.Split(new char[] { '|' });
@@ -269,12 +269,12 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
///
/// Print one combined water meter results
///
- /// Water meter number
+ /// Water meter number (1-based)
/// Top coordinate of watermeter data
/// The height of the printed section
- int PrintCombinedWM(System.Drawing.Printing.PrintPageEventArgs e, int wmNr, int top)
+ int PrintCombinedWM(System.Drawing.Printing.PrintPageEventArgs e, int wmNr1, int top)
{
- IList results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr);
+ IList results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr1);
/// Determin column widths
float[] columnPos = new float[resultItems.Count + 1];
@@ -287,9 +287,9 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
{
if (tr != null)
{
- float width = e.Graphics.MeasureString(resultItems[i].PrintCombined(tr.Meters[2 * wmNr],
- tr.Meters[2 * wmNr + 1],
- tr.CombinedMeters[wmNr]), font).Width;
+ float width = e.Graphics.MeasureString(resultItems[i].PrintCombined(tr.Meters[2 * wmNr1 - 2],
+ tr.Meters[2 * wmNr1 - 1],
+ tr.CombinedMeters[wmNr1 - 1]), font).Width;
if (width > columnWidth) columnWidth = width;
}
}
@@ -298,14 +298,14 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
int tableLeftX = (int)columnPos[0];
int tableRightX = (int)columnPos[resultItems.Count] - 20;
- string wmText = string.Format("Water meter {0}", wmNr + 1);
+ string wmText = string.Format("Water meter {0}", wmNr1);
PrintAt(e, 100, top, wmText);
- if (!string.IsNullOrEmpty(unsortedResults[0].Meters[2 * wmNr].SerialNr))
+ if (!string.IsNullOrEmpty(unsortedResults[0].Meters[2 * wmNr1 - 2].SerialNr))
{
PrintAt(e, 100 + (int)e.Graphics.MeasureString(wmText, font).Width, top,
- string.Format(", Main s/n: {0}, Aux. s/n:{1}",
- unsortedResults[0].Meters[2 * wmNr].SerialNr,
- unsortedResults[0].Meters[2 * wmNr + 1].SerialNr));
+ string.Format(" Main s/n: {0} Aux. s/n:{1}",
+ unsortedResults[0].Meters[2 * wmNr1 - 2].SerialNr,
+ unsortedResults[0].Meters[2 * wmNr1 - 1].SerialNr));
}
/// Horizontal line
@@ -327,9 +327,9 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
{
for (int i = 0; i < resultItems.Count; i++)
{
- string text = resultItems[i].PrintCombined(results[r].Meters[2 * wmNr],
- results[r].Meters[2 * wmNr + 1],
- results[r].CombinedMeters[wmNr]);
+ string text = resultItems[i].PrintCombined(results[r].Meters[2 * wmNr1 - 2],
+ results[r].Meters[2 * wmNr1 - 1],
+ results[r].CombinedMeters[wmNr1 - 1]);
string[] texts = text.Split(new char[] { '|' });
if (texts.Length == 2)
diff --git a/TestBenchFramework/BenchControl/ResultsWriters/Basic/Writer.cs b/TestBenchFramework/BenchControl/ResultsWriters/Basic/Writer.cs
index 7183f27a4..6abfe1f08 100644
--- a/TestBenchFramework/BenchControl/ResultsWriters/Basic/Writer.cs
+++ b/TestBenchFramework/BenchControl/ResultsWriters/Basic/Writer.cs
@@ -168,7 +168,6 @@ namespace TBF.BenchControl.ResultsWriters.Basic
writer.WriteLine(rightColumn[i]);
}
writer.WriteLine(string.Empty);
- writer.WriteLine(string.Empty);
///--------
/// Body
@@ -176,21 +175,21 @@ namespace TBF.BenchControl.ResultsWriters.Basic
int nrWMs = (combined ? Program.WMsCount / 2 : Program.WMsCount);
if (combined)
{
- for (int wmNr = 0; wmNr < Program.WMsCount / 2; wmNr++) WriteCombinedWM(wmNr);
+ for (int wmNr = 1; wmNr <= Program.WMsCount / 2; wmNr++) WriteCombinedWM(wmNr); /// wmNr is 1-based
}
else
{
- for (int wmNr = 0; wmNr < Program.WMsCount; wmNr++) WriteSingleWM(wmNr);
+ for (int wmNr = 1; wmNr <= Program.WMsCount; wmNr++) WriteSingleWM(wmNr); /// wmNr is 1-based
}
}
///
/// Write one water meter results
///
- /// Water meter number
- void WriteSingleWM(int wmNr)
+ /// Water meter number (1-based)
+ void WriteSingleWM(int wmNr1)
{
- IList results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr);
+ IList results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr1);
/// Determine column widths
int[] columnWidths = new int[resultItems.Count];
@@ -202,7 +201,7 @@ namespace TBF.BenchControl.ResultsWriters.Basic
{
if (tr != null)
{
- int len = resultItems[i].Print(tr.Meters[wmNr]).Length;
+ int len = resultItems[i].Print(tr.Meters[wmNr1 - 1]).Length;
if (len > columnWidths[i]) columnWidths[i] = len;
}
}
@@ -212,10 +211,10 @@ namespace TBF.BenchControl.ResultsWriters.Basic
/// Write water meter number and s/n
- writer.Write(string.Format("Water meter {0}", wmNr + 1));
- if (!string.IsNullOrEmpty(unsortedResults[0].Meters[wmNr].SerialNr))
+ writer.Write(string.Format("Water meter {0}", wmNr1));
+ if (!string.IsNullOrEmpty(unsortedResults[0].Meters[wmNr1 - 1].SerialNr))
{
- writer.Write(string.Format(", s/n: {0}", unsortedResults[0].Meters[wmNr].SerialNr));
+ writer.Write(string.Format(" s/n: {0}", unsortedResults[0].Meters[wmNr1 - 1].SerialNr));
}
writer.WriteLine(string.Empty);
@@ -245,7 +244,7 @@ namespace TBF.BenchControl.ResultsWriters.Basic
{
for (int i = 0; i < resultItems.Count; i++)
{
- string text = resultItems[i].Print(tr.Meters[wmNr]);
+ string text = resultItems[i].Print(tr.Meters[wmNr1 - 1]);
/// Get rid of the color information
string[] texts = text.Split(new char[] { '|' });
@@ -265,16 +264,15 @@ namespace TBF.BenchControl.ResultsWriters.Basic
writer.WriteLine(new String('-', totalWidth)); /// Horizontal line below the body
writer.WriteLine(string.Empty);
- writer.WriteLine(string.Empty);
}
///
/// Write one combined water meter results
///
- /// Water meter number
- void WriteCombinedWM(int wmNr)
+ /// Combined water meter number (1-based)
+ void WriteCombinedWM(int wmNr1)
{
- IList results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr);
+ IList results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr1);
/// Determin column widths
int[] columnWidths = new int[resultItems.Count];
@@ -286,7 +284,7 @@ namespace TBF.BenchControl.ResultsWriters.Basic
{
if (tr != null)
{
- int len = resultItems[i].PrintCombined(tr.Meters[2 * wmNr], tr.Meters[2 * wmNr + 1], tr.CombinedMeters[wmNr]).Length;
+ int len = resultItems[i].PrintCombined(tr.Meters[2 * wmNr1 - 2], tr.Meters[2 * wmNr1 - 1], tr.CombinedMeters[wmNr1 - 1]).Length;
if (len > columnWidths[i]) columnWidths[i] = len;
}
}
@@ -296,14 +294,14 @@ namespace TBF.BenchControl.ResultsWriters.Basic
/// Write water meter number and two s/n-s
- writer.Write(string.Format("Water meter {0}", wmNr + 1));
- if (!string.IsNullOrEmpty(unsortedResults[0].Meters[2 * wmNr].SerialNr))
+ writer.Write(string.Format("Water meter {0}", wmNr1));
+ if (!string.IsNullOrEmpty(unsortedResults[0].Meters[2 * wmNr1 - 2].SerialNr))
{
- writer.Write(string.Format(", Main s/n: {0}", unsortedResults[0].Meters[2 * wmNr].SerialNr));
+ writer.Write(string.Format(", Main s/n: {0}", unsortedResults[0].Meters[2 * wmNr1 - 2].SerialNr));
}
- if (!string.IsNullOrEmpty(unsortedResults[0].Meters[2 * wmNr + 1].SerialNr))
+ if (!string.IsNullOrEmpty(unsortedResults[0].Meters[2 * wmNr1 - 1].SerialNr))
{
- writer.Write(string.Format(", Aux. s/n:{0}", unsortedResults[0].Meters[2 * wmNr + 1].SerialNr));
+ writer.Write(string.Format(", Aux. s/n:{0}", unsortedResults[0].Meters[2 * wmNr1 - 1].SerialNr));
}
writer.WriteLine(string.Empty);
@@ -331,7 +329,7 @@ namespace TBF.BenchControl.ResultsWriters.Basic
{
for (int i = 0; i < resultItems.Count; i++)
{
- string text = resultItems[i].PrintCombined(tr.Meters[2 * wmNr], tr.Meters[2 * wmNr + 1], tr.CombinedMeters[wmNr]);
+ string text = resultItems[i].PrintCombined(tr.Meters[2 * wmNr1 - 2], tr.Meters[2 * wmNr1 - 1], tr.CombinedMeters[wmNr1 - 1]);
/// Get rid of the color information
string[] texts = text.Split(new char[] { '|' });
@@ -350,7 +348,6 @@ namespace TBF.BenchControl.ResultsWriters.Basic
writer.WriteLine(new String('-', totalWidth)); /// Horizontal line below the body
writer.WriteLine(string.Empty);
- writer.WriteLine(string.Empty);
}
/// Run this operation
diff --git a/TestBenchFramework/BenchControl/Sequences/MainSeq.cs b/TestBenchFramework/BenchControl/Sequences/MainSeq.cs
index ce7501051..394d3c7f6 100644
--- a/TestBenchFramework/BenchControl/Sequences/MainSeq.cs
+++ b/TestBenchFramework/BenchControl/Sequences/MainSeq.cs
@@ -393,8 +393,10 @@ namespace TBF.BenchControl.Sequences
}
while (e.Contains(Event.Busy));
+
//------------------------------------------------------
- foreach (var rslt in results) FluentCommon.SaveToDb(StateMachine.WtSession, rslt); /// TODO: Use separate database
+ IList sortedResults = Utils.GetSortedTestResults(StateMachine.Procedure, results, 0);
+ foreach (var rslt in sortedResults) FluentCommon.SaveToDb(StateMachine.WtSession, rslt);
//--------------------------------
diff --git a/TestBenchFramework/Screens/ResultsTabPageCtrl.cs b/TestBenchFramework/Screens/ResultsTabPageCtrl.cs
index 430f6d356..4c0d43b57 100644
--- a/TestBenchFramework/Screens/ResultsTabPageCtrl.cs
+++ b/TestBenchFramework/Screens/ResultsTabPageCtrl.cs
@@ -153,7 +153,7 @@ namespace TBF.Screens
(testResults[0].MetersKind == Entities.MetersKind.Combined));
bool first = true;
- for (int mtr = 0; mtr < (combined ? Program.WMsCount / 2 : Program.WMsCount); mtr++)
+ for (int mtr = 1; mtr <= (combined ? Program.WMsCount / 2 : Program.WMsCount); mtr++)
{
if (TestsArrangement == Forms.ResultsConfig.TestsAre.Rows)
{
@@ -191,6 +191,12 @@ namespace TBF.Screens
}
+ ///
+ /// Get decorated test names for the specified watermeter
+ /// The parameter meterNr is used in the same way as the parameter meterNr of Utils.GetSortedTestResults
+ ///
+ /// Water meter nr (1-based): 1 .. Program.WMsCount
+ /// A list of strings
IList GetAllDecoratedTestNames(int meterNr)
{
IList rslt = new List();
@@ -200,7 +206,7 @@ namespace TBF.Screens
BenchControl.GenericDevices.ITestMethod method =
BenchControl.TbfComponents.FindComponent(test.Method) as BenchControl.GenericDevices.ITestMethod;
- if ((method != null) && method.Publish && ((test.Part == 0) || (test.Part == meterNr + 1)))
+ if ((method != null) && method.Publish && ((test.Part == 0) || (meterNr == 0) || (test.Part == meterNr)))
{
if (test.Repeats == 1)
{
@@ -219,7 +225,7 @@ namespace TBF.Screens
///
/// Get a ListView control filled with results of the meter 'mtr'
///
- /// Water meter number: 0..Program.WMsCount
+ /// Water meter number (1-based): 1 .. Program.WMsCount
/// ListView object
ListView GetResultsTestsAreRows(int mtr)
{
@@ -232,7 +238,7 @@ namespace TBF.Screens
TBF.LocalSettings ls = Program.LocalSettings;
if (combined)
{
- lview.Columns.Add((mtr + 1).ToString(), (ls.RsltsCombinedClmnCount > 0) ? ls.RsltsCombinedClmnWdths[0] : 40);
+ lview.Columns.Add(mtr.ToString(), (ls.RsltsCombinedClmnCount > 0) ? ls.RsltsCombinedClmnWdths[0] : 40);
int i = 1;
foreach (var item in items)
{
@@ -242,7 +248,7 @@ namespace TBF.Screens
}
else
{
- lview.Columns.Add((mtr + 1).ToString(), (ls.RsltsSingleClmnCount > 0) ? ls.RsltsSingleClmnWdths[0] : 40);
+ lview.Columns.Add(mtr.ToString(), (ls.RsltsSingleClmnCount > 0) ? ls.RsltsSingleClmnWdths[0] : 40);
int i = 1;
foreach (var item in items)
{
@@ -263,13 +269,13 @@ namespace TBF.Screens
string str;
if (combined)
{
- str = (item.PrintCombined == null) ? string.Empty : item.PrintCombined(testRslt.Meters[2 * mtr],
- testRslt.Meters[2 * mtr + 1],
- testRslt.CombinedMeters[mtr]);
+ str = (item.PrintCombined == null) ? string.Empty : item.PrintCombined(testRslt.Meters[2 * mtr - 2],
+ testRslt.Meters[2 * mtr - 1],
+ testRslt.CombinedMeters[mtr - 1]);
}
else
{
- str = (item.Print == null) ? string.Empty : item.Print(testRslt.Meters[mtr]);
+ str = (item.Print == null) ? string.Empty : item.Print(testRslt.Meters[mtr - 1]);
}
string[] texts = str.Split(new char[] { '|' });
@@ -299,7 +305,7 @@ namespace TBF.Screens
///
/// Get a ListView control filled with results of the meter 'mtr'
///
- /// Water meter number: 0..Program.WMsCount
+ /// Water meter number (1-based): 1 .. Program.WMsCount
/// ListView object
ListView GetResultsTestsAreColumns(int mtr)
{
@@ -312,7 +318,7 @@ namespace TBF.Screens
TBF.LocalSettings ls = Program.LocalSettings;
if (combined)
{
- lview.Columns.Add((mtr + 1).ToString(), (ls.RsltsCombinedClmnCount > 0) ? ls.RsltsCombinedClmnWdths[0] : 40);
+ lview.Columns.Add(mtr.ToString(), (ls.RsltsCombinedClmnCount > 0) ? ls.RsltsCombinedClmnWdths[0] : 40);
int i = 1;
foreach (var str in GetAllDecoratedTestNames(mtr))
{
@@ -322,7 +328,7 @@ namespace TBF.Screens
}
else
{
- lview.Columns.Add((mtr + 1).ToString(), (ls.RsltsSingleClmnCount > 0) ? ls.RsltsSingleClmnWdths[0] : 40);
+ lview.Columns.Add(mtr.ToString(), (ls.RsltsSingleClmnCount > 0) ? ls.RsltsSingleClmnWdths[0] : 40);
int i = 1;
foreach (var str in GetAllDecoratedTestNames(mtr))
{
@@ -340,9 +346,9 @@ namespace TBF.Screens
{
foreach (var tr in trs)
{
- string str = (item.PrintCombined == null || tr == null) ? string.Empty : item.PrintCombined(tr.Meters[2 * mtr],
- tr.Meters[2 * mtr + 1],
- tr.CombinedMeters[mtr]);
+ string str = (item.PrintCombined == null || tr == null) ? string.Empty : item.PrintCombined(tr.Meters[2 * mtr - 2],
+ tr.Meters[2 * mtr - 1],
+ tr.CombinedMeters[mtr - 1]);
string[] texts = str.Split(new char[] { '|' });
if (texts.Length == 1)
{
@@ -365,7 +371,7 @@ namespace TBF.Screens
{
foreach (var tr in trs)
{
- string str = (item.Print == null || tr == null) ? string.Empty : item.Print(tr.Meters[mtr]);
+ string str = (item.Print == null || tr == null) ? string.Empty : item.Print(tr.Meters[mtr - 1]);
string[] texts = str.Split(new char[] { '|' });
if (texts.Length == 1)
diff --git a/TestBenchFramework/Utils.cs b/TestBenchFramework/Utils.cs
index 4e0cb4931..cc5d361c2 100644
--- a/TestBenchFramework/Utils.cs
+++ b/TestBenchFramework/Utils.cs
@@ -172,7 +172,7 @@ namespace TBF
///
/// Current procedure, it is used to determine the order of resulting test results
/// Currently available unsorted test results (can also be null)
- /// Water meter number (only used when tests have nonzero 'Part' number)
+ /// Water meter number (1-based) or 0=all (also compared with nonzero 'Part' number)
/// Ordered list of test results containing null-s for missing results
public static IList GetSortedTestResults(Entities.Procedure procedure, IList testResults, int meterNr)
{
@@ -185,7 +185,7 @@ namespace TBF
BenchControl.GenericDevices.ITestMethod method =
BenchControl.TbfComponents.FindComponent(test.Method) as BenchControl.GenericDevices.ITestMethod;
- if ((method != null) && method.Publish && ((test.Part == 0) || (test.Part == meterNr + 1)))
+ if ((method != null) && method.Publish && ((test.Part == 0) || (meterNr == 0) || (test.Part == meterNr)))
{
for (int rpt = 1; rpt <= test.Repeats; rpt++)
{