diff --git a/Hcs.WebApp/BackgroundServices/DataParsers/DataParserBase.cs b/Hcs.WebApp/BackgroundServices/DataParsers/DataParserBase.cs new file mode 100644 index 0000000..92e5fb5 --- /dev/null +++ b/Hcs.WebApp/BackgroundServices/DataParsers/DataParserBase.cs @@ -0,0 +1,14 @@ +using Hcs.Broker; +using Hcs.WebApp.Data.Hcs; + +namespace Hcs.WebApp.BackgroundServices.DataParsers +{ + public abstract class DataParserBase(IClient client, IServiceScope scope, Operation operation) : IDataParser + { + protected readonly IClient client = client; + protected readonly IServiceScope scope = scope; + protected readonly Operation operation = operation; + + public abstract Task ParseAsync(); + } +} diff --git a/Hcs.WebApp/BackgroundServices/DataParsers/DataParserFactory.cs b/Hcs.WebApp/BackgroundServices/DataParsers/DataParserFactory.cs new file mode 100644 index 0000000..5e0c38b --- /dev/null +++ b/Hcs.WebApp/BackgroundServices/DataParsers/DataParserFactory.cs @@ -0,0 +1,16 @@ +using Hcs.Broker; +using Hcs.WebApp.Data.Hcs; + +namespace Hcs.WebApp.BackgroundServices.DataParsers +{ + public class DataParserFactory + { + public IDataParser CreateResultGetter(IServiceScope scope, IClient client, Operation operation) + { + return operation.Type switch + { + Operation.OperationType.ParseHousesData_15_7_0_1 => new HousesDataParser_15_7_0_1(client, scope, operation) + }; + } + } +} diff --git a/Hcs.WebApp/BackgroundServices/DataParsers/HousesDataParser_15_7_0_1.cs b/Hcs.WebApp/BackgroundServices/DataParsers/HousesDataParser_15_7_0_1.cs new file mode 100644 index 0000000..bdaea2f --- /dev/null +++ b/Hcs.WebApp/BackgroundServices/DataParsers/HousesDataParser_15_7_0_1.cs @@ -0,0 +1,13 @@ +using Hcs.Broker; +using Hcs.WebApp.Data.Hcs; + +namespace Hcs.WebApp.BackgroundServices.DataParsers +{ + public class HousesDataParser_15_7_0_1(IClient client, IServiceScope scope, Operation operation) : DataParserBase(client, scope, operation) + { + public override Task ParseAsync() + { + throw new NotImplementedException(); + } + } +} diff --git a/Hcs.WebApp/BackgroundServices/DataParsers/IDataParser.cs b/Hcs.WebApp/BackgroundServices/DataParsers/IDataParser.cs index fd1244b..4a4b13a 100644 --- a/Hcs.WebApp/BackgroundServices/DataParsers/IDataParser.cs +++ b/Hcs.WebApp/BackgroundServices/DataParsers/IDataParser.cs @@ -1,6 +1,7 @@ namespace Hcs.WebApp.BackgroundServices.DataParsers { - public class IDataParser + public interface IDataParser { + Task ParseAsync(); } } diff --git a/Hcs.WebApp/BackgroundServices/DataParsingService.cs b/Hcs.WebApp/BackgroundServices/DataParsingService.cs new file mode 100644 index 0000000..634f1ee --- /dev/null +++ b/Hcs.WebApp/BackgroundServices/DataParsingService.cs @@ -0,0 +1,6 @@ +namespace Hcs.WebApp.BackgroundServices +{ + public class DataParsingService + { + } +} diff --git a/Hcs.WebApp/BackgroundServices/DataParsingState.cs b/Hcs.WebApp/BackgroundServices/DataParsingState.cs new file mode 100644 index 0000000..840ebe7 --- /dev/null +++ b/Hcs.WebApp/BackgroundServices/DataParsingState.cs @@ -0,0 +1,6 @@ +namespace Hcs.WebApp.BackgroundServices +{ + public class DataParsingState + { + } +} diff --git a/Hcs.WebApp/Data/Hcs/Operation.cs b/Hcs.WebApp/Data/Hcs/Operation.cs index f0d8513..a6c1e49 100644 --- a/Hcs.WebApp/Data/Hcs/Operation.cs +++ b/Hcs.WebApp/Data/Hcs/Operation.cs @@ -11,7 +11,10 @@ namespace Hcs.WebApp.Data.Hcs NsiCommon_ExportNsiItem_15_7_0_1, [Display(Description = "Экспорт частного справочника")] - Nsi_ExportNsiItem_15_7_0_1 + Nsi_ExportNsiItem_15_7_0_1, + + [Display(Description = "Парсинг данных домов")] + ParseHousesData_15_7_0_1 } public int Id { get; set; }