using AsbCloudApp.Data.GTR; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using AsbCloudApp.Requests; using AsbCloudApp.Data; using AsbCloudApp.Services; namespace AsbCloudApp.Repositories { /// <summary> /// данные ГТИ /// </summary> public interface IGtrRepository : ITelemetryDataEditorService { /// <summary> /// добавить данные (для панели бурильщика) /// </summary> /// <param name="idTelemetry"></param> /// <param name="dtos"></param> /// <param name="token"></param> /// <returns></returns> Task SaveDataAsync(int idTelemetry, IEnumerable<WitsRecordDto> dtos, CancellationToken token); /// <summary> /// получить данные ГТИ /// </summary> /// <param name="idWell"></param> /// <param name="request"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<GtrWitsDto>> GetAsync(int idWell, GtrRequest request, CancellationToken token); /// <summary> /// получить данные для клиента /// </summary> /// <param name="idWell"></param> /// <param name="dateBegin"></param> /// <param name="intervalSec"></param> /// <param name="approxPointsCount">кол-во элементов до которых эти данные прореживаются</param> /// <param name="token"></param> /// <returns></returns> [Obsolete] Task<IEnumerable<WitsRecordDto>> GetAsync(int idWell, DateTime? dateBegin, double intervalSec = 600d, int approxPointsCount = 1024, CancellationToken token = default); /// <summary> /// получение последних данных ГТИ по record id /// </summary> /// <param name="idWell"></param> /// <param name="idRecord"></param> /// <returns></returns> [Obsolete] IEnumerable<WitsItemRecordDto> GetLastDataByRecordId(int idWell, int idRecord); /// <summary> /// Последние полученные параметры /// </summary> /// <param name="idWell"></param> /// <returns></returns> [Obsolete] IEnumerable<WitsItemRecordDto> GetLastData(int idWell); /// <summary> /// Доступные даты по скважине /// </summary> /// <param name="idWell"></param> /// <param name="geDate"></param> /// <param name="leDate"></param> /// <param name="token"></param> /// <returns></returns> Task<DatesRangeDto?> GetRangeAsync(int idWell, DateTimeOffset? geDate, DateTimeOffset? leDate, CancellationToken token); } }