From 501ef529381396f705e4bfd1c7c58b9ebe4cc124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=BE=D0=B2=20=D0=94?= =?UTF-8?q?=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Wed, 31 Jan 2024 17:18:02 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3=20=D0=B4=D0=BE=D0=BC=D0=B5=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Разделил сервисы парсинга. 2. Выделил интерфейс маркер для доп. параметров парсинга. Данный сервис применяется только для ограничения обощённых параметров. --- .../Import/ParserOptionsRequestBase.cs | 17 ----------------- .../Import/TrajectoryParserRequest.cs | 12 ------------ .../ParserOptions/IParserOptionsRequest.cs | 8 ++++++++ AsbCloudApp/Services/Parser/IParserService.cs | 19 +++++++++++++++++++ .../IParserServiceWithOptions.cs} | 17 +++++------------ 5 files changed, 32 insertions(+), 41 deletions(-) delete mode 100644 AsbCloudApp/Requests/Import/ParserOptionsRequestBase.cs delete mode 100644 AsbCloudApp/Requests/Import/TrajectoryParserRequest.cs create mode 100644 AsbCloudApp/Requests/ParserOptions/IParserOptionsRequest.cs create mode 100644 AsbCloudApp/Services/Parser/IParserService.cs rename AsbCloudApp/Services/{IParserService.cs => Parser/IParserServiceWithOptions.cs} (54%) 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