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