using RhSolutions.QueryModifiers.DrinkingWaterHeatingFittings; using RhSolutions.QueryModifiers.DrinkingWaterHeatingPipes; namespace RhSolutions.QueryModifiers; 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 ScrewcapElbow(); case "Муфта соединительная": return new Coupling(); case "Угольник RAUTITAN": return new ElbowModifier(); case "Фиксатор поворота отопление": return new BendFormerHeating(); case "Фиксатор поворота водоснабжение": return new BendFormerSanitary(); case "Трубка Г-образная": return new ConnectionBend(); case "Трубка Т-образная": return new ConnectionTee(); case "Flex": return new FlexPipe(); case "Pink": return new PinkPipe(); case "Stabil": return new StabilPipe(); case "Black": return new BlackPipe(); default: return new BypassQueryModifier(); } } }