using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using AsbCloudApp.Data;
using AsbCloudApp.Requests;

namespace AsbCloudApp.Services;

/// <summary>
/// Сервис для ствола скважины
/// </summary>
public interface IWellboreService
{
	/// <summary>
	/// Получение ствола скважины
	/// </summary>
	/// <param name="idWell"></param>
	/// <param name="idSection"></param>
	/// <param name="cancellationToken"></param>
	/// <returns></returns>
	Task<WellboreDto?> GetWellboreAsync(int idWell, int idSection, CancellationToken cancellationToken);

	/// <summary>
	/// Получение стволов скважин
	/// </summary>
	/// <param name="request"></param>
	/// <param name="cancellationToken"></param>
	/// <returns></returns>
	Task<IEnumerable<WellboreDto>> GetWellboresAsync(WellboreRequest request, CancellationToken cancellationToken);
}