forked from ddrilling/AsbCloudServer
Исправлено получение диапазона дат для Репортов
This commit is contained in:
parent
b0155a19c0
commit
528e649813
@ -85,20 +85,29 @@ namespace AsbCloudInfrastructure.Services
|
||||
public DatesRangeDto GetReportsDatesRange(int wellId)
|
||||
{
|
||||
var telemetry = telemetryService.GetTelemetryByWellId(wellId);
|
||||
|
||||
if (telemetry is null)
|
||||
return null;
|
||||
|
||||
var datesRange = (from d in db.DataSaubBases
|
||||
where d.IdTelemetry == telemetry.Id
|
||||
select d.Date).Union(
|
||||
from m in db.Messages
|
||||
where m.IdTelemetry == telemetry.Id
|
||||
select m.Date).ToList();
|
||||
|
||||
return new DatesRangeDto {
|
||||
From = datesRange is null ? DateTime.MinValue : datesRange.Min(),
|
||||
To = datesRange is null ? DateTime.MaxValue : datesRange.Max()
|
||||
};
|
||||
try
|
||||
{
|
||||
var datesRange = (from d in db.DataSaubBases
|
||||
where d.IdTelemetry == telemetry.Id
|
||||
select d.Date).Union(
|
||||
from m in db.Messages
|
||||
where m.IdTelemetry == telemetry.Id
|
||||
select m.Date).GroupBy(g => true)
|
||||
.Select(g => new
|
||||
{
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user