using AsbCloudApp.Data;
using AsbCloudApp.Requests;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudApp.Services
{
#nullable enable
///
/// сервис операций по скважине
///
public interface IWellOperationService
{
///
/// список названий операций
///
///
IEnumerable GetCategories();
// TODO: объединить параметры в объект запроса
///
/// Получить список операций
///
///
///
///
Task> GetOperationsAsync(
WellOperationRequest request,
CancellationToken token);
///
/// Получить статистику операции по скважине с группировкой по категориям
///
///
///
///
Task> GetGroupOperationsStatAsync(
WellOperationRequest request,
CancellationToken token);
///
/// Получить операцию по id
///
///
///
///
Task GetOrDefaultAsync(int id, CancellationToken token);
///
/// Добавить несколько операций за один раз
///
///
///
///
Task InsertRangeAsync(
IEnumerable wellOperationDtos, CancellationToken token);
///
/// Обновить существующую операцию
///
///
///
///
Task UpdateAsync(WellOperationDto item,
CancellationToken token);
///
/// Удалить операции по id
///
///
///
///
Task DeleteAsync(IEnumerable ids, CancellationToken token);
///
/// Список секций
///
///
IDictionary GetSectionTypes();
///
/// дата/время первой операции по скважине
///
///
///
DateTimeOffset? FirstOperationDate(int idWell);
}
#nullable disable
}