using System;
using AsbCloudApp.Data.DetectedOperation;
using AsbCloudApp.Requests;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Threading;
using AsbCloudApp.Data;
using AsbCloudApp.Data.WellOperation;
namespace AsbCloudApp.Repositories;
///
/// Таблица автоматически определенных операций
///
public interface IDetectedOperationRepository
{
///
/// Добавление нескольких записей
///
///
///
/// количество добавленных
Task InsertRangeAsync(IEnumerable dtos, CancellationToken token);
///
/// Обновить несколько записей
///
///
///
///
Task UpdateRangeAsync(IEnumerable dtos, CancellationToken token);
///
/// Удаление нескольких записей
///
///
///
///
Task DeleteRangeAsync(IEnumerable ids, CancellationToken token);
///
/// Получить автоматически определенные операции по телеметрии
///
///
///
///
Task> Get(DetectedOperationByTelemetryRequest request, CancellationToken token);
///
/// Получить страницу списка операций
///
///
///
///
Task> GetPageAsync(DetectedOperationByTelemetryRequest request, CancellationToken token);
///
/// Получение дат последних определённых операций
///
///
///
Task> GetLastDetectedDatesAsync(CancellationToken token);
///
/// Удалить операции
///
///
///
///
Task DeleteAsync(DetectedOperationByTelemetryRequest request, CancellationToken token);
}