forked from ddrilling/AsbCloudServer
Remove query datesRange from context.
Replace source for DatesRange from db to telemetry tracker.
This commit is contained in:
parent
a30c8883a5
commit
ca969c99ad
@ -35,5 +35,6 @@ namespace AsbCloudApp.Services
|
||||
Task<int> MergeAsync(int from, int to, CancellationToken token);
|
||||
|
||||
void SaveRequestDate(string uid, DateTime remoteDate);
|
||||
Task<DatesRangeDto> GetDatesRangeAsync(int idWell, bool isUtc, CancellationToken token = default);
|
||||
}
|
||||
}
|
@ -467,27 +467,6 @@ namespace AsbCloudDb.Model
|
||||
|
||||
}
|
||||
|
||||
public async Task<(DateTime From, DateTime To)> GetDatesRangeAsync<TEntity>(int idTelemetry,
|
||||
CancellationToken token = default)
|
||||
where TEntity : class, ITelemetryData
|
||||
{
|
||||
var dbSet = Set<TEntity>();
|
||||
|
||||
var datesRange = await (from m in dbSet
|
||||
where m.IdTelemetry == idTelemetry
|
||||
group m by m.IdTelemetry into g
|
||||
select new
|
||||
{
|
||||
From = g.Min(d => d.Date),
|
||||
To = g.Max(d => d.Date)
|
||||
}).AsNoTracking().FirstOrDefaultAsync(token);
|
||||
|
||||
if (datesRange is null)
|
||||
return (DateTime.MinValue, DateTime.MaxValue);
|
||||
|
||||
return (datesRange.From, datesRange.To);
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<(double? MinDepth, double? MaxDepth, DateTime BeginPeriodDate)>> GetDepthToIntervalAsync(int telemetryId,
|
||||
int intervalHoursTimestamp, int workStartTimestamp, double timezoneOffset, CancellationToken token)
|
||||
{
|
||||
|
@ -50,7 +50,6 @@ namespace AsbCloudDb.Model
|
||||
|
||||
DbSet<TEntity> Set<TEntity>() where TEntity : class;
|
||||
|
||||
Task<(DateTime From, DateTime To)> GetDatesRangeAsync<T>(int idTelemetry, CancellationToken token) where T : class, ITelemetryData;
|
||||
Task<IEnumerable<(double? MinDepth, double? MaxDepth, DateTime BeginPeriodDate)>> GetDepthToIntervalAsync(int telemetryId,
|
||||
int intervalHoursTimestamp, int workStartTimestamp, double timezoneOffset, CancellationToken token);
|
||||
}
|
||||
|
@ -144,26 +144,10 @@ namespace AsbCloudInfrastructure.Services
|
||||
return result;
|
||||
}
|
||||
|
||||
public async Task<DatesRangeDto> GetMessagesDatesRangeAsync(int idWell, bool isUtc,
|
||||
[Obsolete("Use telemetryService.GetDatesRangeAsync instead", false)]
|
||||
public Task<DatesRangeDto> GetMessagesDatesRangeAsync(int idWell, bool isUtc,
|
||||
CancellationToken token = default)
|
||||
{
|
||||
var telemetryId = telemetryService.GetIdTelemetryByIdWell(idWell);
|
||||
if (telemetryId is null)
|
||||
return null;
|
||||
|
||||
var (From, To) = await db.GetDatesRangeAsync<TelemetryMessage>((int)telemetryId, token)
|
||||
.ConfigureAwait(false);
|
||||
|
||||
var result = new DatesRangeDto { From = From, To = To };
|
||||
|
||||
if (isUtc)
|
||||
return result;
|
||||
|
||||
result = await telemetryService.DatesRangeToTelemetryTimeZoneAsync((int)telemetryId, result, token)
|
||||
.ConfigureAwait(false);
|
||||
|
||||
return result;
|
||||
}
|
||||
=> telemetryService.GetDatesRangeAsync(idWell, isUtc, token);
|
||||
|
||||
public Task InsertAsync(string uid, IEnumerable<TelemetryMessageDto> dtos,
|
||||
CancellationToken token = default)
|
||||
|
@ -185,27 +185,10 @@ namespace AsbCloudInfrastructure.Services
|
||||
return dtos;
|
||||
}
|
||||
|
||||
public virtual async Task<DatesRangeDto> GetDataDatesRangeAsync(int idWell, bool isUtc,
|
||||
[Obsolete("Use telemetryService.GetDatesRangeAsync instead", false)]
|
||||
public virtual Task<DatesRangeDto> GetDataDatesRangeAsync(int idWell, bool isUtc,
|
||||
CancellationToken token = default)
|
||||
{
|
||||
var telemetryId = telemetryService.GetIdTelemetryByIdWell(idWell);
|
||||
if (telemetryId is null)
|
||||
return null;
|
||||
|
||||
var telemetry = await cacheTelemetry.FirstOrDefaultAsync(t => t.Id == telemetryId, token)
|
||||
.ConfigureAwait(false);
|
||||
|
||||
var dto = telemetryService.TelemetryTracker.GetTelemetryDateRangeByUid(telemetry.RemoteUid);
|
||||
|
||||
if (isUtc)
|
||||
return dto;
|
||||
|
||||
dto = await telemetryService.DatesRangeToTelemetryTimeZoneAsync((int)telemetryId, dto, token)
|
||||
.ConfigureAwait(false);
|
||||
|
||||
return dto;
|
||||
|
||||
}
|
||||
=> telemetryService.GetDatesRangeAsync(idWell, isUtc, token);
|
||||
|
||||
public abstract TDto Convert(TModel src);
|
||||
|
||||
|
@ -75,6 +75,30 @@ namespace AsbCloudInfrastructure.Services
|
||||
return lastTelemetryDate;
|
||||
}
|
||||
|
||||
public virtual async Task<DatesRangeDto> GetDatesRangeAsync(
|
||||
int idWell,
|
||||
bool isUtc,
|
||||
CancellationToken token = default)
|
||||
{
|
||||
var telemetryId = GetIdTelemetryByIdWell(idWell);
|
||||
if (telemetryId is null)
|
||||
return null;
|
||||
|
||||
var telemetry = await cacheTelemetry.FirstOrDefaultAsync(t => t.Id == telemetryId, token)
|
||||
.ConfigureAwait(false);
|
||||
|
||||
var dto = TelemetryTracker.GetTelemetryDateRangeByUid(telemetry.RemoteUid);
|
||||
|
||||
if (isUtc)
|
||||
return dto;
|
||||
|
||||
dto = await DatesRangeToTelemetryTimeZoneAsync((int)telemetryId, dto, token)
|
||||
.ConfigureAwait(false);
|
||||
|
||||
return dto;
|
||||
|
||||
}
|
||||
|
||||
public int GetOrCreateTelemetryIdByUid(string uid)
|
||||
=> GetOrCreateTelemetryByUid(uid).Id;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user