using System.IO; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services { /// <summary> /// Сервис загрузки и обработки плановой траектории из файла /// </summary> public interface IPlannedTrajectoryImportService { /// <summary> /// скачать шаблон для заполнения плановой траектории /// </summary> /// <returns></returns> Stream GetTemplateFile(); /// <summary> /// Получить имя файла (исходя из названия скважины) /// </summary> /// <returns></returns> Task<string> GetFileNameAsync(int idWell, CancellationToken token); /// <summary> /// загрузить текущую плановую траекторию в .xlsx /// </summary> /// <param name="idWell"></param> /// <param name="token"></param> /// <returns></returns> Task<Stream> ExportAsync(int idWell, CancellationToken token); /// <summary> /// импортировать из excel плановую траекторию /// </summary> /// <param name="idWell"></param> /// <param name="idUser"></param> /// <param name="stream"></param> /// <param name="token"></param> /// <param name="deleteBeforeImport">Очистить старые координаты перед импортом (если файл проходит валидацию)</param> Task<int> ImportAsync(int idWell, int idUser, Stream stream, bool deleteBeforeImport, CancellationToken token); } }