diff options
Diffstat (limited to 'RhSolutions.Parsers/DrinkingWaterHeatingFittings/Coupling.cs')
-rw-r--r-- | RhSolutions.Parsers/DrinkingWaterHeatingFittings/Coupling.cs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Coupling.cs b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Coupling.cs new file mode 100644 index 0000000..79ed7b4 --- /dev/null +++ b/RhSolutions.Parsers/DrinkingWaterHeatingFittings/Coupling.cs @@ -0,0 +1,30 @@ +namespace RhSolutions.Parsers.Fittings; + +[ParserKey("Муфта соединительная")] +public class Coupling : DrinkingWaterHeatingFitting +{ + protected override string _title => "Муфта соединительная"; + + public override bool TryParse(string input, out string output) + { + output = string.Empty; + var diametersMatches = _diameter.Matches(input); + if (diametersMatches.Count == 0) + { + return false; + } + var diameters = diametersMatches.Select(x => x.Groups["Diameter"].Value) + .Take(2) + .OrderByDescending(x => int.Parse(x)) + .ToArray(); + if (diameters.Length == 1 || diameters[0] == diameters[1]) + { + output = $"{_title} равнопроходная {diameters[0]}"; + } + else + { + output = $"{_title} переходная {diameters[0]}-{diameters[1]}"; + } + return true; + } +} |