diff options
Diffstat (limited to 'RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs')
-rw-r--r-- | RhSolutions.QueryModifiers/ProductQueryModifierFactory.cs | 47 |
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(); + } + } +} |