CS2-22: Исправлено выпадение исключения при запросе диапазона дат

This commit is contained in:
KharchenkoVV 2021-07-01 17:54:29 +05:00
parent fd5871a9ec
commit 88f0453a32

View File

@ -99,25 +99,22 @@ namespace AsbCloudInfrastructure.Services
if (telemetry is null) if (telemetry is null)
return null; return null;
try
{
var datesRange = (from d in db.DataSaubBases var datesRange = (from d in db.DataSaubBases
where d.IdTelemetry == telemetry.Id where d.IdTelemetry == telemetry.Id
select d.Date).Union( select d.Date).Union(
from m in db.Messages from m in db.Messages
where m.IdTelemetry == telemetry.Id where m.IdTelemetry == telemetry.Id
select m.Date).GroupBy(g => true) select m.Date).DefaultIfEmpty().GroupBy(g => true)
.Select(g => new .Select(g => new
{ {
From = g.Min(), From = g.Min(),
To = g.Max() To = g.Max()
}).FirstOrDefault(); }).OrderBy(gr => gr.From).FirstOrDefault();
return new DatesRangeDto { From = datesRange.From, To = datesRange.To };
} return new DatesRangeDto {
catch(InvalidOperationException) From = datesRange.From,
{ To = datesRange.To.Year == 1 ? DateTime.MaxValue : datesRange.To
return new DatesRangeDto { From = DateTime.MinValue, To = DateTime.MaxValue }; };
}
} }
private IEnumerable<Report> GetSuitableReportsFromDb(int wellId, DateTime begin, DateTime end, int stepSeconds, int format) private IEnumerable<Report> GetSuitableReportsFromDb(int wellId, DateTime begin, DateTime end, int stepSeconds, int format)