summaryrefslogtreecommitdiff
path: root/RhSolutions.Api.Tests/ProductQueryModifierFactory.cs
diff options
context:
space:
mode:
authorSerghei Cebotari <serghei@cebotari.ru>2023-12-30 14:43:25 +0300
committerSerghei Cebotari <serghei@cebotari.ru>2023-12-30 14:43:25 +0300
commitfb0fcda84cefc79a19d8cfcb784f78abc7b61ffb (patch)
tree54bbc6272df5a58bd45edb4205a46ff030d66969 /RhSolutions.Api.Tests/ProductQueryModifierFactory.cs
parent72465f655ff29b59a845d0886951d020e785ee1e (diff)
Implement KeyedServices
Diffstat (limited to 'RhSolutions.Api.Tests/ProductQueryModifierFactory.cs')
-rw-r--r--RhSolutions.Api.Tests/ProductQueryModifierFactory.cs76
1 files changed, 76 insertions, 0 deletions
diff --git a/RhSolutions.Api.Tests/ProductQueryModifierFactory.cs b/RhSolutions.Api.Tests/ProductQueryModifierFactory.cs
new file mode 100644
index 0000000..da8ea09
--- /dev/null
+++ b/RhSolutions.Api.Tests/ProductQueryModifierFactory.cs
@@ -0,0 +1,76 @@
+using RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings;
+using RhSolutions.QueryModifiers.DrinkingWaterHeatingPipes;
+
+namespace RhSolutions.Api.Tests;
+
+public class ProductQueryModifierFactory
+{
+ public IProductQueryModifier GetModifier(string productTypeName)
+ {
+ switch (productTypeName)
+ {
+ case "Монтажная гильза":
+ return new Sleeve();
+ case "Желоб":
+ return new SupportingClip();
+ case "Тройник RAUTITAN":
+ return new TPiece();
+ case "Тройник RAUTITAN резьбовой наружный":
+ return new ThreadTPieceExternal();
+ case "Тройник RAUTITAN резьбовой внутренний":
+ return new ThreadTPieceInternal();
+ case "Переходник на наружную резьбу":
+ return new AdapterExternal();
+ case "Переходник на внутреннюю резьбу":
+ return new AdapterInternal();
+ case "Переходник с накидной гайкой":
+ return new AdapterScrewcap();
+ case "Угольник с наружной резьбой":
+ return new ThreadElbowExternal();
+ case "Угольник с внутренней резьбой":
+ return new ThreadElbowInternal();
+ case "Угольник настенный наружный":
+ return new ThreadElbowWallExternal();
+ case "Угольник настенный внутренний":
+ return new ThreadElbowWallInternal();
+ case "Проточный настенный угольник":
+ return new ThreadElbowDoubleWallInternal();
+ case "Угольник с накидной гайкой":
+ return new ScrewcapElbow();
+ case "Муфта соединительная":
+ return new Coupling();
+ case "Угольник RAUTITAN":
+ return new Elbow();
+ case "Фиксатор поворота отопление":
+ return new BendFormerHeating();
+ case "Фиксатор поворота водоснабжение":
+ return new BendFormerSanitary();
+ case "Трубка Г-образная":
+ 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 "Ниппель":
+ return new Nippel();
+ case "Заглушка труб RAUTITAN":
+ return new DummyPlug();
+ case "Flex":
+ return new FlexPipe();
+ case "Pink":
+ return new PinkPipe();
+ case "Stabil":
+ return new StabilPipe();
+ case "Black":
+ return new BlackPipe();
+ default:
+ return new BypassQueryModifier();
+ }
+ }
+}