Replace TelemetryService.GetOrDefaultIdTelemetryByIdWell() by GetOrDefaultTelemetryByIdWell()

This commit is contained in:
ngfrolov 2023-03-07 09:12:49 +05:00
parent 1ca72d50d1
commit 43847298d8
Signed by: ng.frolov
GPG Key ID: E99907A0357B29A7
9 changed files with 38 additions and 31 deletions

View File

@ -54,7 +54,7 @@ namespace AsbCloudApp.Services
/// </summary>
/// <param name="idWell"></param>
/// <returns></returns>
int? GetOrDefaultIdTelemetryByIdWell(int idWell);
TelemetryBaseDto? GetOrDefaultTelemetryByIdWell(int idWell);
/// <summary>
/// получить диапазон дат за которые есть данные

View File

@ -55,12 +55,12 @@ namespace AsbCloudInfrastructure.Repository
private async Task<TelemetryWirelineRunOutDto?> GetOrDefaultAsync(WellDto well, CancellationToken token)
{
var idTelemetry = telemetryService.GetOrDefaultIdTelemetryByIdWell(well.Id);
if (idTelemetry is null)
var telemetry = telemetryService.GetOrDefaultTelemetryByIdWell(well.Id);
if (telemetry is null)
return null;
var entity = await context.TelemetryWirelineRunOut
.Where(x => x.IdTelemetry == idTelemetry)
.Where(x => x.IdTelemetry == telemetry.Id)
.AsNoTracking()
.FirstOrDefaultAsync(token)
.ConfigureAwait(false);

View File

@ -138,7 +138,7 @@ namespace AsbCloudInfrastructure.Services.ProcessMap
dto.DateStart = GetInterpolatedDate(firstIntervalOperation, depthInterval.min);
dto.IdWell = firstIntervalOperation.IdWell;
dto.IdWellSectionType = firstIntervalOperation.IdWellSectionType;
dto.WellSectionTypeName = firstIntervalOperation.WellSectionTypeName;
dto.WellSectionTypeName = firstIntervalOperation.WellSectionTypeName ?? string.Empty;
dto.MechDrillingHours = CalcHours(depthInterval, intervalOperations);
}

View File

@ -116,10 +116,10 @@ namespace AsbCloudInfrastructure.Services
public DatesRangeDto? GetDatesRangeOrDefault(int idWell)
{
var idTelemetry = telemetryService.GetOrDefaultIdTelemetryByIdWell(idWell);
if (idTelemetry is null)
var telemetry = telemetryService.GetOrDefaultTelemetryByIdWell(idWell);
if (telemetry is null)
return null;
var range = telemetryService.GetDatesRange((int)idTelemetry);
var range = telemetryService.GetDatesRange(telemetry.Id);
return range;
}

View File

