summaryrefslogtreecommitdiff
path: root/RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs
diff options
context:
space:
mode:
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();
+ }
+ }
+}