summaryrefslogtreecommitdiff
path: root/RhSolutions.QueryModifiers/ThreadTPieceWall.cs
diff options
context:
space:
mode:
authorSerghei Cebotari <serghei@cebotari.ru>2023-10-13 15:04:27 +0300
committerSerghei Cebotari <serghei@cebotari.ru>2023-10-13 15:04:27 +0300
commit60fbfb5e8c27f504aa9971828ac785052a6d0822 (patch)
treef1350cc4c8b15fa4c49bfe0876c6f7e7d79ae3c7 /RhSolutions.QueryModifiers/ThreadTPieceWall.cs
parent52543cf7a2ec972923f5d3618dd77b366a73c92a (diff)
Refactoring
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]}";
- }
- }
- }
-}