using AsbCloudApp.Data; using AsbCloudApp.Data.SAUB; 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); SimpleTimezoneDto GetTimezone(int idTelemetry); IEnumerable<TelemetryDto> GetTransmittingTelemetries(); DateTime GetLastTelemetryDate(int idTelemetry, bool useUtc = false); int? GetIdTelemetryByIdWell(int idWell); DatesRangeDto GetDatesRange(int idTelemetry); Task UpdateInfoAsync(string uid, TelemetryInfoDto info, CancellationToken token); Task UpdateTimezoneAsync(string uid, SimpleTimezoneDto telemetryTimeZoneInfo, CancellationToken token); /// <summary> /// Слить данные телеметрии в одну /// </summary> /// <param name="from">старая (исходная)</param> /// <param name="to">новая</param> /// <returns></returns> Task<int> MergeAsync(int from, int to, CancellationToken token); void SaveRequestDate(string uid, DateTimeOffset remoteDate); } }