diff options
Diffstat (limited to 'RhSolutions.QueryModifiers/ThreadTPieceWall.cs')
-rw-r--r-- | RhSolutions.QueryModifiers/ThreadTPieceWall.cs | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/RhSolutions.QueryModifiers/ThreadTPieceWall.cs b/RhSolutions.QueryModifiers/ThreadTPieceWall.cs deleted file mode 100644 index 8e11a91..0000000 --- a/RhSolutions.QueryModifiers/ThreadTPieceWall.cs +++ /dev/null @@ -1,64 +0,0 @@ -using System.Text.RegularExpressions; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Http.Extensions; - -namespace RhSolutions.QueryModifiers; - -public class ThreadTPieceInternal : IProductQueryModifier -{ - private string diameterPattern = "16|20|25|32|40|50|63"; - private string threadPattern = @"(\D|^)(?<Thread>1\s+1/4|1\s+1/2|1/2|3/4|2|1)(\D|$)"; - - public bool TryQueryModify(IQueryCollection collection, out QueryString queryString) - { - queryString = QueryString.Empty; - var query = collection["query"].ToString(); - if (string.IsNullOrEmpty(query)) - { - return false; - } - var diameters = Regex.Matches(query, diameterPattern); - if (diameters.Count == 0) - { - return false; - } - var thread = Regex.Match(query, threadPattern); - if (!thread.Success) - { - return false; - } - QueryBuilder qb = new() - { - {"query", ConstructName(diameters, thread)} - }; - queryString = qb.ToQueryString(); - return true; - } - - protected virtual string ConstructName(MatchCollection diameters, Match thread) - { - Capture t = thread.Groups["Thread"].Captures.First(); - if (diameters.Count == 1) - { - if (int.Parse(diameters[0].Value) < 25) - { - return $"Тройник настенный с внутренней резьбой {diameters[0]}-Rp{t}-{diameters[0]}"; - } - else - { - return $"Тройник с внутр. резьбой на боков. проходе {diameters[0]}-Rp {t}-{diameters[0]}"; - } - } - else - { - if (int.Parse(diameters[0].Value) < 25) - { - return $"Тройник настенный с внутренней резьбой {diameters[0]}-Rp{t}-{diameters[1]}"; - } - else - { - return $"Тройник с внутр. резьбой на боков. проходе {diameters[0]}-Rp {t}-{diameters[1]}"; - } - } - } -} |