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;
///
/// данные ГТИ
///
public interface IGtrRepository : ITelemetryDataEditorService
{
///
/// добавить данные (для панели бурильщика)
///
///
///
///
///
Task SaveDataAsync(int idTelemetry, IEnumerable dtos, CancellationToken token);
///
/// получить данные ГТИ
///
///
///
///
///
Task> GetAsync(int idWell, GtrRequest request, CancellationToken token);
///
/// получить данные для клиента
///
///
///
///
/// кол-во элементов до которых эти данные прореживаются
///
///
[Obsolete]
Task> GetAsync(int idWell,
DateTime? dateBegin, double intervalSec = 600d,
int approxPointsCount = 1024, CancellationToken token = default);
///
/// получение последних данных ГТИ по record id
///
///
///
///
[Obsolete]
IEnumerable GetLastDataByRecordId(int idWell, int idRecord);
///
/// Последние полученные параметры
///
///
///
[Obsolete]
IEnumerable GetLastData(int idWell);
///
/// Доступные даты по скважине
///
///
///
///
///
///
Task GetRangeAsync(int idWell, DateTimeOffset? geDate, DateTimeOffset? leDate, CancellationToken token);
}