Исправлено получение диапазона дат для Репортов

This commit is contained in:
KharchenkoVV 2021-05-31 16:28:50 +05:00
parent b0155a19c0
commit 528e649813

View File

@ -85,20 +85,29 @@ namespace AsbCloudInfrastructure.Services
public DatesRangeDto GetReportsDatesRange(int wellId) public DatesRangeDto GetReportsDatesRange(int wellId)
{ {
var telemetry = telemetryService.GetTelemetryByWellId(wellId); var telemetry = telemetryService.GetTelemetryByWellId(wellId);
if (telemetry is null) if (telemetry is null)
return null; return null;
var datesRange = (from d in db.DataSaubBases try
where d.IdTelemetry == telemetry.Id {
select d.Date).Union( var datesRange = (from d in db.DataSaubBases
from m in db.Messages where d.IdTelemetry == telemetry.Id
where m.IdTelemetry == telemetry.Id select d.Date).Union(
select m.Date).ToList(); from m in db.Messages
where m.IdTelemetry == telemetry.Id
return new DatesRangeDto { select m.Date).GroupBy(g => true)
From = datesRange is null ? DateTime.MinValue : datesRange.Min(), .Select(g => new
To = datesRange is null ? DateTime.MaxValue : datesRange.Max() {
}; From = g.Min(),
To = g.Max()
}).FirstOrDefault();
return new DatesRangeDto { From = datesRange.From, To = datesRange.To };
}
catch(InvalidOperationException)
{
return new DatesRangeDto { From = DateTime.MinValue, To = DateTime.MaxValue };
}
} }
private IEnumerable<string> GetSuitableReportNamesFromDb(int wellId, DateTime begin, DateTime end, int stepSeconds, int format) private IEnumerable<string> GetSuitableReportNamesFromDb(int wellId, DateTime begin, DateTime end, int stepSeconds, int format)