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); }
/// <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 }