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

57 lines
2.3 KiB
C#
Raw Normal View History

2023-11-28 15:54:47 +05:00
using AsbCloudApp.Data.Trajectory;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudApp.Repositories
{
/// <summary>
2023-11-22 10:31:41 +05:00
/// CRUD-репозиторий для работы с траекторией из клиента (плановой и фактической)
/// </summary>
/// <returns></returns>
//TrajectoryGeoPlanDto
public interface ITrajectoryEditableRepository<T> : ITrajectoryRepository<T> where T : TrajectoryGeoDto
{
/// <summary>
2023-01-12 10:32:54 +05:00
/// Добавить строки с координатами по одной скважине. Если в коллекции координаты для разных скважин получаем exception.
/// </summary>
/// <param name="trajectoryRows"></param>
/// <param name="token"></param>
2023-01-12 10:32:54 +05:00
/// <returns>количество записанных строк или exception с описанием</returns>
Task<int> AddRangeAsync(IEnumerable<T> trajectoryRows, CancellationToken token);
2022-12-27 21:45:03 +05:00
/// <summary>
/// Добавить одну строку с координатами
/// </summary>
/// <param name="trajectoryRow"></param>
2022-12-27 21:45:03 +05:00
/// <param name="token"></param>
/// <returns></returns>
Task<int> AddAsync(T trajectoryRow, CancellationToken token);
2022-12-27 21:45:03 +05:00
/// <summary>
/// Обновить строку с координатами
2023-01-11 14:59:54 +05:00
/// </summary>
/// <param name="row"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> UpdateAsync(T row,
CancellationToken token);
/// <summary>
2022-12-25 23:16:36 +05:00
/// Удалить строки с координатами
/// </summary>
/// <param name="ids"></param>
/// <param name="token"></param>
/// <returns></returns>
2022-12-25 23:16:36 +05:00
Task<int> DeleteRangeAsync(IEnumerable<int> ids, CancellationToken token);
2022-12-27 00:02:49 +05:00
/// <summary>
/// Удалить всю траекторию по ИД скважины
2022-12-27 00:02:49 +05:00
/// </summary>
/// <param name="idWell"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> DeleteByIdWellAsync(int idWell, CancellationToken token);
}
}