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

namespace AsbCloudApp.Services
{
    public interface IDrillFlowChartService : ICrudService<DrillFlowChartDto>
    {
        Task<IEnumerable<DrillFlowChartDto>> GetAllAsync(int idWell,
            DateTime updateFrom, CancellationToken token = default);

        Task<int> InsertAsync(int idWell, DrillFlowChartDto dto,
            CancellationToken token = default);
        
        Task<int> InsertRangeAsync(int idWell, IEnumerable<DrillFlowChartDto> dtos,
            CancellationToken token = default);

        Task<int> UpdateAsync(int idWell, int idDto, DrillFlowChartDto dto,
            CancellationToken token = default);
    }
}