예제 #1
0
        public bool ActivateTrialLicense(out bool hasError, out int status, string firstName, string lastName, string eMail, string organization, Guid userId)
        {
            status = LexActivator.SetTrialActivationMetadata("FirstName", firstName);
            if (status != LexActivator.StatusCodes.LA_OK)
            {
                logger.Warn($"SetTrialActivationMetadata FirstName Code {status}");
                hasError = true;
                return(false);
            }
            status = LexActivator.SetTrialActivationMetadata("LastName", lastName);
            if (status != LexActivator.StatusCodes.LA_OK)
            {
                logger.Warn($"SetTrialActivationMetadata LastName Code {status}");
                hasError = true;
                return(false);
            }
            status = LexActivator.SetTrialActivationMetadata("eMail", eMail);
            if (status != LexActivator.StatusCodes.LA_OK)
            {
                logger.Warn($"SetTrialActivationMetadata eMail Code {status}");
                hasError = true;
                return(false);
            }

            status = LexActivator.SetTrialActivationMetadata("Organization", organization);
            if (status != LexActivator.StatusCodes.LA_OK)
            {
                logger.Warn($"SetTrialActivationMetadata Organization Code {status}");
                hasError = true;
                return(false);
            }

            status = LexActivator.SetTrialActivationMetadata("UserId", userId.ToString());
            if (status != LexActivator.StatusCodes.LA_OK)
            {
                logger.Warn($"SetTrialActivationMetadata UserId Code {status}");
                hasError = true;
                return(false);
            }

            status = LexActivator.ActivateTrial();
            var statusEnum = (StatusCodesEnum)status;

            if (statusEnum == StatusCodesEnum.LA_OK)
            {
                hasError = false;
                Init();
                return(true);
            }
            else if (status == LexActivator.StatusCodes.LA_TRIAL_EXPIRED)
            {
                hasError = false;
                return(false);
            }
            else
            {
                hasError = false;
                return(false);
            }
        }
예제 #2
0
        public bool ActivateSerial(out bool hasError, out int status, string firstName, string lastName, string eMail, string organization, string serial)
        {
            status = LexActivator.SetActivationMetadata("FirstName", firstName);
            if (status != LexActivator.StatusCodes.LA_OK)
            {
                logger.Warn($"SetActivationMetadata FirstName Code {status}");
                hasError = true;
                return(false);
            }
            status = LexActivator.SetActivationMetadata("LastName", lastName);
            if (status != LexActivator.StatusCodes.LA_OK)
            {
                logger.Warn($"SetActivationMetadata LastName Code {status}");
                hasError = true;
                return(false);
            }
            status = LexActivator.SetActivationMetadata("eMail", eMail);
            if (status != LexActivator.StatusCodes.LA_OK)
            {
                logger.Warn($"SetActivationMetadata eMail Code {status}");
                hasError = true;
                return(false);
            }


            status = LexActivator.SetActivationMetadata("Organization", organization);
            if (status != LexActivator.StatusCodes.LA_OK)
            {
                logger.Warn($"SetActivationMetadata Organization Code {status}");
                hasError = true;
                return(false);
            }

            status = LexActivator.SetLicenseKey(serial);
            if (status != LexActivator.StatusCodes.LA_OK)
            {
                logger.Warn($"SetActivationMetadata Serial Code {status}");
                hasError = true;
                return(false);
            }

            status = LexActivator.ActivateLicense();
            var statusEnum = (StatusCodesEnum)status;

            if (statusEnum == StatusCodesEnum.LA_OK)
            {
                hasError = false;
                Init();
                return(true);
            }
            else if (status == LexActivator.StatusCodes.LA_EXPIRED)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_SUSPENDED)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_E_REVOKED)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_FAIL)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_E_PRODUCT_ID)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_E_INET)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_E_VM)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_E_TIME)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_E_ACTIVATION_LIMIT)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_E_SERVER)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_E_CLIENT)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_E_LICENSE_KEY)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_E_LICENSE_TYPE)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_E_COUNTRY)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_E_IP)
            {
                hasError = false;
                return(false);
            }
            else if (status == LexActivator.StatusCodes.LA_E_RATE_LIMIT)
            {
                hasError = false;
                return(false);
            }
            else
            {
                hasError = false;
                return(false);
            }
        }
