コード例 #1
0
        //============================================================================*
        // OnGetKeyClicked()
        //============================================================================*

        protected void OnGetKeyClicked(Object sender, EventArgs e)
        {
            bool fValidKey = true;

            string strName  = NameTextBox.Value.Trim();
            string strEmail = EmailTextBox.Value.Trim();

            string strKey = cRWRegistry.CreateKey(strName, strEmail, VersionTextBox.Value);

            if (string.IsNullOrEmpty(strKey))
            {
                KeyLabel.Text = "Invalid Parms!";
            }
            else
            {
                KeyLabel.Text = strKey;

                if (cRWRegistry.ValidateKey(strKey, NameTextBox.Value, EmailTextBox.Value, VersionTextBox.Value))
                {
                    ValidatedLabel.Text = " (Validated)";
                }
                else
                {
                    ValidatedLabel.Text = " (NOT VALID!!)";

                    fValidKey = false;
                }
            }

            if (fValidKey)
            {
                cRWLicenseCommands RWLicenseCommands = new cRWLicenseCommands();

                m_RWLicenseList = null;

                cKeyCommand.eErrorCodes eErrorCode = RWLicenseCommands.GetLicenseList(NameTextBox.Value, EmailTextBox.Value, strKey, out m_RWLicenseList);

                if (eErrorCode == cKeyCommand.eErrorCodes.None)
                {
                    LicenseCountLabel.Text = String.Format("{0:G0} current licenses", m_RWLicenseList.Count);

                    if (m_RWLicenseList.Count > 0)
                    {
                        AdditionalLicenseCheckBox.Checked = true;
                    }

                    m_fGetKey = true;
                }
                else
                {
                    LicenseCountLabel.Text = String.Format("Error {0} encountered during GetLicenseList() operation.", cKeyCommand.ErrorString(eErrorCode));
                }
            }

            UpdateButtons();
        }
コード例 #2
0
        //============================================================================*
        // AddLicense()
        //============================================================================*

        public cKeyCommand.eErrorCodes AddLicense(string strName, string strEmail, string strKey)
        {
            cKeyCommand.eErrorCodes eErrorCode = cKeyCommand.eErrorCodes.None;

            string strCommand = sm_strURL + String.Format("?Command=AddLicense&Name={0}&Email={1}&Key={2}", strName, strEmail, strKey);

            eErrorCode = SendCommand(strCommand);

            return(eErrorCode);
        }
コード例 #3
0
        //============================================================================*
        // OnAddClicked()
        //============================================================================*

        protected void OnAddClicked(Object sender, EventArgs e)
        {
            cRWLicenseCommands RWLicenseCommands = new cRWLicenseCommands();

            string strKey = KeyLabel.Text;

            cKeyCommand.eErrorCodes eErrorCode = RWLicenseCommands.AddLicense(NameTextBox.Value, EmailTextBox.Value, strKey);

            if (eErrorCode == cKeyCommand.eErrorCodes.None)
            {
                LicenseCountLabel.Text = "License Added Successfully!";

                m_fAddKey = true;

                m_RWLicenseList = null;

                eErrorCode = RWLicenseCommands.GetLicenseList(NameTextBox.Value, EmailTextBox.Value, strKey, out m_RWLicenseList);

                if (eErrorCode == cKeyCommand.eErrorCodes.None)
                {
                    LicenseCountLabel.Text = String.Format("{0:G0} current licenses", m_RWLicenseList.Count);

                    AdditionalLicenseCheckBox.Checked = m_RWLicenseList.Count > 1;
                }
                else
                {
                    LicenseCountLabel.Text = String.Format("Error {0} encountered during GetLicenseList() operation.", cKeyCommand.ErrorString(eErrorCode));
                }
            }
            else
            {
                LicenseCountLabel.Text = String.Format("Error {0} Adding License!", eErrorCode);
            }

            if (m_RWLicenseList.Count > 1)
            {
                AdditionalLicenseCheckBox.Checked = true;
            }

            UpdateButtons();
        }
