SenseNet.Messaging.NotificationSender.SignMessagesToSend C# (CSharp) Method

SignMessagesToSend() static private method

static private SignMessagesToSend ( string lockId ) : bool
lockId string
return bool
        internal static bool SignMessagesToSend(string lockId)
        {
            var until = DateTime.Now.AddMinutes(1);
            var sql = "UPDATE TOP (@Top) [Messaging.Messages] SET LockId = @LockId, LockedUntil = @LockedUntil WHERE LockId = @LockId OR LockId IS NULL OR LockedUntil < @Now";
            int rows = 0;
            using (var proc = SenseNet.ContentRepository.Storage.Data.DataProvider.CreateDataProcedure(sql))
            {
                proc.CommandType = System.Data.CommandType.Text;

                var topPrm = DataProvider.CreateParameter();
                topPrm.ParameterName = "@Top";
                topPrm.DbType = DbType.Int32;
                topPrm.Value = Configuration.TakeCount;
                proc.Parameters.Add(topPrm);

                var lockIdPrm = DataProvider.CreateParameter();
                lockIdPrm.ParameterName = "@LockId";
                lockIdPrm.DbType = DbType.String;
                lockIdPrm.Size = 500;
                lockIdPrm.Value = lockId;
                proc.Parameters.Add(lockIdPrm);

                var lockedUntilPrm = DataProvider.CreateParameter();
                lockedUntilPrm.ParameterName = "@LockedUntil";
                lockedUntilPrm.DbType = DbType.DateTime;
                lockedUntilPrm.Value = until;
                proc.Parameters.Add(lockedUntilPrm);

                var nowPrm = DataProvider.CreateParameter();
                nowPrm.ParameterName = "@Now";
                nowPrm.DbType = DbType.DateTime;
                nowPrm.Value = DateTime.Now;
                proc.Parameters.Add(nowPrm);

                rows = proc.ExecuteNonQuery();
            }
            return rows > 0;
        }
        internal static IEnumerable<Message> SelectSignedMessages(DataHandler context, string lockId)