22 lines
1.0 KiB
C#
22 lines
1.0 KiB
C#
namespace LCU.API.Internal.LoanRateLoadTestingLib.Extensions.Queryables;
|
|
public static class LoadTestRunInfoRunTimeQueryable
|
|
{
|
|
public static IQueryable<LoadTestRunInfo> FilterByRunTime(this IQueryable<LoadTestRunInfo> queryable, LoadTestRunInfoFilter loadTestRunInfoFilter)
|
|
{
|
|
if (loadTestRunInfoFilter.StartTimeStamp == null && loadTestRunInfoFilter.EndTimeStamp == null)
|
|
{
|
|
return queryable;
|
|
}
|
|
|
|
if (loadTestRunInfoFilter.StartTimeStamp == null)
|
|
{
|
|
loadTestRunInfoFilter.StartTimeStamp = DateTime.MinValue;
|
|
}
|
|
|
|
return queryable.Where(loadTestRunInfo => loadTestRunInfo.StartTimeStamp >= loadTestRunInfoFilter.StartTimeStamp &&
|
|
(loadTestRunInfoFilter.InProgress
|
|
|| !loadTestRunInfoFilter.EndTimeStamp.HasValue
|
|
|| loadTestRunInfo.StartTimeStamp <= loadTestRunInfoFilter.EndTimeStamp));
|
|
}
|
|
}
|