コード例 #4
0
        //============================================================================*
        // ValidateLicense()
        //============================================================================*

        public bool ValidateLicense()
        {
            bool fOK = true;

            if (string.IsNullOrEmpty(m_strNIC))
            {
                return(true);
            }

            //----------------------------------------------------------------------------*
            // Create and send the command
            //----------------------------------------------------------------------------*

            string strCommand = sm_strURL + String.Format("?Command=ValidateLicense&ActivationKey={0}&UserName={1}&Email={2}&MachineName={3}&NIC={4}", m_RWRegistry.ActivationKey, m_RWRegistry.UserName, m_RWRegistry.Email, m_strMachineName, m_strNIC);

            cKeyCommand.eErrorCodes eError = SendCommand(strCommand);

            //----------------------------------------------------------------------------*
            // If there's an error, see if we can resolve it
            //----------------------------------------------------------------------------*

            if (eError != cKeyCommand.eErrorCodes.None)
            {
                switch (eError)
                {
                case cKeyCommand.eErrorCodes.InvalidKey:
                    MessageBox.Show("Your Activation Key could not be validated.", "Invalid Activation Key", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

                    break;

                default:
                    fOK = false;
                    break;
                }
            }

            return(fOK);
        }
コード例 #5
0
        //============================================================================*
        // GetLicenseList()
        //============================================================================*

        public cKeyCommand.eErrorCodes GetLicenseList(string strName, string strEmail, string strKey, out cRWLicenseList RWLicenseList)
        {
            RWLicenseList = new cRWLicenseList();

            string strCommand = sm_strURL + String.Format("?Command=GetLicenses&Name={0}&Email={1}&Key={2}", strName, strEmail, strKey);

            string strResponse = "GetLicenses:";

            //----------------------------------------------------------------------------*
            // Initialize the Request
            //----------------------------------------------------------------------------*

            WebRequest Request = WebRequest.Create(strCommand);

            HttpWebResponse Response  = null;
            Stream          KeyStream = null;
            StreamReader    KeyReader = null;

            cKeyCommand.eErrorCodes eErrorCode = cKeyCommand.eErrorCodes.None;

            try
            {
                //----------------------------------------------------------------------------*
                // Send the request
                //----------------------------------------------------------------------------*

                Response = (HttpWebResponse)Request.GetResponse();

                //----------------------------------------------------------------------------*
                // Get the response
                //----------------------------------------------------------------------------*

                KeyStream = Response.GetResponseStream();

                KeyReader = new StreamReader(KeyStream);

                //----------------------------------------------------------------------------*
                // Check each line of the response for the command string
                //----------------------------------------------------------------------------*

                bool fResponseFound = false;

                while (!fResponseFound && !KeyReader.EndOfStream)
                {
                    string strLine = KeyReader.ReadLine();

                    //----------------------------------------------------------------------------*
                    // If response is found, record the error code
                    //----------------------------------------------------------------------------*

                    if (strLine.Length > strResponse.Length && strLine.Substring(0, strResponse.Length) == strResponse)
                    {
                        fResponseFound = true;

                        int nError = 0;

                        int.TryParse(strLine.Substring(strResponse.Length + 1), out nError);

                        eErrorCode = (cKeyCommand.eErrorCodes)nError;

                        break;
                    }
                }

                if (!fResponseFound)
                {
                    eErrorCode = cKeyCommand.eErrorCodes.InvalidResponse;
                }

                //----------------------------------------------------------------------------*
                // Get the list of licenses
                //----------------------------------------------------------------------------*

                if (eErrorCode == cKeyCommand.eErrorCodes.None)
                {
                    cRWLicense RWLicense = null;

                    while (!KeyReader.EndOfStream)
                    {
                        string strLine = KeyReader.ReadLine();

                        //----------------------------------------------------------------------------*
                        // If a license start is found, create a new license
                        //----------------------------------------------------------------------------*

                        if (strLine.Length > "License:".Length && strLine.Substring(0, "License:".Length) == "License:")
                        {
                            if (RWLicense != null)
                            {
                                RWLicenseList.Add(RWLicense);
                            }

                            RWLicense = new cRWLicense();

                            continue;
                        }

                        //----------------------------------------------------------------------------*
                        // If a license name is found, add it to the current license
                        //----------------------------------------------------------------------------*

                        if (strLine.Length > "Name:".Length && strLine.Substring(0, "Name:".Length) == "Name:")
                        {
                            if (RWLicense != null)
                            {
                                RWLicense.Name = strLine.Substring("Name:".Length + 1, strLine.IndexOf("<br />") - "Name:".Length - 1);
                            }

                            continue;
                        }

                        //----------------------------------------------------------------------------*
                        // If a license email is found, add it to the current license
                        //----------------------------------------------------------------------------*

                        if (strLine.Length > "Email:".Length && strLine.Substring(0, "Email:".Length) == "Email:")
                        {
                            if (RWLicense != null)
                            {
                                RWLicense.Email = strLine.Substring("Email:".Length + 1, strLine.IndexOf("<br />") - "Email:".Length - 1);
                            }

                            continue;
                        }

                        //----------------------------------------------------------------------------*
                        // If a license key is found, add it to the current license
                        //----------------------------------------------------------------------------*

                        if (strLine.Length > "Key:".Length && strLine.Substring(0, "Key:".Length) == "Key:")
                        {
                            if (RWLicense != null)
                            {
                                RWLicense.Key = strLine.Substring("Key:".Length + 1, strLine.IndexOf("<br />") - "Key:".Length - 1);
                            }

                            continue;
                        }

                        //----------------------------------------------------------------------------*
                        // If a license computer name is found, add it to the current license
                        //----------------------------------------------------------------------------*

                        if (strLine.Length > "Computer Name:".Length && strLine.Substring(0, "Computer Name:".Length) == "Computer Name:")
                        {
                            if (RWLicense != null)
                            {
                                RWLicense.ComputerName = strLine.Substring("Computer Name:".Length + 1, strLine.IndexOf("<br />") - "Computer Name:".Length - 1);
                            }

                            continue;
                        }

                        //----------------------------------------------------------------------------*
                        // If a license NIC is found, add it to the current license
                        //----------------------------------------------------------------------------*

                        if (strLine.Length > "NIC:".Length && strLine.Substring(0, "NIC:".Length) == "NIC:")
                        {
                            if (RWLicense != null)
                            {
                                RWLicense.NIC = strLine.Substring("NIC:".Length + 1, strLine.IndexOf("<br />") - "NIC:".Length - 1);
                            }

                            continue;
                        }
                    }

                    if (RWLicense != null)
                    {
                        RWLicenseList.Add(RWLicense);
                    }
                }
            }

            //----------------------------------------------------------------------------*
            // If there's an error sending or receiving, just continue
            //----------------------------------------------------------------------------*

            catch
            {
            }

            //----------------------------------------------------------------------------*
            // Clean up and exit
            //----------------------------------------------------------------------------*

            finally
            {
/*				if (KeyReader != null)
 *                                      KeyReader.Close();
 *
 *                              if (KeyStream != null)
 *                                      KeyStream.Close();
 *
 *                              if (Response != null)
 *                                      Response.Close();
 */         }

            return(eErrorCode);
        }
コード例 #6
0
        //============================================================================*
        // SendCommand()
        //============================================================================*

        public cKeyCommand.eErrorCodes SendCommand(string strCommand)
        {
            cKeyCommand.eErrorCodes eError = cKeyCommand.eErrorCodes.None;

            //----------------------------------------------------------------------------*
            // Get the command to look for in the response
            //----------------------------------------------------------------------------*

            int nCommandStart  = strCommand.IndexOf("Command=") + 8;
            int nCommandlength = strCommand.IndexOf("&", nCommandStart) - nCommandStart;

            string strResponse = strCommand.Substring(nCommandStart, nCommandlength) + ":";

            //----------------------------------------------------------------------------*
            // Initialize the Request
            //----------------------------------------------------------------------------*

            WebRequest Request = WebRequest.Create(strCommand);

            HttpWebResponse Response  = null;
            Stream          KeyStream = null;
            StreamReader    KeyReader = null;

            try
            {
                //----------------------------------------------------------------------------*
                // Send the request
                //----------------------------------------------------------------------------*

                Response = (HttpWebResponse)Request.GetResponse();

                //----------------------------------------------------------------------------*
                // Get the response
                //----------------------------------------------------------------------------*

                KeyStream = Response.GetResponseStream();

                KeyReader = new StreamReader(KeyStream);

                //----------------------------------------------------------------------------*
                // Check each line of the response for the command string
                //----------------------------------------------------------------------------*

                bool fResponseFound = false;

                while (!fResponseFound && !KeyReader.EndOfStream)
                {
                    string strLine = KeyReader.ReadLine();

                    //----------------------------------------------------------------------------*
                    // If response is found, record the error code
                    //----------------------------------------------------------------------------*

                    if (strLine.Length > strResponse.Length && strLine.Substring(0, strResponse.Length) == strResponse)
                    {
                        fResponseFound = true;

                        int nError = 0;

                        int.TryParse(strLine.Substring(strResponse.Length + 1), out nError);

                        eError = (cKeyCommand.eErrorCodes)nError;

                        break;
                    }
                }

                if (!fResponseFound)
                {
                    eError = cKeyCommand.eErrorCodes.InvalidResponse;
                }
            }

            //----------------------------------------------------------------------------*
            // If there's an error sending or receiving, just continue
            //----------------------------------------------------------------------------*

            catch
            {
                eError = cKeyCommand.eErrorCodes.NotConnected;
            }

            //----------------------------------------------------------------------------*
            // Clean up and exit
            //----------------------------------------------------------------------------*

            finally
            {
/*				if (KeyReader != null)
 *                                      KeyReader.Close();
 *
 *                              if (KeyStream != null)
 *                                      KeyStream.Close();
 *
 *                              if (Response != null)
 *                                      Response.Close();
 */         }

            return(eError);
        }