DD.WellWorkover.Cloud/AsbCloudApp/Repositories/IGtrRepository.cs

85 lines
3.2 KiB
C#

using AsbCloudApp.Data.GTR;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using AsbCloudApp.Requests;
using AsbCloudApp.Data;
namespace AsbCloudApp.Repositories
{
/// <summary>
/// данные ГТИ
/// </summary>
public interface IGtrRepository
{
/// <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);
/// <summary>
/// удаление данных ГТИ по запросу на удаление куска телеметрии
/// </summary>
/// <param name="request">запрос</param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> DeleteAsync<TType>(TelemetryPartDeleteRequest request, CancellationToken token)
where TType : notnull;
}
}