Results to database consolidated, 1-based WMNr used in printing, saving

This commit is contained in:
Milan Hanajik
2015-02-02 10:35:15 +01:00
parent 56a9a7cf1b
commit 376056fb1a
5 changed files with 73 additions and 68 deletions
@@ -168,16 +168,16 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
int nextWmTop = BodyTop; int nextWmTop = BodyTop;
if (combined) 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 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
/// <summary> /// <summary>
/// Print one water meter results /// Print one water meter results
/// </summary> /// </summary>
/// <param name="wmNr">Water meter number</param> /// <param name="wmNr1">Water meter number (1-based)</param>
/// <param name="top">Top coordinate of watermeter data</param> /// <param name="top">Top coordinate of watermeter data</param>
/// <returns>The height of the printed section</returns> /// <returns>The height of the printed section</returns>
int PrintSingleWM(System.Drawing.Printing.PrintPageEventArgs e, int wmNr, int top) int PrintSingleWM(System.Drawing.Printing.PrintPageEventArgs e, int wmNr1, int top)
{ {
IList<Entities.TestResult> results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr); IList<Entities.TestResult> results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr1);
/// Determin column widths /// Determin column widths
float[] columnPos = new float[resultItems.Count + 1]; float[] columnPos = new float[resultItems.Count + 1];
@@ -206,7 +206,7 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
{ {
if (tr != null) 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; if (width > columnWidth) columnWidth = width;
} }
} }
@@ -215,12 +215,12 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
int tableLeftX = (int)columnPos[0]; int tableLeftX = (int)columnPos[0];
int tableRightX = (int)columnPos[resultItems.Count] - 20; 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); 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, 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 /// Horizontal line
@@ -242,7 +242,7 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
{ {
for (int i = 0; i < resultItems.Count; i++) 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[] { '|' }); string[] texts = text.Split(new char[] { '|' });
@@ -269,12 +269,12 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
/// <summary> /// <summary>
/// Print one combined water meter results /// Print one combined water meter results
/// </summary> /// </summary>
/// <param name="wmNr">Water meter number</param> /// <param name="wmNr1">Water meter number (1-based)</param>
/// <param name="top">Top coordinate of watermeter data</param> /// <param name="top">Top coordinate of watermeter data</param>
/// <returns>The height of the printed section</returns> /// <returns>The height of the printed section</returns>
int PrintCombinedWM(System.Drawing.Printing.PrintPageEventArgs e, int wmNr, int top) int PrintCombinedWM(System.Drawing.Printing.PrintPageEventArgs e, int wmNr1, int top)
{ {
IList<Entities.TestResult> results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr); IList<Entities.TestResult> results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr1);
/// Determin column widths /// Determin column widths
float[] columnPos = new float[resultItems.Count + 1]; float[] columnPos = new float[resultItems.Count + 1];
@@ -287,9 +287,9 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
{ {
if (tr != null) if (tr != null)
{ {
float width = e.Graphics.MeasureString(resultItems[i].PrintCombined(tr.Meters[2 * wmNr], float width = e.Graphics.MeasureString(resultItems[i].PrintCombined(tr.Meters[2 * wmNr1 - 2],
tr.Meters[2 * wmNr + 1], tr.Meters[2 * wmNr1 - 1],
tr.CombinedMeters[wmNr]), font).Width; tr.CombinedMeters[wmNr1 - 1]), font).Width;
if (width > columnWidth) columnWidth = width; if (width > columnWidth) columnWidth = width;
} }
} }
@@ -298,14 +298,14 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
int tableLeftX = (int)columnPos[0]; int tableLeftX = (int)columnPos[0];
int tableRightX = (int)columnPos[resultItems.Count] - 20; 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); 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, PrintAt(e, 100 + (int)e.Graphics.MeasureString(wmText, font).Width, top,
string.Format(", Main s/n: {0}, Aux. s/n:{1}", string.Format(" Main s/n: {0} Aux. s/n:{1}",
unsortedResults[0].Meters[2 * wmNr].SerialNr, unsortedResults[0].Meters[2 * wmNr1 - 2].SerialNr,
unsortedResults[0].Meters[2 * wmNr + 1].SerialNr)); unsortedResults[0].Meters[2 * wmNr1 - 1].SerialNr));
} }
/// Horizontal line /// Horizontal line
@@ -327,9 +327,9 @@ namespace TBF.BenchControl.ResultsPrinters.Basic
{ {
for (int i = 0; i < resultItems.Count; i++) for (int i = 0; i < resultItems.Count; i++)
{ {
string text = resultItems[i].PrintCombined(results[r].Meters[2 * wmNr], string text = resultItems[i].PrintCombined(results[r].Meters[2 * wmNr1 - 2],
results[r].Meters[2 * wmNr + 1], results[r].Meters[2 * wmNr1 - 1],
results[r].CombinedMeters[wmNr]); results[r].CombinedMeters[wmNr1 - 1]);
string[] texts = text.Split(new char[] { '|' }); string[] texts = text.Split(new char[] { '|' });
if (texts.Length == 2) if (texts.Length == 2)
@@ -168,7 +168,6 @@ namespace TBF.BenchControl.ResultsWriters.Basic
writer.WriteLine(rightColumn[i]); writer.WriteLine(rightColumn[i]);
} }
writer.WriteLine(string.Empty); writer.WriteLine(string.Empty);
writer.WriteLine(string.Empty);
///-------- ///--------
/// Body /// Body
@@ -176,21 +175,21 @@ namespace TBF.BenchControl.ResultsWriters.Basic
int nrWMs = (combined ? Program.WMsCount / 2 : Program.WMsCount); int nrWMs = (combined ? Program.WMsCount / 2 : Program.WMsCount);
if (combined) 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 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
} }
} }
/// <summary> /// <summary>
/// Write one water meter results /// Write one water meter results
/// </summary> /// </summary>
/// <param name="wmNr">Water meter number</param> /// <param name="wmNr1">Water meter number (1-based)</param>
void WriteSingleWM(int wmNr) void WriteSingleWM(int wmNr1)
{ {
IList<Entities.TestResult> results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr); IList<Entities.TestResult> results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr1);
/// Determine column widths /// Determine column widths
int[] columnWidths = new int[resultItems.Count]; int[] columnWidths = new int[resultItems.Count];
@@ -202,7 +201,7 @@ namespace TBF.BenchControl.ResultsWriters.Basic
{ {
if (tr != null) 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; if (len > columnWidths[i]) columnWidths[i] = len;
} }
} }
@@ -212,10 +211,10 @@ namespace TBF.BenchControl.ResultsWriters.Basic
/// Write water meter number and s/n /// Write water meter number and s/n
writer.Write(string.Format("Water meter {0}", wmNr + 1)); writer.Write(string.Format("Water meter {0}", wmNr1));
if (!string.IsNullOrEmpty(unsortedResults[0].Meters[wmNr].SerialNr)) 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); writer.WriteLine(string.Empty);
@@ -245,7 +244,7 @@ namespace TBF.BenchControl.ResultsWriters.Basic
{ {
for (int i = 0; i < resultItems.Count; i++) 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 /// Get rid of the color information
string[] texts = text.Split(new char[] { '|' }); 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(new String('-', totalWidth)); /// Horizontal line below the body
writer.WriteLine(string.Empty); writer.WriteLine(string.Empty);
writer.WriteLine(string.Empty);
} }
/// <summary> /// <summary>
/// Write one combined water meter results /// Write one combined water meter results
/// </summary> /// </summary>
/// <param name="wmNr">Water meter number</param> /// <param name="wmNr1">Combined water meter number (1-based)</param>
void WriteCombinedWM(int wmNr) void WriteCombinedWM(int wmNr1)
{ {
IList<Entities.TestResult> results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr); IList<Entities.TestResult> results = Utils.GetSortedTestResults(procedure, unsortedResults, wmNr1);
/// Determin column widths /// Determin column widths
int[] columnWidths = new int[resultItems.Count]; int[] columnWidths = new int[resultItems.Count];
@@ -286,7 +284,7 @@ namespace TBF.BenchControl.ResultsWriters.Basic
{ {
if (tr != null) 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; 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 /// Write water meter number and two s/n-s
writer.Write(string.Format("Water meter {0}", wmNr + 1)); writer.Write(string.Format("Water meter {0}", wmNr1));
if (!string.IsNullOrEmpty(unsortedResults[0].Meters[2 * wmNr].SerialNr)) 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); writer.WriteLine(string.Empty);
@@ -331,7 +329,7 @@ namespace TBF.BenchControl.ResultsWriters.Basic
{ {
for (int i = 0; i < resultItems.Count; i++) 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 /// Get rid of the color information
string[] texts = text.Split(new char[] { '|' }); 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(new String('-', totalWidth)); /// Horizontal line below the body
writer.WriteLine(string.Empty); writer.WriteLine(string.Empty);
writer.WriteLine(string.Empty);
} }
/// <summary>Run this operation</summary> /// <summary>Run this operation</summary>
@@ -393,8 +393,10 @@ namespace TBF.BenchControl.Sequences
} }
while (e.Contains(Event.Busy)); while (e.Contains(Event.Busy));
//------------------------------------------------------ //------------------------------------------------------
foreach (var rslt in results) FluentCommon.SaveToDb(StateMachine.WtSession, rslt); /// TODO: Use separate database IList<Entities.TestResult> sortedResults = Utils.GetSortedTestResults(StateMachine.Procedure, results, 0);
foreach (var rslt in sortedResults) FluentCommon.SaveToDb(StateMachine.WtSession, rslt);
//-------------------------------- //--------------------------------
@@ -153,7 +153,7 @@ namespace TBF.Screens
(testResults[0].MetersKind == Entities.MetersKind.Combined)); (testResults[0].MetersKind == Entities.MetersKind.Combined));
bool first = true; 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) if (TestsArrangement == Forms.ResultsConfig.TestsAre.Rows)
{ {
@@ -191,6 +191,12 @@ namespace TBF.Screens
} }
/// <summary>
/// Get decorated test names for the specified watermeter
/// The parameter meterNr is used in the same way as the parameter meterNr of Utils.GetSortedTestResults
/// </summary>
/// <param name="meterNr">Water meter nr (1-based): 1 .. Program.WMsCount</param>
/// <returns>A list of strings</returns>
IList<string> GetAllDecoratedTestNames(int meterNr) IList<string> GetAllDecoratedTestNames(int meterNr)
{ {
IList<string> rslt = new List<string>(); IList<string> rslt = new List<string>();
@@ -200,7 +206,7 @@ namespace TBF.Screens
BenchControl.GenericDevices.ITestMethod method = BenchControl.GenericDevices.ITestMethod method =
BenchControl.TbfComponents.FindComponent(test.Method) as BenchControl.GenericDevices.ITestMethod; 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) if (test.Repeats == 1)
{ {
@@ -219,7 +225,7 @@ namespace TBF.Screens
/// <summary> /// <summary>
/// Get a ListView control filled with results of the meter 'mtr' /// Get a ListView control filled with results of the meter 'mtr'
/// </summary> /// </summary>
/// <param name="mtr">Water meter number: 0..Program.WMsCount</param> /// <param name="mtr">Water meter number (1-based): 1 .. Program.WMsCount</param>
/// <returns>ListView object</returns> /// <returns>ListView object</returns>
ListView GetResultsTestsAreRows(int mtr) ListView GetResultsTestsAreRows(int mtr)
{ {
@@ -232,7 +238,7 @@ namespace TBF.Screens
TBF.LocalSettings ls = Program.LocalSettings; TBF.LocalSettings ls = Program.LocalSettings;
if (combined) 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; int i = 1;
foreach (var item in items) foreach (var item in items)
{ {
@@ -242,7 +248,7 @@ namespace TBF.Screens
} }
else 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; int i = 1;
foreach (var item in items) foreach (var item in items)
{ {
@@ -263,13 +269,13 @@ namespace TBF.Screens
string str; string str;
if (combined) if (combined)
{ {
str = (item.PrintCombined == null) ? string.Empty : item.PrintCombined(testRslt.Meters[2 * mtr], str = (item.PrintCombined == null) ? string.Empty : item.PrintCombined(testRslt.Meters[2 * mtr - 2],
testRslt.Meters[2 * mtr + 1], testRslt.Meters[2 * mtr - 1],
testRslt.CombinedMeters[mtr]); testRslt.CombinedMeters[mtr - 1]);
} }
else 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[] { '|' }); string[] texts = str.Split(new char[] { '|' });
@@ -299,7 +305,7 @@ namespace TBF.Screens
/// <summary> /// <summary>
/// Get a ListView control filled with results of the meter 'mtr' /// Get a ListView control filled with results of the meter 'mtr'
/// </summary> /// </summary>
/// <param name="mtr">Water meter number: 0..Program.WMsCount</param> /// <param name="mtr">Water meter number (1-based): 1 .. Program.WMsCount</param>
/// <returns>ListView object</returns> /// <returns>ListView object</returns>
ListView GetResultsTestsAreColumns(int mtr) ListView GetResultsTestsAreColumns(int mtr)
{ {
@@ -312,7 +318,7 @@ namespace TBF.Screens
TBF.LocalSettings ls = Program.LocalSettings; TBF.LocalSettings ls = Program.LocalSettings;
if (combined) 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; int i = 1;
foreach (var str in GetAllDecoratedTestNames(mtr)) foreach (var str in GetAllDecoratedTestNames(mtr))
{ {
@@ -322,7 +328,7 @@ namespace TBF.Screens
} }
else 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; int i = 1;
foreach (var str in GetAllDecoratedTestNames(mtr)) foreach (var str in GetAllDecoratedTestNames(mtr))
{ {
@@ -340,9 +346,9 @@ namespace TBF.Screens
{ {
foreach (var tr in trs) foreach (var tr in trs)
{ {
string str = (item.PrintCombined == null || tr == null) ? string.Empty : item.PrintCombined(tr.Meters[2 * mtr], string str = (item.PrintCombined == null || tr == null) ? string.Empty : item.PrintCombined(tr.Meters[2 * mtr - 2],
tr.Meters[2 * mtr + 1], tr.Meters[2 * mtr - 1],
tr.CombinedMeters[mtr]); tr.CombinedMeters[mtr - 1]);
string[] texts = str.Split(new char[] { '|' }); string[] texts = str.Split(new char[] { '|' });
if (texts.Length == 1) if (texts.Length == 1)
{ {
@@ -365,7 +371,7 @@ namespace TBF.Screens
{ {
foreach (var tr in trs) 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[] { '|' }); string[] texts = str.Split(new char[] { '|' });
if (texts.Length == 1) if (texts.Length == 1)
+2 -2
View File
@@ -172,7 +172,7 @@ namespace TBF
/// </summary> /// </summary>
/// <param name="procedure">Current procedure, it is used to determine the order of resulting test results</param> /// <param name="procedure">Current procedure, it is used to determine the order of resulting test results</param>
/// <param name="testResults">Currently available unsorted test results (can also be null)</param> /// <param name="testResults">Currently available unsorted test results (can also be null)</param>
/// <param name="meterNr">Water meter number (only used when tests have nonzero 'Part' number)</param> /// <param name="meterNr">Water meter number (1-based) or 0=all (also compared with nonzero 'Part' number)</param>
/// <returns>Ordered list of test results containing null-s for missing results</returns> /// <returns>Ordered list of test results containing null-s for missing results</returns>
public static IList<Entities.TestResult> GetSortedTestResults(Entities.Procedure procedure, IList<Entities.TestResult> testResults, int meterNr) public static IList<Entities.TestResult> GetSortedTestResults(Entities.Procedure procedure, IList<Entities.TestResult> testResults, int meterNr)
{ {
@@ -185,7 +185,7 @@ namespace TBF
BenchControl.GenericDevices.ITestMethod method = BenchControl.GenericDevices.ITestMethod method =
BenchControl.TbfComponents.FindComponent(test.Method) as BenchControl.GenericDevices.ITestMethod; 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++) for (int rpt = 1; rpt <= test.Repeats; rpt++)
{ {