using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
using System.Text.RegularExpressions;
namespace Neo.Afx.Validation
{
///
/// The formatter.
///
public class RsaTrustNumberValidation
{
///
/// Does check digit validation on an RSA Company Registration Number
///
/// The Company Registration Number.
/// True/False
[SqlFunction(
IsDeterministic = true,
IsPrecise = true,
DataAccess = DataAccessKind.Read,
SystemDataAccess = SystemDataAccessKind.Read
)]
public static SqlBoolean IsValidRsaTrustNumber(SqlString trustNumber)
{
var isValid = false;
var trustNumberToCheck = trustNumber.Value;
if (string.IsNullOrEmpty(trustNumberToCheck))
{
return new SqlBoolean(isValid);
}
Regex rgx = new Regex(@"^\d{4}\/\d{6}\/\d{2}$");
if (rgx.IsMatch(trustNumberToCheck))
{
isValid = true;
}
return new SqlBoolean(isValid);
}
}
}