forked from ddrilling/AsbCloudServer
56 lines
2.1 KiB
C#
56 lines
2.1 KiB
C#
using AsbCloudApp.Data.Trajectory;
|
||
using System.Collections.Generic;
|
||
using System.Threading;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace AsbCloudApp.Repositories;
|
||
|
||
/// <summary>
|
||
/// CRUD-репозиторий для работы с траекторией из клиента (плановой и фактической)
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
//TrajectoryGeoPlanDto
|
||
public interface ITrajectoryEditableRepository<T> : ITrajectoryRepository<T> where T : TrajectoryGeoDto
|
||
{
|
||
/// <summary>
|
||
/// Добавить строки с координатами по одной скважине. Если в коллекции координаты для разных скважин получаем exception.
|
||
/// </summary>
|
||
/// <param name="trajectoryRows"></param>
|
||
/// <param name="token"></param>
|
||
/// <returns>количество записанных строк или exception с описанием</returns>
|
||
Task<int> AddRangeAsync(IEnumerable<T> trajectoryRows, CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// Добавить одну строку с координатами
|
||
/// </summary>
|
||
/// <param name="trajectoryRow"></param>
|
||
/// <param name="token"></param>
|
||
/// <returns></returns>
|
||
Task<int> AddAsync(T trajectoryRow, CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// Обновить строку с координатами
|
||
/// </summary>
|
||
/// <param name="row"></param>
|
||
/// <param name="token"></param>
|
||
/// <returns></returns>
|
||
Task<int> UpdateAsync(T row,
|
||
CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// Удалить строки с координатами
|
||
/// </summary>
|
||
/// <param name="ids"></param>
|
||
/// <param name="token"></param>
|
||
/// <returns></returns>
|
||
Task<int> DeleteRangeAsync(IEnumerable<int> ids, CancellationToken token);
|
||
|
||
/// <summary>
|
||
/// Удалить всю траекторию по ИД скважины
|
||
/// </summary>
|
||
/// <param name="idWell"></param>
|
||
/// <param name="token"></param>
|
||
/// <returns></returns>
|
||
Task<int> DeleteByIdWellAsync(int idWell, CancellationToken token);
|
||
}
|