コード例 #1
0
        public void ActivateProductTest()
        {
            string privateXmlKey             = KeyHelpers.GetPrivateKey();
            ProductKeyPublisher keyPublisher = new ProductKeyPublisher(privateXmlKey);

            string productKey = keyPublisher.GenerateProductKey(123, 456, 789, "C", "toto", "Company", "*****@*****.**");

            var activator   = new ProductActivation(privateXmlKey);
            var licenseInfo = activator.ActivateProduct(productKey, Convert.ToBase64String(new MachineIdentifierProviderMock().MachineHash));

            Assert.IsNotNull(licenseInfo);
            Assert.IsNotNull(licenseInfo.ActivationInfo);
            Assert.IsNotNull(licenseInfo.Signature);
        }
コード例 #2
0
        /// <summary>
        /// Adds the Registration Data
        /// </summary>
        protected void AddRegistrationDetails()
        {
            #region Create WebService Request Data
            // Create XML Request Node
            XmlDocument    xmlRegistrationRequest = new XmlDocument();
            XmlDeclaration xmlDeclaration         = xmlRegistrationRequest.CreateXmlDeclaration("1.0", "utf-8", null);

            // Create the root element
            XmlElement rootNode = xmlRegistrationRequest.CreateElement("registration");

            rootNode.SetAttribute("productId", Session["SelectedProduct"].ToString());
            rootNode.SetAttribute("type", DropDownListRegistrationType.SelectedValue);
            xmlRegistrationRequest.InsertBefore(xmlDeclaration, xmlRegistrationRequest.DocumentElement);
            xmlRegistrationRequest.AppendChild(rootNode);
            // System Fields Element
            XmlElement xmleSystemFields = xmlRegistrationRequest.CreateElement("systemFields");
            xmlRegistrationRequest.DocumentElement.AppendChild(xmleSystemFields);

            // Custom Fields Element
            XmlElement xmleCustomFields = xmlRegistrationRequest.CreateElement("customFields");
            xmlRegistrationRequest.DocumentElement.AppendChild(xmleCustomFields);

            #region Create System Field Elements

            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "1", TextBoxClientCode.Text);
            // 2 : Activation Code >> System Generated
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "3", TextBoxSerialKey.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "5", TextBoxFirstName.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "6", TextBoxLastName.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "7", TextBoxAddress1.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "8", TextBoxAddress2.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "9", TextBoxCity.Text);
            // State
            string stateSource = HiddenFieldStateSource.Value;
            string state       = Request.Form["UserState"];
            if (stateSource == "StateDropdownList")
            {
                CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "10", state);
                CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "11", "");
            }
            else
            {
                CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "10", "0");
                CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "11", state);
            }
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "12", DropDownListCountry.SelectedValue);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "13", TextBoxZipCode.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "14", TextBoxPhone.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "15", TextBoxExtension.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "16", TextBoxFax.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "17", TextBoxEmail.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "18", TextBoxCompanyName.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "19", DropDownListDepartment.SelectedValue);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "20", DropDownListJobFunction.SelectedValue);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "21", DropDownListIndustryType.SelectedValue);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "22", DropDownListOrganizationType.SelectedValue);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "23", TextBoxDealerName.Text);
            // 24 : Dealer Address, Right now there is no requirement to capture Dealaer Address
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "24", "");

            //Send Notifications [Convet bool to 0/1]
            bool   isNotificationSelected = CheckBoxNotifications.Checked;
            string notificationValue      = "0";
            if (isNotificationSelected)
            {
                notificationValue = "1";
            }
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "25", notificationValue);

            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "26", DropDownListMFPModel.SelectedValue);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "27", TextBoxMACAddress.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "28", TextBoxIPAddress.Text);
            // 29 : HardDisk Id :
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "29", TextBoxHardDiskId.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "30", TextBoxProcessorType.Text);
            if (string.IsNullOrEmpty(TextBoxProcessorCount.Text))
            {
                CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "31", "1");
            }
            else
            {
                CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "31", TextBoxProcessorCount.Text);
            }
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "32", TextBoxOperatingSystem.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "34", TextBoxComputerName.Text);
            CreateXMLField(xmlRegistrationRequest, xmleSystemFields, "35", DropDownListRegistrationType.SelectedItem.Text);

            #endregion

            #region Create System Field Elements
            DataSet   dsCustomFields = DataProvider.GetCustomFields(Session["SelectedProduct"].ToString());
            DataTable dtCustomFields = dsCustomFields.Tables[0];
            string    fieldId        = "";
            for (int row = 0; row < dtCustomFields.Rows.Count; row++)
            {
                fieldId = dtCustomFields.Rows[row]["FLD_ID"].ToString();

                CreateXMLField(xmlRegistrationRequest, xmleCustomFields, fieldId, Request.Form["CustomField_" + fieldId].ToString(CultureInfo.InvariantCulture));
            }
            #endregion

            #endregion

            #region GetProduct AccessId and Password for the selected product
            string accessId       = null;
            string accessPassword = null;
            DataProvider.GetProductAccessCredentials(Session["SelectedProduct"].ToString(), out accessId, out accessPassword);
            #endregion

            #region Call Registration Webservice
            ProductActivation wsProduct  = new ProductActivation();
            string            wsResponse = wsProduct.Register(accessId, accessPassword, xmlRegistrationRequest.OuterXml);

            #endregion

            #region Display Registration Results
            DisplayResults(wsResponse);
            #endregion
        }