예제 #3
0
        private LicenseInfo GetLicenseInfo()
        {
            lock (licenseInfoLock)
            {
                var licenseInfo = new LicenseInfo();
                int status      = 0;

                try
                {
                    var sbLicenseKey = new StringBuilder(256);
                    status = LexActivator.GetLicenseKey(sbLicenseKey, 256);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    licenseInfo.LicenseKey = sbLicenseKey.ToString();
                }
                catch
                {
                }

                try
                {
                    var sbLicenseUserEmail = new StringBuilder(256);
                    status = LexActivator.GetLicenseUserEmail(sbLicenseUserEmail, 256);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    licenseInfo.LicenseUserEmail = sbLicenseUserEmail.ToString();
                }
                catch
                {
                }

                try
                {
                    var sbLicenseUserName = new StringBuilder(256);
                    status = LexActivator.GetLicenseUserName(sbLicenseUserName, 256);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    licenseInfo.LicenseUserName = sbLicenseUserName.ToString();
                }
                catch
                {
                }

                try
                {
                    var sbMaxAllowedIndexerRoleCount = new StringBuilder(256);
                    status = LexActivator.GetLicenseMetadata("MaxAllowedIndexerRoleCount", sbMaxAllowedIndexerRoleCount, 256);
                    if (status == LexActivator.StatusCodes.LA_OK)
                    {
                        if (int.TryParse(sbMaxAllowedIndexerRoleCount.ToString(), out int dummyMaxAllowedIndexerRoleCount))
                        {
                            licenseInfo.MaxAllowedIndexerRoleCount = dummyMaxAllowedIndexerRoleCount;
                        }
                    }
                }
                catch
                {
                }

                for (int i = 1; i < 33; i++)
                {
                    try
                    {
                        var sbIndexer = new StringBuilder(256);
                        status = LexActivator.GetLicenseMetadata("Indexer" + i.ToString().PadLeft(2, '0'), sbIndexer, 256);
                        if (status == LexActivator.StatusCodes.LA_OK)
                        {
                            licenseInfo.AddIndexer(sbIndexer.ToString());
                        }
                    }
                    catch
                    {
                    }
                }

                try
                {
                    var sbFirstName = new StringBuilder(256);
                    status = LexActivator.GetActivationMetadata("FirstName", sbFirstName, 256);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    licenseInfo.FirstName = sbFirstName.ToString();
                }
                catch
                {
                }

                try
                {
                    var sbLastName = new StringBuilder(256);
                    status = LexActivator.GetActivationMetadata("LastName", sbLastName, 256);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    licenseInfo.LastName = sbLastName.ToString();
                }
                catch
                {
                }

                try
                {
                    var sbEMail = new StringBuilder(256);
                    status = LexActivator.GetActivationMetadata("eMail", sbEMail, 256);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    licenseInfo.EMail = sbEMail.ToString();
                }
                catch
                {
                }

                try
                {
                    var sbOrganization = new StringBuilder(256);
                    status = LexActivator.GetActivationMetadata("Organization", sbOrganization, 256);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    licenseInfo.Organization = sbOrganization.ToString();
                }
                catch
                {
                }

                try
                {
                    uint licenseExpiryDate = 0;
                    status = LexActivator.GetLicenseExpiryDate(ref licenseExpiryDate);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    var expireDate = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
                    var dueDate    = expireDate.AddSeconds(licenseExpiryDate).ToLocalTime();
                    licenseInfo.LicenseExpiryDate = dueDate;
                }
                catch
                {
                }

                return(licenseInfo);
            }
        }
예제 #4
0
        private TrialLicenseInfo GetTrialLicenseInfo()
        {
            lock (trialLicenseInfoLock)
            {
                var trialLicenseInfo = new TrialLicenseInfo();
                int status           = 0;

                try
                {
                    var sbTrialId = new StringBuilder(256);
                    status = LexActivator.GetTrialId(sbTrialId, 256);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    trialLicenseInfo.TrialId = sbTrialId.ToString();
                }
                catch
                {
                }

                try
                {
                    var sbFirstName = new StringBuilder(256);
                    status = LexActivator.GetTrialActivationMetadata("FirstName", sbFirstName, 256);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    trialLicenseInfo.FirstName = sbFirstName.ToString();
                }
                catch
                {
                }

                try
                {
                    var sbLastName = new StringBuilder(256);
                    status = LexActivator.GetTrialActivationMetadata("LastName", sbLastName, 256);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    trialLicenseInfo.LastName = sbLastName.ToString();
                }
                catch
                {
                }

                try
                {
                    var sbEMail = new StringBuilder(256);
                    status = LexActivator.GetTrialActivationMetadata("eMail", sbEMail, 256);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    trialLicenseInfo.EMail = sbEMail.ToString();
                }
                catch
                {
                }

                try
                {
                    var sbOrganization = new StringBuilder(256);
                    status = LexActivator.GetTrialActivationMetadata("Organization", sbOrganization, 256);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    trialLicenseInfo.Organization = sbOrganization.ToString();
                }
                catch
                {
                }

                try
                {
                    var sbIndexer = new StringBuilder(256);
                    status = LexActivator.GetTrialActivationMetadata("Indexer01", sbIndexer, 256);
                    if (status == LexActivator.StatusCodes.LA_OK)
                    {
                        trialLicenseInfo.Indexer01 = sbIndexer.ToString();
                    }
                }
                catch
                {
                }

                try
                {
                    uint trialExpiryDate = 0;
                    status = LexActivator.GetTrialExpiryDate(ref trialExpiryDate);
                    if (status != LexActivator.StatusCodes.LA_OK)
                    {
                        return(null);
                    }
                    var expireDate   = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
                    var TrialDueDate = expireDate.AddSeconds(trialExpiryDate).ToLocalTime();
                    trialLicenseInfo.TrialDueDate = TrialDueDate;
                }
                catch
                {
                }

                return(trialLicenseInfo);
            }
        }