diff --git a/src/Models/Sku.cs b/src/Models/Sku.cs deleted file mode 100644 index 99fcce6..0000000 --- a/src/Models/Sku.cs +++ /dev/null @@ -1,116 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System; -using System.Text.RegularExpressions; - -namespace RhSolutions.Models -{ - public class Sku - { - private const string matchPattern = @"([1\D]|\b)(?
\d{6})([1\s-]|)(?\d{3})\b"; - private string _article; - private string _variant; - - public Sku(string article, string variant) - { - Article = article; - Variant = variant; - } - - public string Id - { - get - { - return $"1{Article}1{Variant}"; - } - set - { - if (TryParse(value, out IEnumerable skus)) - { - if (skus.Count() > 1) - { - throw new ArgumentException($"More than one valid sku detected: {value}"); - } - else - { - this.Article = skus.First().Article; - this.Variant = skus.First().Variant; - } - } - else - { - throw new ArgumentException($"Invalid sku input: {value}"); - } - } - } - public string Article - { - get - { - return _article; - } - set - { - if (value == null || value.Length != 6 || value.Where(c => char.IsDigit(c)).Count() != 6) - { - throw new ArgumentException($"Wrong Article: {Article}"); - } - else - { - _article = value; - } - } - } - public string Variant - { - get - { - return _variant; - } - set - { - if (value == null || value.Length != 3 || value.Where(c => char.IsDigit(c)).Count() != 3) - { - throw new ArgumentException($"Wrong Variant: {Variant}"); - } - else _variant = value; - } - } - public static IEnumerable GetValidSkus(string line) - { - MatchCollection matches = Regex.Matches(line, matchPattern); - if (matches.Count == 0) - { - yield break; - } - else - { - foreach (Match m in matches) - { - yield return new Sku(m.Groups["Article"].Value, m.Groups["Variant"].Value); - } - } - } - - public static bool TryParse(string line, out IEnumerable skus) - { - MatchCollection matches = Regex.Matches(line, matchPattern); - if (matches.Count == 0) - { - skus = Enumerable.Empty(); - return false; - } - - else - { - skus = GetValidSkus(line); - return true; - } - } - - public override string ToString() - { - return $"1{Article}1{Variant}"; - } - } -} \ No newline at end of file diff --git a/src/RhSolutions-AddIn.dna b/src/RhSolutions-AddIn.dna index a75d6e1..5322868 100644 --- a/src/RhSolutions-AddIn.dna +++ b/src/RhSolutions-AddIn.dna @@ -3,8 +3,10 @@ + -