From fb0fcda84cefc79a19d8cfcb784f78abc7b61ffb Mon Sep 17 00:00:00 2001 From: Serghei Cebotari Date: Sat, 30 Dec 2023 14:43:25 +0300 Subject: Implement KeyedServices --- .../ProductQueryModifierFactory.cs | 76 ++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 RhSolutions.Api.Tests/ProductQueryModifierFactory.cs (limited to 'RhSolutions.Api.Tests/ProductQueryModifierFactory.cs') 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(); + } + } +} -- cgit v1.2.3