Add t-pieces request filter. Exclude CleanUp method to RequestModifier class.
This commit is contained in:
parent
adf66ad2a2
commit
c42e3e604d
@ -96,6 +96,7 @@
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Source\Assistant\RequestModifier.cs" />
|
||||
<Compile Include="Source\DataExport\RibbonController.cs" />
|
||||
<Compile Include="Source\Assistant\HttpClientUtil.cs" />
|
||||
<Compile Include="Source\Assistant\StoreResponse.cs" />
|
||||
|
@ -4,7 +4,6 @@ using System;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using System.Text;
|
||||
|
||||
namespace Rehau.Sku.Assist
|
||||
{
|
||||
@ -35,7 +34,7 @@ namespace Rehau.Sku.Assist
|
||||
UriBuilder baseUri = new UriBuilder("https", "shop-rehau.ru");
|
||||
|
||||
baseUri.Path = "/catalogsearch/result/index/";
|
||||
string cleanedRequest = request._CleanRequest();
|
||||
string cleanedRequest = request.CleanRequest();
|
||||
|
||||
switch (AddIn.responseOrder)
|
||||
{
|
||||
@ -58,16 +57,5 @@ namespace Rehau.Sku.Assist
|
||||
|
||||
return baseUri.Uri;
|
||||
}
|
||||
|
||||
private static string _CleanRequest(this string input)
|
||||
{
|
||||
return new StringBuilder(input)
|
||||
.Replace("+", " plus ")
|
||||
.Replace("РХ", "")
|
||||
.Replace("º", " ")
|
||||
.Replace(".", " ")
|
||||
.Replace("Ø", " ")
|
||||
.ToString();
|
||||
}
|
||||
}
|
||||
}
|
60
Source/Assistant/RequestModifier.cs
Normal file
60
Source/Assistant/RequestModifier.cs
Normal file
@ -0,0 +1,60 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Rehau.Sku.Assist
|
||||
{
|
||||
public static class RequestModifier
|
||||
{
|
||||
public static string CleanRequest(this string input)
|
||||
{
|
||||
string replace = new StringBuilder(input)
|
||||
.Replace("+", " plus ")
|
||||
.Replace("РХ", "")
|
||||
.Replace("º", " ")
|
||||
.Replace(".", " ")
|
||||
.Replace("Ø", " ")
|
||||
.ToString();
|
||||
|
||||
return replace._tPiece();
|
||||
}
|
||||
|
||||
private static string _tPiece(this string line)
|
||||
{
|
||||
if (!line.ToLower().Contains("тройник"))
|
||||
return line;
|
||||
|
||||
string m = Regex.Match(line, @"\d{2}.\d{2}.\d{2}").Value;
|
||||
|
||||
int endFaceA = int.Parse($"{m[0]}{m[1]}");
|
||||
int side = int.Parse($"{m[3]}{m[4]}");
|
||||
int endFaceB = int.Parse($"{m[6]}{m[7]}");
|
||||
|
||||
int[] endFaces = new[] { endFaceA, endFaceB };
|
||||
|
||||
List<string> additions = new List<string>();
|
||||
|
||||
if (endFaces.All(x => x < side))
|
||||
additions.Add("увеличенный боковой");
|
||||
|
||||
else
|
||||
{
|
||||
if (new[] { endFaceA, endFaceB, side }.Distinct().Count() == 1)
|
||||
additions.Add("равнопроходной");
|
||||
else
|
||||
additions.Add("уменьшенный");
|
||||
|
||||
if (endFaces.Any(x => x > side))
|
||||
additions.Add("боковой");
|
||||
if (endFaceA != endFaceB)
|
||||
additions.Add("торцевой");
|
||||
}
|
||||
|
||||
string piece = $" {endFaces.Max()}-{side}-{endFaces.Min()} ";
|
||||
string replace = string.Join(" ", additions) + piece;
|
||||
|
||||
return line.Replace(m, replace);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user