Merge branch 'dailyReport/revision/5908066' into dev

This commit is contained in:
ngfrolov 2022-10-31 13:52:32 +05:00
commit d03ccc10b5

View File

@ -32,17 +32,33 @@ namespace AsbCloudInfrastructure.Services.DailyReport
public async Task<IEnumerable<DailyReportDto>> GetListAsync(int idWell, DateTime? begin, DateTime? end, CancellationToken token) public async Task<IEnumerable<DailyReportDto>> GetListAsync(int idWell, DateTime? begin, DateTime? end, CancellationToken token)
{ {
var well = wellService.GetOrDefault(idWell);
if (well is null || well.Timezone is null)
return null;
var query = db.DailyReports.Where(r => r.IdWell == idWell); var query = db.DailyReports.Where(r => r.IdWell == idWell);
DateTimeOffset ExtractDate(DateTime dateTime)
{
var dateTimeOffset = dateTime.ToUtcDateTimeOffset(well!.Timezone.Hours);
var date = new DateTimeOffset(dateTimeOffset.Year, dateTimeOffset.Month, dateTimeOffset.Day, 0,0,0,TimeSpan.Zero);
return date;
}
if (begin is not null) if (begin is not null)
query = query.Where(d => d.StartDate >= begin.Value.Date); {
var beginUTC = ExtractDate(begin.Value);
query = query.Where(d => d.StartDate >= beginUTC);
}
if (end is not null) if (end is not null)
query = query.Where(d => d.StartDate <= end.Value.Date); {
var endUTC = ExtractDate(end.Value);
query = query.Where(d => d.StartDate <= endUTC);
}
var entities = await query var entities = await query
.OrderBy(e => e.StartDate)
.ToListAsync(token); .ToListAsync(token);
return entities.Select(r => Convert(r)); return entities.Select(r => Convert(r));
} }