summaryrefslogtreecommitdiff
path: root/RhSolutions.Api.Tests/ProductQueryModifierFactory.cs
blob: da8ea09149cf5b004211a6ca2c54de7cce3c1c8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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();
		}
	}
}