diff options
author | Sergey Chebotar <s.chebotar@gmail.com> | 2022-12-19 08:37:26 +0300 |
---|---|---|
committer | Sergey Chebotar <s.chebotar@gmail.com> | 2022-12-19 08:37:26 +0300 |
commit | a7e5a500e1c78ebc556f09831402838903fa4b79 (patch) | |
tree | 6a974a96e2d9012fe05d22eb2cd5cdd0206589ba /src/AddIn/RehauSku.cs | |
parent | e7d590bd2387f656d0b12db6fbe09abf647623bd (diff) | |
parent | b66cc8fdce099daaf42f90ca8ae488bebd47d125 (diff) |
Merge branch 'dev'
Diffstat (limited to 'src/AddIn/RehauSku.cs')
-rw-r--r-- | src/AddIn/RehauSku.cs | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/AddIn/RehauSku.cs b/src/AddIn/RehauSku.cs new file mode 100644 index 0000000..40e5d30 --- /dev/null +++ b/src/AddIn/RehauSku.cs @@ -0,0 +1,67 @@ +using System.Text.RegularExpressions; + +namespace RehauSku +{ + internal class RauSku + { + public string Sku { get; private set; } + public string Variant { get; private set; } + + public RauSku(string sku, string variant) + { + Sku = sku; + Variant = variant; + } + + public static bool TryParse(string line, out RauSku rehauSku) + { + Match match; + match = Regex.Match(line, @"\b[1]\d{6}[1]\d{3}\b"); + if (match.Success) + { + string sku = match.Value.Substring(1, 6); + string variant = match.Value.Substring(8, 3); + rehauSku = new RauSku(sku, variant); + return true; + } + + match = Regex.Match(line, @"\b\d{6}\D\d{3}\b"); + if (match.Success) + { + string sku = match.Value.Substring(0, 6); + string variant = match.Value.Substring(7, 3); + rehauSku = new RauSku(sku, variant); + return true; + } + + match = Regex.Match(line, @"\b\d{9}\b"); + if (match.Success) + { + string sku = match.Value.Substring(0, 6); + string variant = match.Value.Substring(6, 3); + rehauSku = new RauSku(sku, variant); + return true; + } + + match = Regex.Match(line, @"\b\d{6}\b"); + if (match.Success) + { + string sku = match.Value.Substring(0, 6); + string variant = "001"; + rehauSku = new RauSku(sku, variant); + return true; + } + + else + { + rehauSku = null; + return false; + } + } + + public override string ToString() + { + return $"1{Sku}1{Variant}"; + } + } +}
\ No newline at end of file |