public RegisterApplicationResultMessage RegisterScriptingApplication(RegisterApplicationMessage message)
        {
            UsernameToken token = SecurityHelper.GetLicenseToken(RequestSoapContext.Current);

            RegisterApplicationResultMessage result = new RegisterApplicationResultMessage();

            // Validate license (application limit)
            if ( userDatabaseManager.ValidateApplicationLicenseLimit(token.Username) )
            {
                // Register application in database.
                bool inserted = userDatabaseManager.RegisterApplication(token.Username, message.ApplicationID);

                if ( inserted )
                {
                    // Sign application.
                    XmlDocument signedDocument = SignScriptingApplication(message.EncryptedScriptingApplicationXml);
                    result.SignedScriptingApplicationXml = signedDocument.OuterXml;
                    result.Message = "Application signed succesfully.";
                    result.IsApplicationRegistered = true;
                }
                else
                {
                    result.IsApplicationRegistered = false;
                    result.Message = "Verify that the application id is valid and try saving again the document.";
                }
            }
            else
            {
                result.IsApplicationRegistered = false;
                result.Message = "Your application license limit doesn't allow more applications to be registered. Please purchase additional licenses.";
            }

            return result;
        }
        public RegisterApplicationResultMessage IsRegisteredApplication(RegisterApplicationMessage message)
        {
            UsernameToken token = SecurityHelper.GetLicenseToken(RequestSoapContext.Current);

            RegisterApplicationResultMessage result = new RegisterApplicationResultMessage();

            if ( userDatabaseManager.RegisteredApplicationExists(token.Username, message.ApplicationID) )
            {
                result.Message = "Application exists.";
                result.IsApplicationRegistered = true;
            }
            else
            {
                result.Message = "Application needs to be registered.";
                result.IsApplicationRegistered = false;
            }

            return result;
        }