summaryrefslogtreecommitdiff
path: root/RhSolutions.QueryModifiers/ThreadTPieceWall.cs
diff options
context:
space:
mode:
Diffstat (limited to 'RhSolutions.QueryModifiers/ThreadTPieceWall.cs')
-rw-r--r--RhSolutions.QueryModifiers/ThreadTPieceWall.cs64
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]}";
- }
- }
- }
-}