public Boolean CreateConfigurationXML(RegistrationInfo registrationInfo, InstallationInfo installationInfo, Boolean startPrintInspector)
        {
            // Verifica se as informações de instalação estão disponíveis
            if (registrationInfo == null)
            {
                return(false);
            }
            if (installationInfo == null)
            {
                return(false);
            }

            String interval = startPrintInspector ? "59000" : "599000";  // caso utilize o "Print Inspector" aumenta a frequência
            String xmlHash  = ResourceProtector.GenerateHash(registrationInfo.ServiceUrl + registrationInfo.TenantId + interval + installationInfo.PrintLogDirectories);

            NameValueCollection taskParams = new NameValueCollection();

            taskParams.Add("url", registrationInfo.ServiceUrl);
            taskParams.Add("tenantId", registrationInfo.TenantId.ToString());
            taskParams.Add("interval", interval);
            taskParams.Add("logDirectories", installationInfo.PrintLogDirectories);
            taskParams.Add("copyLogDir", installationInfo.CopyLogDirectory);
            taskParams.Add("installationKey", ResourceProtector.GenerateHash(ResourceProtector.GetHardwareId()));
            taskParams.Add("xmlHash", xmlHash);

            // Configura os parâmetros de execução no XML
            FileStream fileStream = new FileStream(Path.Combine(installationInfo.TargetDirectory, "JobRouting.xml"), FileMode.Create);

            PrintLogContext.SetTaskParams(taskParams, fileStream);
            fileStream.Close();

            return(true);
        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            AccountingLib.Entities.Login login = new AccountingLib.Entities.Login();
            try
            {
                foreach (String fieldName in Request.Form)
                {
                    if (fieldName.Contains("txtId"))
                    {
                        login.id = int.Parse(Request.Form[fieldName]);
                    }
                    if (fieldName.Contains("txtTenantId"))
                    {
                        login.tenantId = int.Parse(Request.Form[fieldName]);
                    }
                    if (fieldName.Contains("txtPassword"))
                    {
                        login.password = Request.Form[fieldName];
                    }
                    if (fieldName.Contains("txtUsername"))
                    {
                        login.username = Request.Form[fieldName];
                        if (String.IsNullOrEmpty(login.username))
                        {
                            throw new FormatException();
                        }
                    }
                    if (fieldName.Contains("cmbUserGroup"))
                    {
                        login.userGroup = int.Parse(Request.Form[fieldName]);
                    }
                }
            }
            catch (System.FormatException)
            {
                EmbedClientScript.ShowErrorMessage(this, "Os valores informados não estão em um formato válido!");
                return;
            }

            try
            {
                ResourceProtector.RectifyPassword(login); // caso o login seja novo gera a senha padrão
                loginDAO.SetLogin(login);
                EmbedClientScript.CloseWindow(this);
            }
            catch (Exception genericException)
            {
                if (genericException.Message.Contains("Violation of UNIQUE KEY"))
                {
                    EmbedClientScript.ShowErrorMessage(this, "Este login já existe!");
                    return;
                }

                EmbedClientScript.ShowErrorMessage(this, genericException.Message);
            }
        }
Exemplo n.º 3
0
        public License ConvertToLicense()
        {
            License license = new License();

            license.id              = this.LicenseId;
            license.tenantId        = this.TenantId;
            license.installationKey = Cipher.GenerateHash(ResourceProtector.GetHardwareId());

            return(license);
        }
        /// <summary>
        /// Obtem os parâmetros de execução a partir do XML
        /// </summary>
        public static NameValueCollection GetTaskParams()
        {
            NameValueCollection taskParams = new NameValueCollection();

            try
            {
                String        baseDir     = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location.ToString());
                String        xmlLocation = PathFormat.Adjust(baseDir) + "JobRouting.xml";
                XmlTextReader xmlReader   = new XmlTextReader(xmlLocation);
                xmlReader.ReadStartElement("jobrouting");
                taskParams.Add("url", xmlReader.ReadElementString("url"));
                taskParams.Add("tenantId", xmlReader.ReadElementString("tenantid"));
                taskParams.Add("interval", xmlReader.ReadElementString("interval"));
                taskParams.Add("logDirectories", xmlReader.ReadElementString("logdirectories"));
                taskParams.Add("copyLogDir", xmlReader.ReadElementString("copylogdir"));
                taskParams.Add("installationKey", xmlReader.ReadElementString("installationkey"));
                taskParams.Add("xmlHash", xmlReader.ReadElementString("xmlhash"));
                xmlReader.ReadEndElement();
                xmlReader.Close();
            }
            catch
            {
                return(null);
            }

            String installationKey = ResourceProtector.GetHardwareId();

            installationKey = Cipher.GenerateHash(installationKey);

            String xmlHash = taskParams["url"] + taskParams["tenantId"] + taskParams["interval"] + taskParams["logDirectories"];

            xmlHash = Cipher.GenerateHash(xmlHash);

            // Verifica se os parâmetros estão corretos (batem com os configurados durante a instalação)
            if (installationKey != taskParams["installationkey"])
            {
                return(null);
            }
            if (xmlHash != taskParams["xmlhash"])
            {
                return(null);
            }

            return(taskParams);
        }