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

52 lines
1.9 KiB
C#

using AsbCloudApp.Data.GTR;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
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="dateBegin"></param>
/// <param name="intervalSec"></param>
/// <param name="approxPointsCount">кол-во элементов до которых эти данные прореживаются</param>
/// <param name="token"></param>
/// <returns></returns>
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>
IEnumerable<WitsItemRecordDto> GetLastDataByRecordId(int idWell, int idRecord);
/// <summary>
/// Последние полученные параметры
/// </summary>
/// <param name="idWell"></param>
/// <returns></returns>
IEnumerable<WitsItemRecordDto> GetLastData(int idWell);
}
}