summaryrefslogtreecommitdiff
path: root/RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs
diff options
context:
space:
mode:
authorSerghei Cebotari <serghei@cebotari.ru>2023-10-10 22:26:16 +0300
committerSerghei Cebotari <serghei@cebotari.ru>2023-10-10 22:26:16 +0300
commit6b9c0dfffc3ecfcfb642f696250aee8e4ed6031b (patch)
tree2d98f14ab3c194f6e5620fa375c4fd805c6b957e /RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs
parent942c60beeac8b89643dc66235db62d4c8f739a0a (diff)
Move Modifiers to own project
Diffstat (limited to 'RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs')
-rw-r--r--RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs47
1 files changed, 47 insertions, 0 deletions
diff --git a/RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs b/RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs
new file mode 100644
index 0000000..32d5e5e
--- /dev/null
+++ b/RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs
@@ -0,0 +1,47 @@
+namespace RhSolutions.QueryModifiers;
+
+public class ProductQueryModifierFactory
+{
+ public IProductQueryModifier GetModifier(string productTypeName)
+ {
+ switch (productTypeName)
+ {
+ case "Монтажная гильза":
+ return new SleeveQueryModifier();
+ case "Тройник RAUTITAN":
+ return new TPieceQueryModifier();
+ case "Тройник RAUTITAN резьбовой наружный":
+ return new ThreadTPieceExternal();
+ case "Тройник RAUTITAN резьбовой внутренний":
+ return new ThreadTPieceInternal();
+ case "Тройник RAUTITAN резьбовой настенный":
+ return new ThreadTPieceInternal();
+ case "Переходник на наружную резьбу":
+ return new AdapterExternalModifier();
+ case "Переходник на внутреннюю резьбу":
+ return new AdapterInternalModifier();
+ case "Переходник с накидной гайкой":
+ return new AdapterScrewcapModifier();
+ case "Угольник с наружной резьбой":
+ return new ThreadElbowExternalModifier();
+ case "Угольник с внутренней резьбой":
+ return new ThreadElbowInternalModifier();
+ case "Угольник с накидной гайкой":
+ return new ScrewcapElbowModifier();
+ case "Муфта соединительная":
+ return new CouplingModifier();
+ case "Угольник RAUTITAN":
+ return new ElbowModifier();
+ case "Flex":
+ return new FlexPipeQueryModifier();
+ case "Pink":
+ return new PinkPipeQueryModifier();
+ case "Stabil":
+ return new StabilPipeQueryModifier();
+ case "Black":
+ return new BlackPipeQueryModifier();
+ default:
+ return new BypassQueryModifier();
+ }
+ }
+}