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
similarity index 91%
rename from RhSolutions.Api.Tests/RhSolutions.QueryModifiers.Tests.csproj
rename to 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 @@
-
+
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(productType);
+ _modifier = _provider.GetRequiredKeyedService(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(opts =>
});
builder.Services.AddScoped()
.AddScoped();
+builder.Services.AddModifiers();
builder.Services.AddControllers();
-
-builder.Services.AddKeyedTransient("Монтажная гильза")
- .AddKeyedTransient("Желоб")
- .AddKeyedTransient("Тройник RAUTITAN")
- .AddKeyedTransient("Тройник RAUTITAN резьбовой наружный")
- .AddKeyedTransient("Тройник RAUTITAN резьбовой внутренний")
- .AddKeyedTransient("Переходник на наружную резьбу")
- .AddKeyedTransient("Переходник на внутреннюю резьбу")
- .AddKeyedTransient("Переходник с накидной гайкой")
- .AddKeyedTransient("Угольник с наружной резьбой")
- .AddKeyedTransient("Угольник с внутренней резьбой")
- .AddKeyedTransient("Угольник настенный наружный")
- .AddKeyedTransient("Угольник настенный внутренний")
- .AddKeyedTransient("Проточный настенный угольник")
- .AddKeyedTransient("Угольник с накидной гайкой")
- .AddKeyedTransient("Муфта соединительная")
- .AddKeyedTransient("Угольник RAUTITAN")
- .AddKeyedTransient("Фиксатор поворота отопление")
- .AddKeyedTransient("Фиксатор поворота водоснабжение")
- .AddKeyedTransient("Трубка Г-образная")
- .AddKeyedTransient("Трубка Т-образная")
- .AddKeyedTransient("Резьбозажимное flex")
- .AddKeyedTransient("Резьбозажимное stabil")
- .AddKeyedTransient("Переходник на евроконус")
- .AddKeyedTransient("Резьбозажимное для трубки")
- .AddKeyedTransient("Ниппель")
- .AddKeyedTransient("Заглушка труб RAUTITAN")
- .AddKeyedTransient("Flex")
- .AddKeyedTransient("Pink")
- .AddKeyedTransient("Stabil")
- .AddKeyedTransient("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();
-
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
@@ -24,14 +24,14 @@
-
-
-
-
PreserveNewest
+
+
+
+
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Adapter.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Adapter.cs
similarity index 87%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Adapter.cs
rename to 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.QueryModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs
similarity index 50%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs
rename to RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs
index 8356c59..2aeb63e 100644
--- a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs
+++ b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterExternal.cs
@@ -1,5 +1,6 @@
-namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+namespace RhSolutions.MLModifiers.DrinkingWaterHeatingFittings;
+[MLModifierKey("Переходник на наружную резьбу")]
public class AdapterExternal : Adapter
{
protected override string _title => "Переходник с наружной резьбой";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterInternal.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/AdapterInternal.cs
similarity index 56%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/AdapterInternal.cs
rename to 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
similarity index 82%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/BendFormerHeating.cs
rename to 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
similarity index 80%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/BendFormerSanitary.cs
rename to 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
similarity index 80%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ConnectionBend.cs
rename to 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]|^)?(?16|20|25)(\D+|.*15.*)(?\b\d{3,4})([\b\D]|$)");
protected override string _title => "Трубка Г-образная";
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ConnectionTee.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/ConnectionTee.cs
similarity index 51%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ConnectionTee.cs
rename to 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
similarity index 85%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Coupling.cs
rename to 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
similarity index 82%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/DrinkingWaterHeatingFitting.cs
rename to 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]|^)?(?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
similarity index 83%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Elbow.cs
rename to 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
similarity index 88%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Eurocone.cs
rename to 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
similarity index 78%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs
rename to 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
similarity index 68%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs
rename to 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
similarity index 70%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs
rename to 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 _titles => new()
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs
similarity index 70%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs
rename to 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 _titles => new()
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Nippel.cs b/RhSolutions.MLModifiers/DrinkingWaterHeatingFittings/Nippel.cs
similarity index 71%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Nippel.cs
rename to 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
similarity index 85%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/SupportingClip.cs
rename to 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
similarity index 84%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/TPiece.cs
rename to 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
similarity index 87%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowDoubleWallInternal.cs
rename to 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
similarity index 54%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowExternal.cs
rename to 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
similarity index 82%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallExternal.cs
rename to 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
similarity index 85%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadElbowWallInternal.cs
rename to 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
similarity index 84%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadTPieceExternal.cs
rename to 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
similarity index 89%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/ThreadTPieceInternal.cs
rename to 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 _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
similarity index 91%
rename from RhSolutions.QueryModifiers/DrinkingWaterHeatingPipes/DrinkingWaterHeatingPipe.cs
rename to 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]|^)?(?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 _makeUp => new()
+ {
+ ["бухт"] = "бухта",
+ ["штанг"] = "прямые отрезки",
+ ["отр"] = "прямые отрезки"
+ };
+ protected override Dictionary _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 _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()?.Value ?? string.Empty;
+ }
+}
\ No newline at end of file
diff --git a/RhSolutions.QueryModifiers/RhSolutions.QueryModifiers.csproj b/RhSolutions.MLModifiers/RhSolutions.MLModifiers.csproj
similarity index 100%
rename from RhSolutions.QueryModifiers/RhSolutions.QueryModifiers.csproj
rename to RhSolutions.MLModifiers/RhSolutions.MLModifiers.csproj
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 _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 _makeUp => new()
- {
- ["бухт"] = "бухта",
- ["штанг"] = "прямые отрезки",
- ["отр"] = "прямые отрезки"
- };
- protected override Dictionary _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 _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