SenseNet.Messaging.Event.IsSubscriptionExist C# (CSharp) Метод

IsSubscriptionExist() приватный статический Метод

private static IsSubscriptionExist ( string contentPath ) : bool
contentPath string
Результат bool
        private static bool IsSubscriptionExist(string contentPath)
        {
//            var sql = @"DECLARE @PathCollection AS TABLE([Path] nvarchar(450))
//INSERT @PathCollection
//    SELECT [Path].value('.', 'nvarchar(900)')
//    FROM @ProbeCollection .nodes('/r/p') AS Identifiers([Path])
//SELECT COUNT(*) FROM @PathCollection C
//    LEFT OUTER JOIN [Messaging.Subscriptions] S ON C.[Path] = S.[ContentPath]
//    WHERE S.[ContentPath] IS NOT NULL
//";
            var sql = @"DECLARE @PathCollection AS TABLE([Path] nvarchar(450))
INSERT @PathCollection
    SELECT [Path].value('.', 'nvarchar(900)')
    FROM @ProbeCollection .nodes('/r/p') AS Identifiers([Path])
SELECT COUNT(*) FROM @PathCollection C
    INNER JOIN [Messaging.Subscriptions] S ON C.[Path] = S.[ContentPath]
";

            var xml = new StringBuilder();
            xml.Append("<r>");
            var path = contentPath;
            while (path.Length > 1)
            {
                xml.Append("<p>").Append(path).Append("</p>");
                var p = path.LastIndexOf('/');
                path = path.Substring(0, p);
            }
            xml.Append("</r>");

            //var proc = SenseNet.ContentRepository.Storage.Data.DataProvider.CreateDataProcedure("proc_Find_Notif");
            var proc = SenseNet.ContentRepository.Storage.Data.DataProvider.CreateDataProcedure(sql);
            proc.CommandType = System.Data.CommandType.Text;
            var prm = SenseNet.ContentRepository.Storage.Data.DataProvider.CreateParameter();
            prm.ParameterName = "@ProbeCollection";
            prm.DbType = System.Data.DbType.Xml;
            prm.Value = xml.ToString();
            proc.Parameters.Add(prm);

            var result = proc.ExecuteScalar();
            var count = (int)result;
            return count > 0;
        }