@ -37,17 +37,17 @@ namespace AsbCloudInfrastructure.Services.SAUB
Take = request.Take ?? 32,
};
var idTelemetry = telemetryService.GetOrDefaultIdTelemetryByIdWell(request.IdWell);
if (idTelemetry is null)
var telemetry = telemetryService.GetOrDefaultTelemetryByIdWell(request.IdWell);
if (telemetry is null)
return result;
var allEvents = await memoryCache.GetOrCreateBasicAsync(db.Set<TelemetryEvent>(), token);
var events = allEvents.Where(e => e.IdTelemetry == idTelemetry);
var events = allEvents.Where(e => e.IdTelemetry == telemetry.Id);
if (!events.Any())
return result;
var query = db.TelemetryMessages.Where(m => m.IdTelemetry == idTelemetry)
var query = db.TelemetryMessages.Where(m => m.IdTelemetry == telemetry.Id)
.OrderBy(m => m.DateTime).AsNoTracking();
if (request.Categoryids?.Any() == true || !string.IsNullOrEmpty(request.SearchString))
@ -68,7 +68,7 @@ namespace AsbCloudInfrastructure.Services.SAUB
query = query.OrderByDescending(m => m.DateTime);
var timezone = telemetryService.GetTimezone(idTelemetry ?? default);
var timezone = telemetryService.GetTimezone(telemetry.Id);
if (request.Begin is not null)
{
@ -96,7 +96,7 @@ namespace AsbCloudInfrastructure.Services.SAUB
return result;
var allUsers = await memoryCache.GetOrCreateBasicAsync(db.Set<TelemetryUser>(), token);
var users = allUsers.Where(u => u.IdTelemetry == idTelemetry);
var users = allUsers.Where(u => u.IdTelemetry == telemetry.Id);
var eventsDict = events.ToDictionary(x=>x.IdEvent, x => x);
var usersDict = users.ToDictionary(x => x.IdUser, x => x);

View File

@ -93,17 +93,17 @@ namespace AsbCloudInfrastructure.Services.SAUB
DateTime dateBegin = default, double intervalSec = 600d,
int approxPointsCount = 1024, CancellationToken token = default)
{
var idTelemetry = telemetryService.GetOrDefaultIdTelemetryByIdWell(idWell) ?? -1;
if (idTelemetry == -1)
var telemetry = telemetryService.GetOrDefaultTelemetryByIdWell(idWell);
if (telemetry is null)
return null;
var timezone = telemetryService.GetTimezone(idTelemetry);
var timezone = telemetryService.GetTimezone(telemetry.Id);
var filterByDateEnd = dateBegin != default;
DateTimeOffset dateBeginUtc;
if (dateBegin == default)
{
dateBeginUtc = telemetryService.GetLastTelemetryDate(idTelemetry)
dateBeginUtc = telemetryService.GetLastTelemetryDate(telemetry.Id)
.ToUtcDateTimeOffset(timezone.Hours);
if (dateBeginUtc != default)
dateBeginUtc = dateBeginUtc.AddSeconds(-intervalSec);
@ -116,7 +116,7 @@ namespace AsbCloudInfrastructure.Services.SAUB
if (dateBeginUtc == default)
dateBeginUtc = DateTime.UtcNow.AddSeconds(-intervalSec);
var cacheData = telemetryDataCache.GetOrDefault(idTelemetry, dateBeginUtc.ToRemoteDateTime(timezone.Hours), intervalSec, approxPointsCount);
var cacheData = telemetryDataCache.GetOrDefault(telemetry.Id, dateBeginUtc.ToRemoteDateTime(timezone.Hours), intervalSec, approxPointsCount);
if (cacheData is not null)
return cacheData;
@ -124,7 +124,7 @@ namespace AsbCloudInfrastructure.Services.SAUB
var dbSet = db.Set<TEntity>();
var query = dbSet
.Where(d => d.IdTelemetry == idTelemetry
.Where(d => d.IdTelemetry == telemetry.Id
&& d.DateTime >= dateBeginUtc);
if (filterByDateEnd)

View File

@ -5,6 +5,7 @@ using Mapster;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
@ -97,6 +98,12 @@ namespace AsbCloudInfrastructure.Services.SAUB
: src.WellDepth;
return dto;
}
public Stream GetZippedCsv(int idWell, DateTime beginDate, DateTime endDate)
{
var telemetry = telemetryService.GetOrDefaultTelemetryByIdWell(idWell);
return null;
}
}
#nullable disable
}

View File

@ -138,11 +138,11 @@ namespace AsbCloudInfrastructure.Services.SAUB
throw new Exception($"Telemetry id: {idTelemetry} can't find timezone.");
}
public int? GetOrDefaultIdTelemetryByIdWell(int idWell)
public TelemetryBaseDto? GetOrDefaultTelemetryByIdWell(int idWell)
{
var telemetry = GetTelemetryCache()
.FirstOrDefault(t => t.Well?.Id == idWell);
return telemetry?.Id;
return telemetry?.Adapt<TelemetryBaseDto>();
}
private Well? GetWellByTelemetryUid(string uid)

View File

@ -72,10 +72,10 @@ namespace AsbCloudWebApi.Controllers.WITS
[FromServices] IWitsRecordRepository<TDto> witsRecordRepository,
CancellationToken token)
{
var idTelemetry = telemetryService.GetOrDefaultIdTelemetryByIdWell(idWell);
if (idTelemetry is null)
var telemetry = telemetryService.GetOrDefaultTelemetryByIdWell(idWell);
if (telemetry is null)
return NoContent();
var dtos = await witsRecordRepository.GetLastAsync((int)idTelemetry, token);
var dtos = await witsRecordRepository.GetLastAsync(telemetry.Id, token);
return Ok(dtos);
}
@ -96,10 +96,10 @@ namespace AsbCloudWebApi.Controllers.WITS
[FromServices] IWitsRecordRepository<TDto> witsRecordRepository,
CancellationToken token)
{
var idTelemetry = telemetryService.GetOrDefaultIdTelemetryByIdWell(idWell);
if (idTelemetry is null)
var telemetry = telemetryService.GetOrDefaultTelemetryByIdWell(idWell);
if (telemetry is null)
return NoContent();
var dtos = await witsRecordRepository.GetAsync((int)idTelemetry, begin, end, token);
var dtos = await witsRecordRepository.GetAsync(telemetry.Id, begin, end, token);
return Ok(dtos);
}
@ -118,10 +118,10 @@ namespace AsbCloudWebApi.Controllers.WITS
[FromServices] IWitsRecordRepository<TDto> witsRecordRepository,
CancellationToken token)
{
var idTelemetry = telemetryService.GetOrDefaultIdTelemetryByIdWell(idWell);
if (idTelemetry is null)
var telemetry = telemetryService.GetOrDefaultTelemetryByIdWell(idWell);
if (telemetry is null)
return NoContent();
var dtos = await witsRecordRepository.GetStatAsync((int)idTelemetry, token);
var dtos = await witsRecordRepository.GetStatAsync(telemetry.Id, token);
return Ok(dtos);
}
}