/// <summary> /// Проверяет применимость правила /// </summary> /// <param name="str"> </param> /// <returns> </returns> public bool Match(FioStruct str) { var item = str.GetPart(Part); if (string.IsNullOrWhiteSpace(item)) { return false; } if(IsPrefix) { return string.IsNullOrWhiteSpace(Suffix) || item.StartsWith(Suffix); }else return string.IsNullOrWhiteSpace(Suffix) || item.EndsWith(Suffix); }
/// <summary> /// Применяет правило к целевой структуре /// </summary> /// <param name="str"> </param> public void Apply(FioStruct str) { var item = str.GetPart(Part); if (Type == FioTrasformerRuleType.Append) { item = item + Changer; } else { item = Regex.Replace(item, Suffix + "$", Changer, RegexOptions.Compiled); } str.SetPart(Part, item); }