using AsbCloudApp.Data;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudApp.Services;
///
/// The параметры бурения service.
///
public interface IDrillParamsService : ICrudRepository
{
///
/// default параметры бурения
///
/// The id well.
/// The start depth.
/// The end depth.
/// The token.
/// A Task.
Task GetDefaultDrillParamsAsync(int idWell, double startDepth,
double endDepth, CancellationToken token = default);
///
/// Все за скважину
///
/// The id well.
/// The token.
/// A Task.
Task> GetAllAsync(int idWell,
CancellationToken token = default);
///
/// Все скважину по композитной скважине
///
/// The id well.
/// The token.
/// A Task.
Task> GetCompositeAllAsync(int idWell,
CancellationToken token = default);
///
/// Добавить
///
/// The id well.
/// The dto.
/// The token.
/// A Task.
Task InsertAsync(int idWell, DrillParamsDto dto,
CancellationToken token = default);
///
/// Добавить несколько
///
/// The id well.
/// The dtos.
/// The token.
/// A Task.
Task InsertRangeAsync(int idWell, IEnumerable dtos,
CancellationToken token = default);
///
/// Редактировать
///
/// The id well.
/// The dto id.
/// The dto.
/// The token.
/// A Task.
Task UpdateAsync(int idWell, int dtoId, DrillParamsDto dto,
CancellationToken token = default);
///
/// Удалить старые и сохранить новые
///
/// The id well.
/// The dtos.
/// The token.
/// A Task.
Task SaveAsync(int idWell, IEnumerable dtos, CancellationToken token = default);
}