diff --git a/AsbCloudApp/Requests/Import/ParserOptionsRequestBase.cs b/AsbCloudApp/Requests/Import/ParserOptionsRequestBase.cs deleted file mode 100644 index 852459ee..00000000 --- a/AsbCloudApp/Requests/Import/ParserOptionsRequestBase.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace AsbCloudApp.Requests.Import; - -/// -/// Параметры парсинга -/// -public abstract class ParserOptionsRequestBase -{ - /// - /// Id сервиса для парсинга - /// - public int IdParserService { get; set; } - - /// - /// Название листа в файле Excel - /// - public string SheetName { get; set; } = null!; -} \ No newline at end of file diff --git a/AsbCloudApp/Requests/Import/TrajectoryParserRequest.cs b/AsbCloudApp/Requests/Import/TrajectoryParserRequest.cs deleted file mode 100644 index 6a7fedab..00000000 --- a/AsbCloudApp/Requests/Import/TrajectoryParserRequest.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace AsbCloudApp.Requests.Import; - -/// -/// Параметры парсинга траекторий -/// -public class TrajectoryParserRequest : ParserOptionsRequestBase -{ - /// - /// Количество строк заголовка - /// - public int HeaderRowsCount { get; set; } -} \ No newline at end of file diff --git a/AsbCloudApp/Requests/ParserOptions/IParserOptionsRequest.cs b/AsbCloudApp/Requests/ParserOptions/IParserOptionsRequest.cs new file mode 100644 index 00000000..dd8f8e4f --- /dev/null +++ b/AsbCloudApp/Requests/ParserOptions/IParserOptionsRequest.cs @@ -0,0 +1,8 @@ +namespace AsbCloudApp.Requests.ParserOptions; + +/// +/// Интерфейс для параметров парсера +/// +public interface IParserOptionsRequest +{ +} \ No newline at end of file diff --git a/AsbCloudApp/Services/Parser/IParserService.cs b/AsbCloudApp/Services/Parser/IParserService.cs new file mode 100644 index 00000000..628859bb --- /dev/null +++ b/AsbCloudApp/Services/Parser/IParserService.cs @@ -0,0 +1,19 @@ +using System.IO; +using AsbCloudApp.Data; + +namespace AsbCloudApp.Services.Parser; + +/// +/// Сервис парсинга файлов +/// +/// +public interface IParserService + where TDto : class, IId +{ + /// + /// Распарсить файл + /// + /// + /// + ParserResultDto Parse(Stream file); +} \ No newline at end of file diff --git a/AsbCloudApp/Services/IParserService.cs b/AsbCloudApp/Services/Parser/IParserServiceWithOptions.cs similarity index 54% rename from AsbCloudApp/Services/IParserService.cs rename to AsbCloudApp/Services/Parser/IParserServiceWithOptions.cs index 81177c64..83e54a27 100644 --- a/AsbCloudApp/Services/IParserService.cs +++ b/AsbCloudApp/Services/Parser/IParserServiceWithOptions.cs @@ -1,17 +1,17 @@ using System.IO; using AsbCloudApp.Data; -using AsbCloudApp.Requests.Import; +using AsbCloudApp.Requests.ParserOptions; -namespace AsbCloudApp.Services; +namespace AsbCloudApp.Services.Parser; /// -/// Сервис парсинга файлов +/// Сервис парсинга файлов с доп. параметрами /// /// /// -public interface IParserService : IParserService +public interface IParserServiceWithOptions where TDto : class, IId - where TOptions : ParserOptionsRequestBase + where TOptions : IParserOptionsRequest { /// /// Распарсить файл @@ -20,11 +20,4 @@ public interface IParserService : IParserService /// /// ParserResultDto Parse(Stream file, TOptions options); -} - -/// -/// Сервис парсинга файлов -/// -public interface IParserService -{ } \ No newline at end of file