43 lines
1.1 KiB
C#
43 lines
1.1 KiB
C#
///
|
|
/// Copyright (c) 2022 Sensus Slovensko a.s.
|
|
///
|
|
using System;
|
|
using System.Collections;
|
|
using System.Windows.Forms;
|
|
|
|
namespace TBF.Rig.Output
|
|
{
|
|
public class LUTestDataComparer : IComparer
|
|
{
|
|
SortOrder order;
|
|
|
|
public LUTestDataComparer()
|
|
{
|
|
order = SortOrder.Ascending;
|
|
}
|
|
|
|
public LUTestDataComparer(SortOrder order)
|
|
{
|
|
this.order = order;
|
|
}
|
|
|
|
// test.RawDataId + repetitionNr * test.RawDataIdRepetMulti
|
|
public int Compare(object x, object y)
|
|
{
|
|
#if ORACLE_DB
|
|
var trX = x as LUTestData;
|
|
var trY = y as LUTestData;
|
|
if (trX == null || trY == null) return 0;
|
|
|
|
int idX = trX.TData.OraId + (trX.TData.Repeats - trX.RepNr) * trX.TData.OraIdRepetMulti;
|
|
int idY = trY.TData.OraId + (trY.TData.Repeats - trY.RepNr) * trY.TData.OraIdRepetMulti;
|
|
int valX = (idX > 0) ? int.MaxValue - idX : idX;
|
|
int valY = (idY > 0) ? int.MaxValue - idY : idY;
|
|
return order == SortOrder.Descending ? (valY - valX) : (valX - valY);
|
|
#else
|
|
return 0;
|
|
#endif
|
|
}
|
|
}
|
|
}
|