using AsbCloudApp.Data; using AsbCloudApp.Data.SAUB; using AsbCloudApp.Requests; using System; using System.Collections.Generic; using System.IO; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services; /// /// Сервис телеметрии /// public interface ITelemetryService { /// /// сервис временных зон /// ITimezoneService TimeZoneService { get; } /// /// получить idWell по uid телеметрии /// /// /// int? GetIdWellByTelemetryUid(string uid); /// /// Получить id телеметрии. Если её нет в БД, то добавить новую. /// /// /// TelemetryDto GetOrCreateTelemetryByUid(string uid); /// /// получить список телеметрии по ключам скважин /// /// ключи скважин /// IEnumerable GetOrDefaultTelemetriesByIdsWells(IEnumerable idsWells); /// /// получить временную зону скважины по idTelemetry /// /// /// SimpleTimezoneDto GetTimezone(int idTelemetry); /// /// получить idTelemetry по IdWell /// /// /// TelemetryBaseDto? GetOrDefaultTelemetryByIdWell(int idWell); /// /// получить диапазон дат за которые есть данные /// /// /// DatesRangeDto GetDatesRange(int idTelemetry); /// /// обновить данные о телеметрии (используется панелью) /// /// /// /// /// Task UpdateInfoAsync(string uid, TelemetryInfoDto info, CancellationToken token); /// /// Получить версии ПО /// /// /// /// Task> GetVersionsAsync(VersionRequest request, CancellationToken token); /// /// Слить данные телеметрии в одну /// /// старая (исходная) /// новая /// /// Task MergeAsync(int from, int to, CancellationToken token); /// /// Получить телеметрию по последней дате /// /// /// /// Task GetTelemetriesInfoByLastData(DateTimeOffset from, CancellationToken token); }