diff --git a/RhSolutions.Api.Tests/Usings.cs b/RhSolutions.Api.Tests/Usings.cs deleted file mode 100644 index 0c5cc00..0000000 --- a/RhSolutions.Api.Tests/Usings.cs +++ /dev/null @@ -1,2 +0,0 @@ -global using NUnit.Framework; -global using RhSolutions.MLModifiers; \ No newline at end of file diff --git a/RhSolutions.Api.sln b/RhSolutions.Api.sln index a0f5d9c..8a56b73 100644 --- a/RhSolutions.Api.sln +++ b/RhSolutions.Api.sln @@ -5,9 +5,9 @@ VisualStudioVersion = 17.0.31903.59 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RhSolutions.Api", "RhSolutions.Api\RhSolutions.Api.csproj", "{6AACEC90-0811-418D-8505-EB142A2B2AFA}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RhSolutions.Api.Tests", "RhSolutions.Api.Tests\RhSolutions.Api.Tests.csproj", "{E49F46C4-5F07-4055-AE8B-700AA6FC35FD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RhSolutions.Parsers", "RhSolutions.Parsers\RhSolutions.Parsers.csproj", "{C00C3DAB-275B-416D-BB66-4CB144441B18}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RhSolutions.MLModifiers", "RhSolutions.MLModifiers\RhSolutions.MLModifiers.csproj", "{50A53BB3-1F9D-4F19-90DB-BCB4D49FF9FE}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RhSolutions.Parsers.Tests", "RhSolutions.Parsers.Tests\RhSolutions.Parsers.Tests.csproj", "{5AD110C3-A08C-459F-9CB1-198E75A955EE}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -22,13 +22,13 @@ Global {6AACEC90-0811-418D-8505-EB142A2B2AFA}.Debug|Any CPU.Build.0 = Debug|Any CPU {6AACEC90-0811-418D-8505-EB142A2B2AFA}.Release|Any CPU.ActiveCfg = Release|Any CPU {6AACEC90-0811-418D-8505-EB142A2B2AFA}.Release|Any CPU.Build.0 = Release|Any CPU - {E49F46C4-5F07-4055-AE8B-700AA6FC35FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E49F46C4-5F07-4055-AE8B-700AA6FC35FD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E49F46C4-5F07-4055-AE8B-700AA6FC35FD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E49F46C4-5F07-4055-AE8B-700AA6FC35FD}.Release|Any CPU.Build.0 = Release|Any CPU - {50A53BB3-1F9D-4F19-90DB-BCB4D49FF9FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {50A53BB3-1F9D-4F19-90DB-BCB4D49FF9FE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {50A53BB3-1F9D-4F19-90DB-BCB4D49FF9FE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {50A53BB3-1F9D-4F19-90DB-BCB4D49FF9FE}.Release|Any CPU.Build.0 = Release|Any CPU + {C00C3DAB-275B-416D-BB66-4CB144441B18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C00C3DAB-275B-416D-BB66-4CB144441B18}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C00C3DAB-275B-416D-BB66-4CB144441B18}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C00C3DAB-275B-416D-BB66-4CB144441B18}.Release|Any CPU.Build.0 = Release|Any CPU + {5AD110C3-A08C-459F-9CB1-198E75A955EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5AD110C3-A08C-459F-9CB1-198E75A955EE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5AD110C3-A08C-459F-9CB1-198E75A955EE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5AD110C3-A08C-459F-9CB1-198E75A955EE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/RhSolutions.Api/Middleware/QueryModifier.cs b/RhSolutions.Api/Middleware/QueryModifier.cs index f349e48..8f10928 100644 --- a/RhSolutions.Api/Middleware/QueryModifier.cs +++ b/RhSolutions.Api/Middleware/QueryModifier.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Http.Extensions; using RhSolutions.Api.Services; -using RhSolutions.MLModifiers; +using RhSolutions.Parsers; namespace RhSolutions.Api.Middleware; @@ -8,7 +8,7 @@ public class QueryModifier { private RequestDelegate _next; private IServiceProvider _provider; - private IProductMLModifier? _modifier; + private IProductParser? _modifier; public QueryModifier(RequestDelegate nextDelegate, IServiceProvider provider) { @@ -21,15 +21,15 @@ public class QueryModifier if (context.Request.Method == HttpMethods.Get && context.Request.Path == "/api/search") { - string query = context.Request.Query["query"].ToString(); - var productType = typePredicter.GetPredictedProductType(query); - _modifier = _provider.GetRequiredKeyedService(productType); + string input = context.Request.Query["query"].ToString(); + var productType = typePredicter.GetPredictedProductType(input); + _modifier = _provider.GetRequiredKeyedService(productType); if (_modifier == null) return; - if (_modifier.TryQueryModify(query, out var modified)) + if (_modifier.TryParse(input, out var output)) { QueryBuilder qb = new() { - {"query", modified} + {"query", output} }; context.Request.QueryString = qb.ToQueryString(); } diff --git a/RhSolutions.Api/Program.cs b/RhSolutions.Api/Program.cs index ac5269c..19268bc 100644 --- a/RhSolutions.Api/Program.cs +++ b/RhSolutions.Api/Program.cs @@ -2,7 +2,7 @@ using Microsoft.EntityFrameworkCore; using RhSolutions.Models; using RhSolutions.Api.Services; using RhSolutions.Api.Middleware; -using RhSolutions.MLModifiers; +using RhSolutions.Parsers; using Microsoft.OpenApi.Models; using System.Reflection; using Microsoft.AspNetCore.Identity; diff --git a/RhSolutions.Api/RhSolutions.Api.csproj b/RhSolutions.Api/RhSolutions.Api.csproj index 7690469..dfab389 100644 --- a/RhSolutions.Api/RhSolutions.Api.csproj +++ b/RhSolutions.Api/RhSolutions.Api.csproj @@ -34,7 +34,7 @@ - + diff --git a/RhSolutions.MLModifiers/IProductMLModifier.cs b/RhSolutions.MLModifiers/IProductMLModifier.cs deleted file mode 100644 index 544fcbe..0000000 --- a/RhSolutions.MLModifiers/IProductMLModifier.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace RhSolutions.MLModifiers; - -public interface IProductMLModifier -{ - public bool TryQueryModify(string query, out string queryModified); -} diff --git a/RhSolutions.MLModifiers/MLModifierKey.cs b/RhSolutions.MLModifiers/MLModifierKey.cs deleted file mode 100644 index 564abea..0000000 --- a/RhSolutions.MLModifiers/MLModifierKey.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace RhSolutions.MLModifiers; - -public class MLModifierKey : Attribute -{ - public string Value { get; private set; } - public MLModifierKey(string value) - { - Value = value; - } -} \ No newline at end of file diff --git a/RhSolutions.Api.Tests/ProductQueryModifierTests.cs b/RhSolutions.Parsers.Tests/ProductParsersTests.cs similarity index 64% rename from RhSolutions.Api.Tests/ProductQueryModifierTests.cs rename to RhSolutions.Parsers.Tests/ProductParsersTests.cs index a642f9c..1108a2d 100644 --- a/RhSolutions.Api.Tests/ProductQueryModifierTests.cs +++ b/RhSolutions.Parsers.Tests/ProductParsersTests.cs @@ -2,13 +2,13 @@ using Microsoft.Extensions.DependencyInjection; namespace RhSolutions.Api.Tests; -public abstract class ProductQueryModifierTests +public abstract class ProductParsersTests { public void Invoke(string productType, string query, string expected) { - var modifier = TestServiceCollection.ServiceProvider?.GetRequiredKeyedService(productType); + var modifier = TestServiceCollection.ServiceProvider?.GetRequiredKeyedService(productType); string actual = string.Empty; - Assert.That(modifier?.TryQueryModify(query, out actual), Is.True); + Assert.That(modifier?.TryParse(query, out actual), Is.True); Assert.That(actual, Is.EqualTo(expected)); } } diff --git a/RhSolutions.Api.Tests/RautitanFittingsTests.cs b/RhSolutions.Parsers.Tests/RautitanFittingsTests.cs similarity index 99% rename from RhSolutions.Api.Tests/RautitanFittingsTests.cs rename to RhSolutions.Parsers.Tests/RautitanFittingsTests.cs index 49a7bbe..e20fcda 100644 --- a/RhSolutions.Api.Tests/RautitanFittingsTests.cs +++ b/RhSolutions.Parsers.Tests/RautitanFittingsTests.cs @@ -1,7 +1,7 @@ namespace RhSolutions.Api.Tests; -public class RautitanFittingsTests : ProductQueryModifierTests +public class RautitanFittingsTests : ProductParsersTests { [TestCase("Гильза 16", "Монтажная гильза 16")] [TestCase("Пресс-втулка 20", "Монтажная гильза 20")] diff --git a/RhSolutions.Api.Tests/RautitanPipesTests.cs b/RhSolutions.Parsers.Tests/RautitanPipesTests.cs similarity index 97% rename from RhSolutions.Api.Tests/RautitanPipesTests.cs rename to RhSolutions.Parsers.Tests/RautitanPipesTests.cs index 64a549b..12755d9 100644 --- a/RhSolutions.Api.Tests/RautitanPipesTests.cs +++ b/RhSolutions.Parsers.Tests/RautitanPipesTests.cs @@ -1,7 +1,7 @@ namespace RhSolutions.Api.Tests; -public class RautitanPipesTests : ProductQueryModifierTests +public class RautitanPipesTests : ProductParsersTests { [TestCase("Унив.труба RAUTITAN flex 16x2,2, бухта 100м", "Труба Flex 16x2,2 бухта")] [TestCase("Труба flex 16", "Труба Flex 16x2,2 бухта")] diff --git a/RhSolutions.Api.Tests/RhSolutions.Api.Tests.csproj b/RhSolutions.Parsers.Tests/RhSolutions.Parsers.Tests.csproj similarity index 91% rename from RhSolutions.Api.Tests/RhSolutions.Api.Tests.csproj rename to RhSolutions.Parsers.Tests/RhSolutions.Parsers.Tests.csproj index cc4ff74..54c5487 100644 --- a/RhSolutions.Api.Tests/RhSolutions.Api.Tests.csproj +++ b/RhSolutions.Parsers.Tests/RhSolutions.Parsers.Tests.csproj @@ -23,7 +23,7 @@ - + diff --git a/RhSolutions.Api.Tests/TestServiceCollection.cs b/RhSolutions.Parsers.Tests/TestServiceCollection.cs similarity index 100% rename from RhSolutions.Api.Tests/TestServiceCollection.cs rename to RhSolutions.Parsers.Tests/TestServiceCollection.cs diff --git a/RhSolutions.Parsers.Tests/Usings.cs b/RhSolutions.Parsers.Tests/Usings.cs new file mode 100644 index 0000000..af50770 --- /dev/null +++ b/RhSolutions.Parsers.Tests/Usings.cs @@ -0,0 +1,2 @@ +global using NUnit.Framework; +global using RhSolutions.Parsers; \ No newline at end of file diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Adapter.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Adapter.cs similarity index 75% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Adapter.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/Adapter.cs index 78cb9a2..59da412 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Adapter.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Adapter.cs @@ -1,10 +1,10 @@ using System.Text.RegularExpressions; -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; public abstract class Adapter : DrinkingWaterHeatingFitting { - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; Match diameter = _diameter.Match(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/AdapterExternal.cs similarity index 50% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/AdapterExternal.cs index 2aeb63e..af77ee8 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/AdapterExternal.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Переходник на наружную резьбу")] +[ParserKey("Переходник на наружную резьбу")] public class AdapterExternal : Adapter { protected override string _title => "Переходник с наружной резьбой"; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterInternal.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/AdapterInternal.cs similarity index 56% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterInternal.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/AdapterInternal.cs index 52954bd..8c1fe92 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterInternal.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/AdapterInternal.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Переходник на внутреннюю резьбу")] +[ParserKey("Переходник на внутреннюю резьбу")] public class AdapterInternal : Adapter { protected override string _title => "Переходник с внутренней резьбой -угольник-переходник"; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs similarity index 50% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs index 543fb8a..8223bb4 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Переходник с накидной гайкой")] +[ParserKey("Переходник с накидной гайкой")] public class AdapterScrewcap : Adapter { protected override string _title => "Переходник с накидной гайкой"; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/BendFormerHeating.cs similarity index 72% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/BendFormerHeating.cs index 9507ea0..6a578fb 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/BendFormerHeating.cs @@ -1,10 +1,10 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Фиксатор поворота отопление")] +[ParserKey("Фиксатор поворота отопление")] public class BendFormerHeating : DrinkingWaterHeatingFitting { protected override string _title => "Фиксатор поворота"; - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; var diameterMatch = _diameter.Match(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/BendFormerSanitary.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/BendFormerSanitary.cs similarity index 71% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/BendFormerSanitary.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/BendFormerSanitary.cs index 74bcc09..334f3fe 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/BendFormerSanitary.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/BendFormerSanitary.cs @@ -1,11 +1,11 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Фиксатор поворота водоснабжение")] +[ParserKey("Фиксатор поворота водоснабжение")] public class BendFormerSanitary : DrinkingWaterHeatingFitting { protected override string _title => "Фиксатор поворота с кольцами"; - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; var diameterMatch = _diameter.Match(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ConnectionBend.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ConnectionBend.cs similarity index 79% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ConnectionBend.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/ConnectionBend.cs index 4bdadef..af54329 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ConnectionBend.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ConnectionBend.cs @@ -1,8 +1,8 @@ using System.Text.RegularExpressions; -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Трубка Г-образная")] +[ParserKey("Трубка Г-образная")] public class ConnectionBend : DrinkingWaterHeatingFitting { private static readonly int[] lengths = [250, 500, 1000]; @@ -10,7 +10,7 @@ public class ConnectionBend : DrinkingWaterHeatingFitting new(@"([\b\D]|^)?(?16|20|25)(\D+|.*15.*)(?\b\d{3,4})([\b\D]|$)"); protected override string _title => "Трубка Г-образная"; - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; var match = _pattern.Match(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ConnectionTee.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ConnectionTee.cs similarity index 51% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ConnectionTee.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/ConnectionTee.cs index 64b5243..72f2015 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ConnectionTee.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ConnectionTee.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Трубка Т-образная")] +[ParserKey("Трубка Т-образная")] public class ConnectionTee : ConnectionBend { protected override string _title => "Трубка Т-образная"; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Coupling.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Coupling.cs similarity index 77% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Coupling.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/Coupling.cs index 8f12566..79ed7b4 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Coupling.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Coupling.cs @@ -1,11 +1,11 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Муфта соединительная")] +[ParserKey("Муфта соединительная")] public class Coupling : DrinkingWaterHeatingFitting { protected override string _title => "Муфта соединительная"; - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; var diametersMatches = _diameter.Matches(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs similarity index 75% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs index 50a9943..218e9e0 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs @@ -1,8 +1,8 @@ using System.Text.RegularExpressions; -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -public abstract class DrinkingWaterHeatingFitting : IProductMLModifier +public abstract class DrinkingWaterHeatingFitting : IProductParser { protected static readonly Regex _diameter = new(@"([\b\D]|^)?(?16|20|25|32|40|50|63)([\b\D]|$)"); @@ -13,7 +13,7 @@ public abstract class DrinkingWaterHeatingFitting : IProductMLModifier protected virtual string _title { get; } = string.Empty; - public virtual bool TryQueryModify(string input, out string output) + public virtual bool TryParse(string input, out string output) { var match = _diameter.Match(input); if (match.Success) diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/DummyPlug.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/DummyPlug.cs similarity index 55% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/DummyPlug.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/DummyPlug.cs index 9cf4ba8..cf7ec22 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/DummyPlug.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/DummyPlug.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Заглушка труб RAUTITAN")] +[ParserKey("Заглушка труб RAUTITAN")] public class DummyPlug : DrinkingWaterHeatingFitting { protected override string _title => "Заглушка для полимерн. трубы"; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Elbow.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Elbow.cs similarity index 73% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Elbow.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/Elbow.cs index c762936..ccfb7d5 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Elbow.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Elbow.cs @@ -1,11 +1,11 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Угольник RAUTITAN")] +[ParserKey("Угольник RAUTITAN")] public class Elbow : DrinkingWaterHeatingFitting { protected override string _title { get; } = "Угольник -PLATINUM"; - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; var diameterMatch = _diameter.Match(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Eurocone.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Eurocone.cs similarity index 76% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Eurocone.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/Eurocone.cs index 4aaa812..e82533a 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Eurocone.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Eurocone.cs @@ -1,10 +1,10 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; public abstract class Eurocone : DrinkingWaterHeatingFitting { protected virtual Dictionary _titles { get; } = new(); - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; var diameterMatch = _diameter.Match(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs similarity index 66% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs index b9a4e09..909bb14 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs @@ -1,11 +1,11 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Переходник на евроконус")] +[ParserKey("Переходник на евроконус")] public class EuroconeAdapter : DrinkingWaterHeatingFitting { protected override string _title => "Переходник на евроконус"; - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; var diameterMatch = _diameter.Match(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs similarity index 51% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs index a011f01..a683fef 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs @@ -1,9 +1,9 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Резьбозажимное для трубки")] +[ParserKey("Резьбозажимное для трубки")] public class EuroconeConnectionBend : DrinkingWaterHeatingFitting { - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = "Резьбозажимное соединение для металлической трубки G 3/4 -15"; return true; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/EuroconeFlex.cs similarity index 70% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/EuroconeFlex.cs index d84a92c..7bc1738 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/EuroconeFlex.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Резьбозажимное flex")] +[ParserKey("Резьбозажимное flex")] public class EuroconeFlex : Eurocone { protected override Dictionary _titles => new() diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/EuroconeStabil.cs similarity index 70% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/EuroconeStabil.cs index 5b8c700..bab3765 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/EuroconeStabil.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Резьбозажимное stabil")] +[ParserKey("Резьбозажимное stabil")] public class EuroconeStabil : Eurocone { protected override Dictionary _titles => new() diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ManifoldG1.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ManifoldG1.cs similarity index 72% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ManifoldG1.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/ManifoldG1.cs index 5e364a8..2ac2cf1 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ManifoldG1.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ManifoldG1.cs @@ -1,8 +1,8 @@ using System.Text.RegularExpressions; -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Коллектор G1")] +[ParserKey("Коллектор G1")] public class ManifoldG1 : DrinkingWaterHeatingFitting { private static readonly Regex _portsCount = @@ -10,7 +10,7 @@ public class ManifoldG1 : DrinkingWaterHeatingFitting protected override string _title => "Распределительный коллектор G1"; - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { var match = _portsCount.Match(input); if (match.Success) diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ManifoldHLV.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ManifoldHLV.cs similarity index 73% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ManifoldHLV.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/ManifoldHLV.cs index 4b895fd..f4a4d48 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ManifoldHLV.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ManifoldHLV.cs @@ -1,15 +1,15 @@ using System.Text.RegularExpressions; -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Коллектор HLV")] +[ParserKey("Коллектор HLV")] public class ManifoldHLV : DrinkingWaterHeatingFitting { private static readonly Regex _portsCount = new(@"\s(?\d{1,2})\s"); protected override string _title => "Распределительный коллектор HLV"; - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { var match = _portsCount.Match(input); if (match.Success) diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Nippel.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Nippel.cs similarity index 51% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Nippel.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/Nippel.cs index 12ffa72..9a0b3bf 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Nippel.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Nippel.cs @@ -1,9 +1,9 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Ниппель")] +[ParserKey("Ниппель")] public class Nippel : DrinkingWaterHeatingFitting { - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = "К-т двух резьбозажим. нипелей с нар.резьбой 1/2х3/4"; return true; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ProtectivePipe.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ProtectivePipe.cs similarity index 71% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ProtectivePipe.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/ProtectivePipe.cs index aa4f736..36f028d 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ProtectivePipe.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ProtectivePipe.cs @@ -1,11 +1,11 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Гофротруба RAUTITAN")] +[ParserKey("Гофротруба RAUTITAN")] public class ProtectivePipe : DrinkingWaterHeatingFitting { protected override string _title => "Гофротруба защитн.для ПЭ-трубы"; - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; var diameterMatch = _diameter.Match(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs similarity index 53% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs index d0f494c..3a735bc 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Угольник с накидной гайкой")] +[ParserKey("Угольник с накидной гайкой")] public class ScrewcapElbow : Adapter { protected override string _title => "Угольник-переходник с накидной гайкой"; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Sleeve.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Sleeve.cs similarity index 52% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Sleeve.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/Sleeve.cs index facb4c6..f821829 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Sleeve.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Sleeve.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Монтажная гильза")] +[ParserKey("Монтажная гильза")] public class Sleeve : DrinkingWaterHeatingFitting { protected override string _title => "Монтажная гильза"; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/SupportingClip.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/SupportingClip.cs similarity index 73% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/SupportingClip.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/SupportingClip.cs index 955a515..8dd4a21 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/SupportingClip.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/SupportingClip.cs @@ -1,11 +1,11 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Желоб")] +[ParserKey("Желоб")] public class SupportingClip : DrinkingWaterHeatingFitting { protected override string _title => "Фиксирующий желоб для ПЭ-трубы"; - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; var diameterMatch = _diameter.Match(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/TPiece.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/TPiece.cs similarity index 79% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/TPiece.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/TPiece.cs index f7a5eb9..8a80808 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/TPiece.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/TPiece.cs @@ -1,11 +1,11 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Тройник RAUTITAN")] +[ParserKey("Тройник RAUTITAN")] public class TPiece : DrinkingWaterHeatingFitting { protected override string _title => "Тройник -PLATINUM"; - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; var diameters = _diameter.Matches(input) diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowDoubleWallInternal.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowDoubleWallInternal.cs similarity index 81% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowDoubleWallInternal.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowDoubleWallInternal.cs index aaeca67..f45bc1f 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowDoubleWallInternal.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowDoubleWallInternal.cs @@ -1,14 +1,14 @@ using System.Text.RegularExpressions; -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Проточный настенный угольник")] +[ParserKey("Проточный настенный угольник")] public class ThreadElbowDoubleWallInternal : DrinkingWaterHeatingFitting { protected override string _title => "Проточный настенный угольник"; private Regex _type = new(@"([\b\Wу])(?длин)([\b\w\.\s])"); - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; var diameterMatches = _diameter.Matches(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowExternal.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowExternal.cs similarity index 54% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowExternal.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowExternal.cs index 6cebc22..78741ef 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowExternal.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowExternal.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Угольник с наружной резьбой")] +[ParserKey("Угольник с наружной резьбой")] public class ThreadElbowExternal : Adapter { protected override string _title => "Угольник-переходник с наружной резьбой"; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs similarity index 54% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs index 4a7e5f4..2246ec6 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Угольник с внутренней резьбой")] +[ParserKey("Угольник с внутренней резьбой")] public class ThreadElbowInternal : Adapter { protected override string _title => "Угольник-переходник с внутренней резьбой"; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallExternal.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowWallExternal.cs similarity index 73% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallExternal.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowWallExternal.cs index 4df2e3e..3f9a66a 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallExternal.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowWallExternal.cs @@ -1,11 +1,11 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Угольник настенный наружный")] +[ParserKey("Угольник настенный наружный")] public class ThreadElbowWallExternal : DrinkingWaterHeatingFitting { protected override string _title => "Угольник настенный с наружной резьбой"; - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; var diameterMatch = _diameter.Match(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallInternal.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowWallInternal.cs similarity index 78% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallInternal.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowWallInternal.cs index 8a4edb3..7729304 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallInternal.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadElbowWallInternal.cs @@ -1,14 +1,14 @@ using System.Text.RegularExpressions; -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Угольник настенный внутренний")] +[ParserKey("Угольник настенный внутренний")] public class ThreadElbowWallInternal : DrinkingWaterHeatingFitting { protected override string _title => "Угольник настенный внутр. резьба"; private Regex _type = new(@"([\b\Wу])(?длин)([\b\w\.\s])"); - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; var diameterMatch = _diameter.Match(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadTPieceExternal.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadTPieceExternal.cs similarity index 77% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadTPieceExternal.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadTPieceExternal.cs index 30b35c3..0a75865 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadTPieceExternal.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadTPieceExternal.cs @@ -1,13 +1,13 @@ using System.Text.RegularExpressions; -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Тройник RAUTITAN резьбовой наружный")] +[ParserKey("Тройник RAUTITAN резьбовой наружный")] public class ThreadTPieceExternal : DrinkingWaterHeatingFitting { protected override string _title => "Тройник с наружной резьбой"; - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; MatchCollection diametersMatches = _diameter.Matches(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadTPieceInternal.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadTPieceInternal.cs similarity index 84% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadTPieceInternal.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadTPieceInternal.cs index b57fffc..c0d939f 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadTPieceInternal.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/ThreadTPieceInternal.cs @@ -1,11 +1,11 @@ using System.Text.RegularExpressions; -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings; +namespace RhSolutions.Parsers.Fittings; -[MLModifierKey("Тройник RAUTITAN резьбовой внутренний")] +[ParserKey("Тройник RAUTITAN резьбовой внутренний")] public class ThreadTPieceInternal : DrinkingWaterHeatingFitting { - public override bool TryQueryModify(string input, out string output) + public override bool TryParse(string input, out string output) { output = string.Empty; MatchCollection diametersMatches = _diameter.Matches(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/BlackPipe.cs b/RhSolutions.Parsers/DrinkingWaterHeatingPipes/BlackPipe.cs similarity index 79% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/BlackPipe.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingPipes/BlackPipe.cs index 5c8f981..ca94117 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/BlackPipe.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingPipes/BlackPipe.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingPipes; +namespace RhSolutions.Parsers.Pipes; -[MLModifierKey("Black")] +[ParserKey("Black")] public class BlackPipe : DrinkingWaterHeatingPipe { protected override string _title => "Black"; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/DrinkingWaterHeatingPipe.cs b/RhSolutions.Parsers/DrinkingWaterHeatingPipes/DrinkingWaterHeatingPipe.cs similarity index 87% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/DrinkingWaterHeatingPipe.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingPipes/DrinkingWaterHeatingPipe.cs index f83d93a..f3e0fc2 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/DrinkingWaterHeatingPipe.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingPipes/DrinkingWaterHeatingPipe.cs @@ -1,8 +1,8 @@ using System.Text.RegularExpressions; -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingPipes; +namespace RhSolutions.Parsers.Pipes; -public abstract class DrinkingWaterHeatingPipe : IProductMLModifier +public abstract class DrinkingWaterHeatingPipe : IProductParser { protected static readonly Regex _diameter = new(@"([\b\D]|^)?(?16|20|25|32|40|50|63)([\b\D]|$)"); @@ -28,7 +28,7 @@ public abstract class DrinkingWaterHeatingPipe : IProductMLModifier ["отр"] = "прям.отрезки" }; - public bool TryQueryModify(string input, out string output) + public bool TryParse(string input, out string output) { output = string.Empty; var diameterMatch = _diameter.Match(input); diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/FlexPipe.cs b/RhSolutions.Parsers/DrinkingWaterHeatingPipes/FlexPipe.cs similarity index 53% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/FlexPipe.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingPipes/FlexPipe.cs index b567bb0..4a98634 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/FlexPipe.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingPipes/FlexPipe.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingPipes; +namespace RhSolutions.Parsers.Pipes; -[MLModifierKey("Flex")] +[ParserKey("Flex")] public class FlexPipe : DrinkingWaterHeatingPipe { protected override string _title => "Flex"; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/PinkPipe.cs b/RhSolutions.Parsers/DrinkingWaterHeatingPipes/PinkPipe.cs similarity index 85% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/PinkPipe.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingPipes/PinkPipe.cs index e7969a0..d40483a 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/PinkPipe.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingPipes/PinkPipe.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingPipes; +namespace RhSolutions.Parsers.Pipes; -[MLModifierKey("Pink")] +[ParserKey("Pink")] public class PinkPipe : DrinkingWaterHeatingPipe { protected override string _title => "Pink+"; diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/StabilPipe.cs b/RhSolutions.Parsers/DrinkingWaterHeatingPipes/StabilPipe.cs similarity index 78% rename from RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/StabilPipe.cs rename to RhSolutions.Parsers/DrinkingWaterHeatingPipes/StabilPipe.cs index 15cc857..1a52562 100644 --- a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/StabilPipe.cs +++ b/RhSolutions.Parsers/DrinkingWaterHeatingPipes/StabilPipe.cs @@ -1,6 +1,6 @@ -namespace RhSolutions.MLModifiers.DrinkingWaterHeatingPipes; +namespace RhSolutions.Parsers.Pipes; -[MLModifierKey("Stabil")] +[ParserKey("Stabil")] public class StabilPipe : DrinkingWaterHeatingPipe { protected override string _title => "Stabil -PLATINUM"; diff --git a/RhSolutions.Parsers/IProductParser.cs b/RhSolutions.Parsers/IProductParser.cs new file mode 100644 index 0000000..485ff7e --- /dev/null +++ b/RhSolutions.Parsers/IProductParser.cs @@ -0,0 +1,6 @@ +namespace RhSolutions.Parsers; + +public interface IProductParser +{ + public bool TryParse(string input, out string output); +} diff --git a/RhSolutions.Parsers/ParserKey.cs b/RhSolutions.Parsers/ParserKey.cs new file mode 100644 index 0000000..3bf4513 --- /dev/null +++ b/RhSolutions.Parsers/ParserKey.cs @@ -0,0 +1,10 @@ +namespace RhSolutions.Parsers; + +public class ParserKey : Attribute +{ + public string Value { get; private set; } + public ParserKey(string value) + { + Value = value; + } +} \ No newline at end of file diff --git a/RhSolutions.MLModifiers/MLModifiersRegistration.cs b/RhSolutions.Parsers/ParsersRegistration.cs similarity index 57% rename from RhSolutions.MLModifiers/MLModifiersRegistration.cs rename to RhSolutions.Parsers/ParsersRegistration.cs index 57016ea..54f34be 100644 --- a/RhSolutions.MLModifiers/MLModifiersRegistration.cs +++ b/RhSolutions.Parsers/ParsersRegistration.cs @@ -1,25 +1,25 @@ using Microsoft.Extensions.DependencyInjection; using System.Reflection; -namespace RhSolutions.MLModifiers; +namespace RhSolutions.Parsers; -public static class MLModifiersRegistration +public static class ParsersRegistration { public static void AddModifiers(this IServiceCollection services) { var types = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(s => s.GetTypes()) - .Where(p => p.IsDefined(typeof(MLModifierKey), true)); + .Where(p => p.IsDefined(typeof(ParserKey), true)); foreach (Type t in types) { string key = GetModifierKey(t); - services.AddKeyedTransient(typeof(IProductMLModifier), key, t); + services.AddKeyedTransient(typeof(IProductParser), key, t); } } private static string GetModifierKey(Type t) { - return t.GetCustomAttribute()?.Value ?? string.Empty; + return t.GetCustomAttribute()?.Value ?? string.Empty; } } \ No newline at end of file diff --git a/RhSolutions.MLModifiers/RhSolutions.MLModifiers.csproj b/RhSolutions.Parsers/RhSolutions.Parsers.csproj similarity index 100% rename from RhSolutions.MLModifiers/RhSolutions.MLModifiers.csproj rename to RhSolutions.Parsers/RhSolutions.Parsers.csproj