using AsbCloudApp.Data; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services { public interface ITelemetryService { ITimeZoneService TimeZoneService { get; } ITelemetryTracker TelemetryTracker { get; } int? GetIdWellByTelemetryUid(string uid); int GetOrCreateTelemetryIdByUid(string uid); double GetTimezoneOffset(int idTelemetry); Task GetTimeZoneOffsetAsync(int idTelemetry, CancellationToken token); IEnumerable GetTransmittingTelemetries(); DateTimeOffset GetLastTelemetryDate(string telemetryUid); DateTimeOffset GetLastTelemetryDate(int telemetryId); int? GetIdTelemetryByIdWell(int idWell); Task UpdateInfoAsync(string uid, TelemetryInfoDto info, CancellationToken token); Task DatesRangeToTelemetryTimeZoneAsync(int telemetryId, DatesRangeDto result, CancellationToken token); Task UpdateTimeZoneAsync(string uid, TelemetryTimeZoneDto telemetryTimeZoneInfo, CancellationToken token); /// /// Слить данные телеметрии в одну /// /// старая (исходная) /// новая /// Task MergeAsync(int from, int to, CancellationToken token); void SaveRequestDate(string uid, DateTimeOffset remoteDate); Task GetDatesRangeAsync(int idWell, bool isUtc, CancellationToken token = default); } }