using AsbCloudApp.Data; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Repositories { /// <summary> /// CRUD для работы с плановой траекторией из клиента /// </summary> /// <returns></returns> public interface IPlannedTrajectoryRepository : ITrajectoryRepository { /// <summary> /// Получить все добавленные по скважине координаты плановой траектории /// </summary> /// <param name="idWell"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<PlannedTrajectoryDto>> GetAsync(int idWell, CancellationToken token); /// <summary> /// Добавить строки с координатами по одной скважине. Если в коллекции координаты для разных скважин получаем exception. /// </summary> /// <param name="plannedTrajectoryRows"></param> /// <param name="token"></param> /// <returns>количество записанных строк или exception с описанием</returns> Task<int> AddRangeAsync(IEnumerable<PlannedTrajectoryDto> plannedTrajectoryRows, CancellationToken token); /// <summary> /// Добавить одну строку с координатами /// </summary> /// <param name="plannedTrajectoryRow"></param> /// <param name="token"></param> /// <returns></returns> Task<int> AddAsync(PlannedTrajectoryDto plannedTrajectoryRow, CancellationToken token); /// <summary> /// Обновить строку с координатами /// </summary> /// <param name="row"></param> /// <param name="token"></param> /// <returns></returns> Task<int> UpdateAsync(PlannedTrajectoryDto 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); } }