summaryrefslogtreecommitdiff
path: root/RhSolutions.QueryModifiers
diff options
context:
space:
mode:
Diffstat (limited to 'RhSolutions.QueryModifiers')
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Eurocone.cs21
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs16
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs9
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs10
-rw-r--r--RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs10
-rw-r--r--RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs8
6 files changed, 74 insertions, 0 deletions
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Eurocone.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Eurocone.cs
new file mode 100644
index 0000000..a658c17
--- /dev/null
+++ b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/Eurocone.cs
@@ -0,0 +1,21 @@
+namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+
+public abstract class Eurocone : DrinkingWaterHeatingFitting
+{
+ protected virtual Dictionary<string, string> _titles { get; } = new();
+
+ protected override string? BuildRhSolutionsName(string query)
+ {
+ var diameterMatch = _diameter.Match(query);
+ if (diameterMatch.Success)
+ {
+ string diameter = diameterMatch.Groups["Diameter"].Value;
+ if (_titles.TryGetValue(diameter, out string? title))
+ {
+ return title;
+ }
+ else return null;
+ }
+ return null;
+ }
+}
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs
new file mode 100644
index 0000000..120ba32
--- /dev/null
+++ b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeAdapter.cs
@@ -0,0 +1,16 @@
+namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+
+public class EuroconeAdapter : DrinkingWaterHeatingFitting
+{
+ protected override string _title => "Переходник на евроконус";
+ protected override string? BuildRhSolutionsName(string query)
+ {
+ var diameterMatch = _diameter.Match(query);
+ if (diameterMatch.Success)
+ {
+ string diameter = diameterMatch.Groups["Diameter"].Value;
+ return $"{_title} {diameter}-G 3/4";
+ }
+ return null;
+ }
+} \ No newline at end of file
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs
new file mode 100644
index 0000000..7f7cee3
--- /dev/null
+++ b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeConnectionBend.cs
@@ -0,0 +1,9 @@
+namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+
+public class EuroconeConnectionBend : DrinkingWaterHeatingFitting
+{
+ protected override string? BuildRhSolutionsName(string query)
+ {
+ return "Резьбозажимное соединение для металлической трубки G 3/4 -15";
+ }
+} \ No newline at end of file
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs
new file mode 100644
index 0000000..382e775
--- /dev/null
+++ b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeFlex.cs
@@ -0,0 +1,10 @@
+namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+
+public class EuroconeFlex : Eurocone
+{
+ protected override Dictionary<string, string> _titles => new()
+ {
+ ["16"] = "Резьбозажимное соединение flex/pink 16х2,2xG3/4",
+ ["20"] = "Резьбозажимное соединение flex/pink 20х2,8xG3/4"
+ };
+}
diff --git a/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs
new file mode 100644
index 0000000..bc7c34d
--- /dev/null
+++ b/RhSolutions.QueryModifiers/DrinkingWaterHeatingFittings/EuroconeStabil.cs
@@ -0,0 +1,10 @@
+namespace RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+
+public class EuroconeStabil : Eurocone
+{
+ protected override Dictionary<string, string> _titles => new()
+ {
+ ["16"] = "Резьбозажимное соединение stabil 16,2x2,6xG3/4",
+ ["20"] = "Резьбозажимное соединение stabil 20x2,9xG3/4"
+ };
+} \ No newline at end of file
diff --git a/RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs b/RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs
index 2459ad7..6c7292d 100644
--- a/RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs
+++ b/RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs
@@ -49,6 +49,14 @@ public class ProductQueryModifierFactory
return new ConnectionBend();
case "Трубка Т-образная":
return new ConnectionTee();
+ case "Резьбозажимное flex":
+ return new EuroconeFlex();
+ case "Резьбозажимное stabil":
+ return new EuroconeStabil();
+ case "Переходник на евроконус":
+ return new EuroconeAdapter();
+ case "Резьбозажимное для трубки":
+ return new EuroconeConnectionBend();
case "Заглушка труб RAUTITAN":
return new DummyPlug();
case "Flex":