using AsbCloudApp.Data; using AsbCloudApp.Data.SAUB; using System; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services { /// /// Сервис телеметрии /// public interface ITelemetryService { /// /// сервис временных зон /// ITimezoneService TimeZoneService { get; } /// /// трекер запросов /// ITelemetryTracker TelemetryTracker { get; } /// /// получить idWell по uid телеметрии /// /// /// int? GetIdWellByTelemetryUid(string uid); /// /// Получить id телеметрии. Если её нет в БД, то добавить новую. /// /// /// int GetOrCreateTelemetryIdByUid(string uid); /// /// получить временную зону скважины по idTelemetry /// /// /// SimpleTimezoneDto GetTimezone(int idTelemetry); /// /// Получить дату получения последних данных /// /// /// DateTime GetLastTelemetryDate(int idTelemetry); /// /// получить idTelemetry по IdWell /// /// /// TelemetryBaseDto? GetOrDefaultTelemetryByIdWell(int idWell); /// /// получить диапазон дат за которые есть данные /// /// /// DatesRangeDto GetDatesRange(int idTelemetry); /// /// обновить данные о телеметрии (используется панелью) /// /// /// /// /// Task UpdateInfoAsync(string uid, TelemetryInfoDto info, CancellationToken token); /// /// Слить данные телеметрии в одну /// /// старая (исходная) /// новая /// /// Task MergeAsync(int from, int to, CancellationToken token); } }