protected void Page_Load(Object sender, EventArgs e) { if (!Authentication.IsAuthenticated(Session)) { Response.Redirect("LoginPage.aspx"); } Tenant tenant = (Tenant)Session["tenant"]; if (tenant == null) { EmbedClientScript.ShowErrorMessage(this, "Sessão inválida.", true); return; } int licenseId; Boolean isNumeric = int.TryParse(Request.QueryString["licenseId"], out licenseId); if (!isNumeric) { EmbedClientScript.ShowErrorMessage(this, "Os parâmetros passados para a página não estão em um formato válido.", true); return; } // Abre a conexão com o banco DataAccess dataAccess = DataAccess.Instance; dataAccess.MountConnection(FileResource.MapWebResource(this.Page.Server, "DataAccess.xml"), DatabaseEnum.PrintAccounting); dataAccess.OpenConnection(); ApplicationParamDAO appParamDAO = new ApplicationParamDAO(dataAccess.GetConnection()); ApplicationParam urlParam = appParamDAO.GetParam("url", "webAccounting"); // Fecha a conexão com o banco dataAccess.CloseConnection(); dataAccess = null; if (urlParam == null) { EmbedClientScript.ShowErrorMessage(this, "Falha ao buscar url do sistema no banco.", true); return; } String serviceUrl = urlParam.value + "/JobRoutingService.aspx"; DateTime oneYearFromNow = DateTime.Now.AddYears(1); DateTime expirationDate = new DateTime(oneYearFromNow.Year, oneYearFromNow.Month, oneYearFromNow.Day, 0, 0, 0); this.Response.Clear(); this.Response.ContentType = "application/octet-stream"; this.Response.AddHeader("content-disposition", "attachment; filename=ProductKey.bin"); String licenseKey = LicenseKeyMaker.GenerateKey(serviceUrl, tenant.id, licenseId, expirationDate); Response.Write(licenseKey); this.Response.End(); }
private void btnGenerate_Click(object sender, EventArgs e) { int randomId = 5; // utiliza um id qualquer DateTime selectedDate = expirationDatePicker.Value; DateTime expirationDate = new DateTime(selectedDate.Year, selectedDate.Month, selectedDate.Day, 0, 0, 0); infoBox.Text = LicenseKeyMaker.GenerateKey(txtServiceUrl.Text, int.Parse(txtTenantId.Text), randomId, expirationDate); }