DD.WellWorkover.Cloud/AsbCloudApp/Services/IPlannedTrajectoryImportService.cs

41 lines
1.7 KiB
C#
Raw Normal View History

using System.IO;
2022-12-27 00:02:49 +05:00
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudApp.Services
{
/// <summary>
/// Сервис загрузки и обработки плановой траектории из файла
/// </summary>
public interface IPlannedTrajectoryImportService
{
/// <summary>
2022-12-25 23:16:36 +05:00
/// скачать шаблон для заполнения плановой траектории
/// </summary>
/// <returns></returns>
Stream GetTemplateFile();
2022-12-27 00:02:49 +05:00
/// <summary>
/// Получить имя файла (исходя из названия скважины)
/// </summary>
/// <returns></returns>
2023-01-12 09:40:37 +05:00
Task<string> GetFileNameAsync(int idWell, CancellationToken token);
2022-12-27 00:02:49 +05:00
/// <summary>
2022-12-25 23:16:36 +05:00
/// загрузить текущую плановую траекторию в .xlsx
/// </summary>
/// <param name="idWell"></param>
2022-12-27 00:02:49 +05:00
/// <param name="token"></param>
/// <returns></returns>
2022-12-27 00:02:49 +05:00
Task<Stream> ExportAsync(int idWell, CancellationToken token);
/// <summary>
2022-12-25 23:16:36 +05:00
/// импортировать из excel плановую траекторию
/// </summary>
/// <param name="idWell"></param>
/// <param name="idUser"></param>
/// <param name="stream"></param>
2022-12-27 00:02:49 +05:00
/// <param name="token"></param>
2023-01-11 14:59:54 +05:00
/// <param name="deleteBeforeImport">Очистить старые координаты перед импортом (если файл проходит валидацию)</param>
Task<int> ImportAsync(int idWell, int idUser, Stream stream, bool deleteBeforeImport, CancellationToken token);
}
}