using AsbCloudApp.Data; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using TimeZoneInfo = AsbCloudApp.Data.TimeZoneInfo; namespace AsbCloudApp.Services { public interface ITelemetryService { int? GetidWellByTelemetryUid(string uid); int GetOrCreateTemetryIdByUid(string uid); double GetTimezoneOffsetByTelemetryId(int idTelemetry); Task UpdateInfoAsync(string uid, TelemetryInfoDto info, CancellationToken token); Task<DateTime> FixDateToTimeZoneAsync(int idTelemetry, DateTime date, CancellationToken token); Task<DatesRangeDto> FixDatesRangeByTimeZoneAsync(int telemetryId, DatesRangeDto result, CancellationToken token); Task<TimeZoneInfo> GetTimeZoneInfoAsync(int idWell, CancellationToken token); Task UpdateTimeZoneAsync(string uid, TelemetryTimeZoneDto telemetryTimeZoneInfo, CancellationToken token); int? GetIdTelemetryByIdWell(int idWell); int Merge(IEnumerable<int> telemetryIds); IEnumerable<(string Key, int[] Ids)> GetRedundentRemoteUids(); IEnumerable<TelemetryDto> GetTransmittingTelemetriesAsync(int idCompany); DateTime GetLastTelemetryDate(string telemetryUid); DateTime GetLastTelemetryDate(int telemetryId); void SaveRequestDate(string uid, DateTime remoteDate); } }