summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RhSolutions.Api.Tests/BypassQueryModifier.cs2
-rw-r--r--RhSolutions.Api.Tests/ProductQueryModifierFactory.cs6
-rw-r--r--RhSolutions.Api.Tests/RhSolutions.Api.Tests.csproj (renamed from RhSolutions.Api.Tests/RhSolutions.QueryModifiers.Tests.csproj)2
-rw-r--r--RhSolutions.Api.Tests/Usings.cs2
-rw-r--r--RhSolutions.Api.sln34
-rw-r--r--RhSolutions.Api/Middleware/QueryModifier.cs6
-rw-r--r--RhSolutions.Api/Program.cs41
-rw-r--r--RhSolutions.Api/RhSolutions.Api.csproj8
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Adapter.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Adapter.cs)2
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs7
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterInternal.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterInternal.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs7
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/BendFormerSanitary.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/BendFormerSanitary.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ConnectionBend.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ConnectionBend.cs)5
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ConnectionTee.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ConnectionTee.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Coupling.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Coupling.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs)4
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/DummyPlug.cs7
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Elbow.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Elbow.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Eurocone.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Eurocone.cs)2
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Nippel.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Nippel.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs7
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Sleeve.cs7
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/SupportingClip.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/SupportingClip.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/TPiece.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/TPiece.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowDoubleWallInternal.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowDoubleWallInternal.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowExternal.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowExternal.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs7
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallExternal.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallExternal.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallInternal.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallInternal.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadTPieceExternal.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadTPieceExternal.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadTPieceInternal.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadTPieceInternal.cs)3
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/BlackPipe.cs17
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/DrinkingWaterHeatingPipe.cs (renamed from RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/DrinkingWaterHeatingPipe.cs)4
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/FlexPipe.cs7
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/PinkPipe.cs24
-rw-r--r--RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/StabilPipe.cs17
-rw-r--r--RhSolutions.MLModifiers/IProductMLModifier.cs6
-rw-r--r--RhSolutions.MLModifiers/MLModifierKey.cs10
-rw-r--r--RhSolutions.MLModifiers/MLModifiersRegistration.cs25
-rw-r--r--RhSolutions.MLModifiers/RhSolutions.MLModifiers.csproj (renamed from RhSolutions.QueryModifiers/RhSolutions.QueryModifiers.csproj)0
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs6
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs6
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/DummyPlug.cs6
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs6
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Sleeve.cs6
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs6
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/BlackPipe.cs16
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/FlexPipe.cs6
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/PinkPipe.cs23
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/StabilPipe.cs16
-rw-r--r--RhSolutions.QueryModifiers/IProductQueryModifier.cs6
-rw-r--r--RhSolutions.sln34
58 files changed, 244 insertions, 216 deletions
diff --git a/RhSolutions.Api.Tests/BypassQueryModifier.cs b/RhSolutions.Api.Tests/BypassQueryModifier.cs
index d6c8367..44159e2 100644
--- a/RhSolutions.Api.Tests/BypassQueryModifier.cs
+++ b/RhSolutions.Api.Tests/BypassQueryModifier.cs
@@ -1,6 +1,6 @@
namespace RhSolutions.Api.Tests;
-public sealed class BypassQueryModifier : IProductQueryModifier
+public sealed class BypassQueryModifier : IProductMLModifier
{
public bool TryQueryModify(string query, out string queryModified)
{
diff --git a/RhSolutions.Api.Tests/ProductQueryModifierFactory.cs b/RhSolutions.Api.Tests/ProductQueryModifierFactory.cs
index da8ea09..d9a4d67 100644
--- a/RhSolutions.Api.Tests/ProductQueryModifierFactory.cs
+++ b/RhSolutions.Api.Tests/ProductQueryModifierFactory.cs
@@ -1,11 +1,11 @@
-using RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
-using RhSolutions.QueryModifiers.DrinkingWaterHeatingPipes;
+using RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+using RhSolutions.MLModifiers.DrinkingWaterHeatingPipes;
namespace RhSolutions.Api.Tests;
public class ProductQueryModifierFactory
{
- public IProductQueryModifier GetModifier(string productTypeName)
+ public IProductMLModifier GetModifier(string productTypeName)
{
switch (productTypeName)
{
diff --git a/RhSolutions.Api.Tests/RhSolutions.QueryModifiers.Tests.csproj b/RhSolutions.Api.Tests/RhSolutions.Api.Tests.csproj
index 471a0f0..5534bfe 100644
--- a/RhSolutions.Api.Tests/RhSolutions.QueryModifiers.Tests.csproj
+++ b/RhSolutions.Api.Tests/RhSolutions.Api.Tests.csproj
@@ -23,7 +23,7 @@
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\RhSolutions.QueryModifiers\RhSolutions.QueryModifiers.csproj" />
+ <ProjectReference Include="..\RhSolutions.MLModifiers\RhSolutions.MLModifiers.csproj" />
</ItemGroup>
</Project>
diff --git a/RhSolutions.Api.Tests/Usings.cs b/RhSolutions.Api.Tests/Usings.cs
index 3a00a34..0c5cc00 100644
--- a/RhSolutions.Api.Tests/Usings.cs
+++ b/RhSolutions.Api.Tests/Usings.cs
@@ -1,2 +1,2 @@
global using NUnit.Framework;
-global using RhSolutions.QueryModifiers; \ No newline at end of file
+global using RhSolutions.MLModifiers; \ No newline at end of file
diff --git a/RhSolutions.Api.sln b/RhSolutions.Api.sln
new file mode 100644
index 0000000..a0f5d9c
--- /dev/null
+++ b/RhSolutions.Api.sln
@@ -0,0 +1,34 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+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}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RhSolutions.MLModifiers", "RhSolutions.MLModifiers\RhSolutions.MLModifiers.csproj", "{50A53BB3-1F9D-4F19-90DB-BCB4D49FF9FE}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {6AACEC90-0811-418D-8505-EB142A2B2AFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {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
+ EndGlobalSection
+EndGlobal
diff --git a/RhSolutions.Api/Middleware/QueryModifier.cs b/RhSolutions.Api/Middleware/QueryModifier.cs
index de08a86..f349e48 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.QueryModifiers;
+using RhSolutions.MLModifiers;
namespace RhSolutions.Api.Middleware;
@@ -8,7 +8,7 @@ public class QueryModifier
{
private RequestDelegate _next;
private IServiceProvider _provider;
- private IProductQueryModifier? _modifier;
+ private IProductMLModifier? _modifier;
public QueryModifier(RequestDelegate nextDelegate, IServiceProvider provider)
{
@@ -23,7 +23,7 @@ public class QueryModifier
{
string query = context.Request.Query["query"].ToString();
var productType = typePredicter.GetPredictedProductType(query);
- _modifier = _provider.GetRequiredKeyedService<IProductQueryModifier>(productType);
+ _modifier = _provider.GetRequiredKeyedService<IProductMLModifier>(productType);
if (_modifier == null) return;
if (_modifier.TryQueryModify(query, out var modified))
{
diff --git a/RhSolutions.Api/Program.cs b/RhSolutions.Api/Program.cs
index eb6d7f3..11f6722 100644
--- a/RhSolutions.Api/Program.cs
+++ b/RhSolutions.Api/Program.cs
@@ -2,9 +2,7 @@ using Microsoft.EntityFrameworkCore;
using RhSolutions.Models;
using RhSolutions.Api.Services;
using RhSolutions.Api.Middleware;
-using RhSolutions.QueryModifiers;
-using RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
-using RhSolutions.QueryModifiers.DrinkingWaterHeatingPipes;
+using RhSolutions.MLModifiers;
using Microsoft.OpenApi.Models;
using System.Reflection;
@@ -29,39 +27,8 @@ builder.Services.AddDbContext<RhSolutionsContext>(opts =>
});
builder.Services.AddScoped<IPricelistParser, ClosedXMLParser>()
.AddScoped<IProductTypePredicter, ProductTypePredicter>();
+builder.Services.AddModifiers();
builder.Services.AddControllers();
-
-builder.Services.AddKeyedTransient<IProductQueryModifier, Sleeve>("Монтажная гильза")
- .AddKeyedTransient<IProductQueryModifier, SupportingClip>("Желоб")
- .AddKeyedTransient<IProductQueryModifier, TPiece>("Тройник RAUTITAN")
- .AddKeyedTransient<IProductQueryModifier, ThreadTPieceExternal>("Тройник RAUTITAN резьбовой наружный")
- .AddKeyedTransient<IProductQueryModifier, ThreadTPieceInternal>("Тройник RAUTITAN резьбовой внутренний")
- .AddKeyedTransient<IProductQueryModifier, AdapterExternal>("Переходник на наружную резьбу")
- .AddKeyedTransient<IProductQueryModifier, AdapterInternal>("Переходник на внутреннюю резьбу")
- .AddKeyedTransient<IProductQueryModifier, AdapterScrewcap>("Переходник с накидной гайкой")
- .AddKeyedTransient<IProductQueryModifier, ThreadElbowExternal>("Угольник с наружной резьбой")
- .AddKeyedTransient<IProductQueryModifier, ThreadElbowInternal>("Угольник с внутренней резьбой")
- .AddKeyedTransient<IProductQueryModifier, ThreadElbowWallExternal>("Угольник настенный наружный")
- .AddKeyedTransient<IProductQueryModifier, ThreadElbowWallInternal>("Угольник настенный внутренний")
- .AddKeyedTransient<IProductQueryModifier, ThreadElbowDoubleWallInternal>("Проточный настенный угольник")
- .AddKeyedTransient<IProductQueryModifier, ScrewcapElbow>("Угольник с накидной гайкой")
- .AddKeyedTransient<IProductQueryModifier, Coupling>("Муфта соединительная")
- .AddKeyedTransient<IProductQueryModifier, Elbow>("Угольник RAUTITAN")
- .AddKeyedTransient<IProductQueryModifier, BendFormerHeating>("Фиксатор поворота отопление")
- .AddKeyedTransient<IProductQueryModifier, BendFormerSanitary>("Фиксатор поворота водоснабжение")
- .AddKeyedTransient<IProductQueryModifier, ConnectionBend>("Трубка Г-образная")
- .AddKeyedTransient<IProductQueryModifier, ConnectionTee>("Трубка Т-образная")
- .AddKeyedTransient<IProductQueryModifier, EuroconeFlex>("Резьбозажимное flex")
- .AddKeyedTransient<IProductQueryModifier, EuroconeStabil>("Резьбозажимное stabil")
- .AddKeyedTransient<IProductQueryModifier, EuroconeAdapter>("Переходник на евроконус")
- .AddKeyedTransient<IProductQueryModifier, EuroconeConnectionBend>("Резьбозажимное для трубки")
- .AddKeyedTransient<IProductQueryModifier, Nippel>("Ниппель")
- .AddKeyedTransient<IProductQueryModifier, DummyPlug>("Заглушка труб RAUTITAN")
- .AddKeyedTransient<IProductQueryModifier, FlexPipe>("Flex")
- .AddKeyedTransient<IProductQueryModifier, PinkPipe>("Pink")
- .AddKeyedTransient<IProductQueryModifier, StabilPipe>("Stabil")
- .AddKeyedTransient<IProductQueryModifier, BlackPipe>("Black");
-
builder.Services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new OpenApiInfo
@@ -77,7 +44,6 @@ builder.Services.AddSwaggerGen(options =>
}
});
-
var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename));
});
@@ -92,7 +58,4 @@ app.UseSwagger().UseSwaggerUI(options =>
options.RoutePrefix = string.Empty;
});
-var context = app.Services.CreateScope().ServiceProvider
- .GetRequiredService<RhSolutionsContext>();
-
app.Run();
diff --git a/RhSolutions.Api/RhSolutions.Api.csproj b/RhSolutions.Api/RhSolutions.Api.csproj
index f32d9e4..eb3916a 100644
--- a/RhSolutions.Api/RhSolutions.Api.csproj
+++ b/RhSolutions.Api/RhSolutions.Api.csproj
@@ -25,13 +25,13 @@
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\RhSolutions.QueryModifiers\RhSolutions.QueryModifiers.csproj" />
- </ItemGroup>
-
- <ItemGroup>
<None Update="MLModels\model.zip">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\RhSolutions.MLModifiers\RhSolutions.MLModifiers.csproj" />
+ </ItemGroup>
+
</Project>
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Adapter.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Adapter.cs
index 2956fd1..78cb9a2 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Adapter.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Adapter.cs
@@ -1,6 +1,6 @@
using System.Text.RegularExpressions;
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
public abstract class Adapter : DrinkingWaterHeatingFitting
{
diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs
new file mode 100644
index 0000000..2aeb63e
--- /dev/null
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs
@@ -0,0 +1,7 @@
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+
+[MLModifierKey("Переходник на наружную резьбу")]
+public class AdapterExternal : Adapter
+{
+ protected override string _title => "Переходник с наружной резьбой";
+} \ No newline at end of file
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterInternal.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterInternal.cs
index 56e36f1..52954bd 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterInternal.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterInternal.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Переходник на внутреннюю резьбу")]
public class AdapterInternal : Adapter
{
protected override string _title => "Переходник с внутренней резьбой -угольник-переходник";
diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs
new file mode 100644
index 0000000..543fb8a
--- /dev/null
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs
@@ -0,0 +1,7 @@
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+
+[MLModifierKey("Переходник с накидной гайкой")]
+public class AdapterScrewcap : Adapter
+{
+ protected override string _title => "Переходник с накидной гайкой";
+} \ No newline at end of file
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs
index b0269a6..9507ea0 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Фиксатор поворота отопление")]
public class BendFormerHeating : DrinkingWaterHeatingFitting
{
protected override string _title => "Фиксатор поворота";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/BendFormerSanitary.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/BendFormerSanitary.cs
index 0290ef8..74bcc09 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/BendFormerSanitary.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/BendFormerSanitary.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Фиксатор поворота водоснабжение")]
public class BendFormerSanitary : DrinkingWaterHeatingFitting
{
protected override string _title => "Фиксатор поворота с кольцами";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ConnectionBend.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ConnectionBend.cs
index 0ff72d7..4bdadef 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ConnectionBend.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ConnectionBend.cs
@@ -1,10 +1,11 @@
using System.Text.RegularExpressions;
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Трубка Г-образная")]
public class ConnectionBend : DrinkingWaterHeatingFitting
{
- private static readonly int[] lengths = new [] { 250, 500, 1000 };
+ private static readonly int[] lengths = [250, 500, 1000];
private static readonly Regex _pattern =
new(@"([\b\D]|^)?(?<Diameter>16|20|25)(\D+|.*15.*)(?<Length>\b\d{3,4})([\b\D]|$)");
protected override string _title => "Трубка Г-образная";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ConnectionTee.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ConnectionTee.cs
index 77c0204..64b5243 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ConnectionTee.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ConnectionTee.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Трубка Т-образная")]
public class ConnectionTee : ConnectionBend
{
protected override string _title => "Трубка Т-образная";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Coupling.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Coupling.cs
index 8ae446c..8f12566 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Coupling.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Coupling.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Муфта соединительная")]
public class Coupling : DrinkingWaterHeatingFitting
{
protected override string _title => "Муфта соединительная";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs
index 0d635b1..50a9943 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs
@@ -1,8 +1,8 @@
using System.Text.RegularExpressions;
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
-public abstract class DrinkingWaterHeatingFitting : IProductQueryModifier
+public abstract class DrinkingWaterHeatingFitting : IProductMLModifier
{
protected static readonly Regex _diameter =
new(@"([\b\D]|^)?(?<Diameter>16|20|25|32|40|50|63)([\b\D]|$)");
diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/DummyPlug.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/DummyPlug.cs
new file mode 100644
index 0000000..9cf4ba8
--- /dev/null
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/DummyPlug.cs
@@ -0,0 +1,7 @@
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+
+[MLModifierKey("Заглушка труб RAUTITAN")]
+public class DummyPlug : DrinkingWaterHeatingFitting
+{
+ protected override string _title => "Заглушка для полимерн. трубы";
+} \ No newline at end of file
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Elbow.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Elbow.cs
index bb700b6..c762936 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Elbow.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Elbow.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Угольник RAUTITAN")]
public class Elbow : DrinkingWaterHeatingFitting
{
protected override string _title { get; } = "Угольник -PLATINUM";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Eurocone.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Eurocone.cs
index 00047f3..4aaa812 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Eurocone.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Eurocone.cs
@@ -1,4 +1,4 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
public abstract class Eurocone : DrinkingWaterHeatingFitting
{
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs
index 7f779f4..b9a4e09 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Переходник на евроконус")]
public class EuroconeAdapter : DrinkingWaterHeatingFitting
{
protected override string _title => "Переходник на евроконус";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs
index 554c346..a011f01 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Резьбозажимное для трубки")]
public class EuroconeConnectionBend : DrinkingWaterHeatingFitting
{
public override bool TryQueryModify(string input, out string output)
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs
index 382e775..d84a92c 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Резьбозажимное flex")]
public class EuroconeFlex : Eurocone
{
protected override Dictionary<string, string> _titles => new()
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs
index bc7c34d..5b8c700 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Резьбозажимное stabil")]
public class EuroconeStabil : Eurocone
{
protected override Dictionary<string, string> _titles => new()
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Nippel.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Nippel.cs
index 6c61184..12ffa72 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Nippel.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Nippel.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Ниппель")]
public class Nippel : DrinkingWaterHeatingFitting
{
public override bool TryQueryModify(string input, out string output)
diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs
new file mode 100644
index 0000000..d0f494c
--- /dev/null
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs
@@ -0,0 +1,7 @@
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+
+[MLModifierKey("Угольник с накидной гайкой")]
+public class ScrewcapElbow : Adapter
+{
+ protected override string _title => "Угольник-переходник с накидной гайкой";
+}
diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Sleeve.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Sleeve.cs
new file mode 100644
index 0000000..facb4c6
--- /dev/null
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Sleeve.cs
@@ -0,0 +1,7 @@
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+
+[MLModifierKey("Монтажная гильза")]
+public class Sleeve : DrinkingWaterHeatingFitting
+{
+ protected override string _title => "Монтажная гильза";
+}
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/SupportingClip.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/SupportingClip.cs
index 54eade9..955a515 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/SupportingClip.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/SupportingClip.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Желоб")]
public class SupportingClip : DrinkingWaterHeatingFitting
{
protected override string _title => "Фиксирующий желоб для ПЭ-трубы";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/TPiece.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/TPiece.cs
index e25f4c2..274fd3d 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/TPiece.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/TPiece.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Тройник RAUTITAN")]
public class TPiece : DrinkingWaterHeatingFitting
{
protected override string _title => "Тройник -PLATINUM";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowDoubleWallInternal.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowDoubleWallInternal.cs
index d6772bf..aaeca67 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowDoubleWallInternal.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowDoubleWallInternal.cs
@@ -1,7 +1,8 @@
using System.Text.RegularExpressions;
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Проточный настенный угольник")]
public class ThreadElbowDoubleWallInternal : DrinkingWaterHeatingFitting
{
protected override string _title => "Проточный настенный угольник";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowExternal.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowExternal.cs
index 010fcc2..6cebc22 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowExternal.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowExternal.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Угольник с наружной резьбой")]
public class ThreadElbowExternal : Adapter
{
protected override string _title => "Угольник-переходник с наружной резьбой";
diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs
new file mode 100644
index 0000000..4a7e5f4
--- /dev/null
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs
@@ -0,0 +1,7 @@
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+
+[MLModifierKey("Угольник с внутренней резьбой")]
+public class ThreadElbowInternal : Adapter
+{
+ protected override string _title => "Угольник-переходник с внутренней резьбой";
+}
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallExternal.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallExternal.cs
index c8edfab..4df2e3e 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallExternal.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallExternal.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Угольник настенный наружный")]
public class ThreadElbowWallExternal : DrinkingWaterHeatingFitting
{
protected override string _title => "Угольник настенный с наружной резьбой";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallInternal.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallInternal.cs
index 6450796..8a4edb3 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallInternal.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallInternal.cs
@@ -1,7 +1,8 @@
using System.Text.RegularExpressions;
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Угольник настенный внутренний")]
public class ThreadElbowWallInternal : DrinkingWaterHeatingFitting
{
protected override string _title => "Угольник настенный внутр. резьба";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadTPieceExternal.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadTPieceExternal.cs
index 52f68b4..30b35c3 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadTPieceExternal.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadTPieceExternal.cs
@@ -1,7 +1,8 @@
using System.Text.RegularExpressions;
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Тройник RAUTITAN резьбовой наружный")]
public class ThreadTPieceExternal : DrinkingWaterHeatingFitting
{
protected override string _title => "Тройник с наружной резьбой";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadTPieceInternal.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadTPieceInternal.cs
index 3b81026..b57fffc 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadTPieceInternal.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ThreadTPieceInternal.cs
@@ -1,7 +1,8 @@
using System.Text.RegularExpressions;
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Тройник RAUTITAN резьбовой внутренний")]
public class ThreadTPieceInternal : DrinkingWaterHeatingFitting
{
public override bool TryQueryModify(string input, out string output)
diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/BlackPipe.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/BlackPipe.cs
new file mode 100644
index 0000000..5c8f981
--- /dev/null
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/BlackPipe.cs
@@ -0,0 +1,17 @@
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingPipes;
+
+[MLModifierKey("Black")]
+public class BlackPipe : DrinkingWaterHeatingPipe
+{
+ protected override string _title => "Black";
+ protected override Dictionary<int, string> _diameterNames => new()
+ {
+ [16] = "16х2,2",
+ [20] = "20х2,8",
+ [25] = "25х3,5",
+ [32] = string.Empty,
+ [40] = string.Empty,
+ [50] = string.Empty,
+ [63] = string.Empty
+ };
+}
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/DrinkingWaterHeatingPipe.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/DrinkingWaterHeatingPipe.cs
index 1420d03..f83d93a 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/DrinkingWaterHeatingPipe.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/DrinkingWaterHeatingPipe.cs
@@ -1,8 +1,8 @@
using System.Text.RegularExpressions;
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingPipes;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingPipes;
-public class DrinkingWaterHeatingPipe : IProductQueryModifier
+public abstract class DrinkingWaterHeatingPipe : IProductMLModifier
{
protected static readonly Regex _diameter =
new(@"([\b\D]|^)?(?<Diameter>16|20|25|32|40|50|63)([\b\D]|$)");
diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/FlexPipe.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/FlexPipe.cs
new file mode 100644
index 0000000..b567bb0
--- /dev/null
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/FlexPipe.cs
@@ -0,0 +1,7 @@
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingPipes;
+
+[MLModifierKey("Flex")]
+public class FlexPipe : DrinkingWaterHeatingPipe
+{
+ protected override string _title => "Flex";
+} \ No newline at end of file
diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/PinkPipe.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/PinkPipe.cs
new file mode 100644
index 0000000..e7969a0
--- /dev/null
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/PinkPipe.cs
@@ -0,0 +1,24 @@
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingPipes;
+
+[MLModifierKey("Pink")]
+public class PinkPipe : DrinkingWaterHeatingPipe
+{
+ protected override string _title => "Pink+";
+
+ protected override Dictionary<string, string> _makeUp => new()
+ {
+ ["бухт"] = "бухта",
+ ["штанг"] = "прямые отрезки",
+ ["отр"] = "прямые отрезки"
+ };
+ protected override Dictionary<int, string> _diameterNames => new()
+ {
+ [16] = "16х2,2",
+ [20] = "20х2,8",
+ [25] = "25х3,5",
+ [32] = "32х4,4",
+ [40] = "40х5,5",
+ [50] = "50х6,9",
+ [63] = "63х8,7"
+ };
+}
diff --git a/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/StabilPipe.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/StabilPipe.cs
new file mode 100644
index 0000000..15cc857
--- /dev/null
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingPipes/StabilPipe.cs
@@ -0,0 +1,17 @@
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingPipes;
+
+[MLModifierKey("Stabil")]
+public class StabilPipe : DrinkingWaterHeatingPipe
+{
+ protected override string _title => "Stabil -PLATINUM";
+ protected override Dictionary<int, string> _diameterNames => new()
+ {
+ [16] = "16,2х2,6",
+ [20] = "20х2,9",
+ [25] = "25х3,7",
+ [32] = "32х4,7",
+ [40] = "40х6,0",
+ [50] = "50x6,9",
+ [63] = "63x8,6"
+ };
+}
diff --git a/RhSolutions.MLModifiers/IProductMLModifier.cs b/RhSolutions.MLModifiers/IProductMLModifier.cs
new file mode 100644
index 0000000..544fcbe
--- /dev/null
+++ b/RhSolutions.MLModifiers/IProductMLModifier.cs
@@ -0,0 +1,6 @@
+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
new file mode 100644
index 0000000..564abea
--- /dev/null
+++ b/RhSolutions.MLModifiers/MLModifierKey.cs
@@ -0,0 +1,10 @@
+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.MLModifiers/MLModifiersRegistration.cs b/RhSolutions.MLModifiers/MLModifiersRegistration.cs
new file mode 100644
index 0000000..57016ea
--- /dev/null
+++ b/RhSolutions.MLModifiers/MLModifiersRegistration.cs
@@ -0,0 +1,25 @@
+using Microsoft.Extensions.DependencyInjection;
+using System.Reflection;
+
+namespace RhSolutions.MLModifiers;
+
+public static class MLModifiersRegistration
+{
+ public static void AddModifiers(this IServiceCollection services)
+ {
+ var types = AppDomain.CurrentDomain.GetAssemblies()
+ .SelectMany(s => s.GetTypes())
+ .Where(p => p.IsDefined(typeof(MLModifierKey), true));
+
+ foreach (Type t in types)
+ {
+ string key = GetModifierKey(t);
+ services.AddKeyedTransient(typeof(IProductMLModifier), key, t);
+ }
+ }
+
+ private static string GetModifierKey(Type t)
+ {
+ return t.GetCustomAttribute<MLModifierKey>()?.Value ?? string.Empty;
+ }
+} \ No newline at end of file
diff --git a/RhSolutions.QueryModifiers/RhSolutions.QueryModifiers.csproj b/RhSolutions.MLModifiers/RhSolutions.MLModifiers.csproj
index e20e8ff..e20e8ff 100644
--- a/RhSolutions.QueryModifiers/RhSolutions.QueryModifiers.csproj
+++ b/RhSolutions.MLModifiers/RhSolutions.MLModifiers.csproj
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs
deleted file mode 100644
index 8356c59..0000000
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
-
-public class AdapterExternal : Adapter
-{
- protected override string _title => "Переходник с наружной резьбой";
-} \ No newline at end of file
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs
deleted file mode 100644
index 43fa639..0000000
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterScrewcap.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
-
-public class AdapterScrewcap : Adapter
-{
- protected override string _title => "Переходник с накидной гайкой";
-} \ No newline at end of file
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/DummyPlug.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/DummyPlug.cs
deleted file mode 100644
index f29bc24..0000000
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/DummyPlug.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
-
-public class DummyPlug : DrinkingWaterHeatingFitting
-{
- protected override string _title => "Заглушка для полимерн. трубы";
-} \ No newline at end of file
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs
deleted file mode 100644
index 97e2fb7..0000000
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ScrewcapElbow.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
-
-public class ScrewcapElbow : Adapter
-{
- protected override string _title => "Угольник-переходник с накидной гайкой";
-}
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Sleeve.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Sleeve.cs
deleted file mode 100644
index c546236..0000000
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Sleeve.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
-
-public class Sleeve : DrinkingWaterHeatingFitting
-{
- protected override string _title => "Монтажная гильза";
-}
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs
deleted file mode 100644
index 187f66d..0000000
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowInternal.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
-
-public class ThreadElbowInternal : Adapter
-{
- protected override string _title => "Угольник-переходник с внутренней резьбой";
-}
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/BlackPipe.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/BlackPipe.cs
deleted file mode 100644
index b715cc1..0000000
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/BlackPipe.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingPipes;
-
-public class BlackPipe : DrinkingWaterHeatingPipe
-{
- protected override string _title => "Black";
- protected override Dictionary<int, string> _diameterNames => new()
- {
- [16] = "16х2,2",
- [20] = "20х2,8",
- [25] = "25х3,5",
- [32] = string.Empty,
- [40] = string.Empty,
- [50] = string.Empty,
- [63] = string.Empty
- };
-}
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/FlexPipe.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/FlexPipe.cs
deleted file mode 100644
index 4294a9a..0000000
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/FlexPipe.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingPipes;
-
-public class FlexPipe : DrinkingWaterHeatingPipe
-{
- protected override string _title => "Flex";
-} \ No newline at end of file
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/PinkPipe.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/PinkPipe.cs
deleted file mode 100644
index 295744f..0000000
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/PinkPipe.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingPipes;
-
-public class PinkPipe : DrinkingWaterHeatingPipe
-{
- protected override string _title => "Pink+";
-
- protected override Dictionary<string, string> _makeUp => new()
- {
- ["бухт"] = "бухта",
- ["штанг"] = "прямые отрезки",
- ["отр"] = "прямые отрезки"
- };
- protected override Dictionary<int, string> _diameterNames => new()
- {
- [16] = "16х2,2",
- [20] = "20х2,8",
- [25] = "25х3,5",
- [32] = "32х4,4",
- [40] = "40х5,5",
- [50] = "50х6,9",
- [63] = "63х8,7"
- };
-}
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/StabilPipe.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/StabilPipe.cs
deleted file mode 100644
index 49dde86..0000000
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/StabilPipe.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingPipes;
-
-public class StabilPipe : DrinkingWaterHeatingPipe
-{
- protected override string _title => "Stabil -PLATINUM";
- protected override Dictionary<int, string> _diameterNames => new()
- {
- [16] = "16,2х2,6",
- [20] = "20х2,9",
- [25] = "25х3,7",
- [32] = "32х4,7",
- [40] = "40х6,0",
- [50] = "50x6,9",
- [63] = "63x8,6"
- };
-}
diff --git a/RhSolutions.QueryModifiers/IProductQueryModifier.cs b/RhSolutions.QueryModifiers/IProductQueryModifier.cs
deleted file mode 100644
index bf790ef..0000000
--- a/RhSolutions.QueryModifiers/IProductQueryModifier.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace RhSolutions.QueryModifiers;
-
-public interface IProductQueryModifier
-{
- public bool TryQueryModify(string query, out string queryModified);
-}
diff --git a/RhSolutions.sln b/RhSolutions.sln
deleted file mode 100644
index c719061..0000000
--- a/RhSolutions.sln
+++ /dev/null
@@ -1,34 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.0.31903.59
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RhSolutions.Api", "RhSolutions.Api\RhSolutions.Api.csproj", "{FD778359-7E92-4B5C-A4F9-7942A28E58F5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RhSolutions.QueryModifiers.Tests", "RhSolutions.Api.Tests\RhSolutions.QueryModifiers.Tests.csproj", "{9A4E9EFA-B854-4C29-AA94-A6CE074EDABA}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RhSolutions.QueryModifiers", "RhSolutions.QueryModifiers\RhSolutions.QueryModifiers.csproj", "{0C96960B-859B-4376-882E-AA0EB203B1EA}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {FD778359-7E92-4B5C-A4F9-7942A28E58F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FD778359-7E92-4B5C-A4F9-7942A28E58F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FD778359-7E92-4B5C-A4F9-7942A28E58F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FD778359-7E92-4B5C-A4F9-7942A28E58F5}.Release|Any CPU.Build.0 = Release|Any CPU
- {9A4E9EFA-B854-4C29-AA94-A6CE074EDABA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9A4E9EFA-B854-4C29-AA94-A6CE074EDABA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9A4E9EFA-B854-4C29-AA94-A6CE074EDABA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9A4E9EFA-B854-4C29-AA94-A6CE074EDABA}.Release|Any CPU.Build.0 = Release|Any CPU
- {0C96960B-859B-4376-882E-AA0EB203B1EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0C96960B-859B-4376-882E-AA0EB203B1EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0C96960B-859B-4376-882E-AA0EB203B1EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0C96960B-859B-4376-882E-AA0EB203B1EA}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
-EndGlobal