Files
parr_api/PARR.BLL/Services/Implementations/TemplateMaskValidator.cs

42 lines
1.1 KiB
C#
Raw Normal View History

using PARR.BLL.Services.Interfaces;
using System.Text.RegularExpressions;
namespace PARR.BLL.Services.Implementations
{
internal class TemplateMaskValidator : ITemplateMaskValidator
{
public bool IsValid(string mask)
{
if (!mask.Contains("ПАРР"))
return false;
var shortcodePattern = "%[^%\\s]+%";
var shortcodesInMask = Regex.Matches(mask, shortcodePattern).ToList();
if (shortcodesInMask.Count() == 0)
return false;
var validShortcodes = GetShortcodesNames();
foreach (var shortcode in shortcodesInMask)
{
if (!validShortcodes.Contains(shortcode.ToString().ToUpper()))
return false;
}
return true;
}
private List<string> GetShortcodesNames()//TODO Ну ты опять этот метод дублируешь?!
{
var result = new List<string> {
"%ЭК%",
"%ЗО%",
"%РАБОТА%"
};
return result;
}
}
}