Esempio n. 1
0
 private void btnCheckLic_Click(object sender, EventArgs e)
 {
     if (openFileDialog1.ShowDialog() == DialogResult.OK)
     {
         var      licFile = openFileDialog1.FileName;
         DateTime dt;
         MessageBox.Show(LicenseVerify.IsValid(out dt, licFile, File.ReadAllText(_publicKeyFile)).ToString(), "Check", MessageBoxButtons.OK);
     }
 }
        private bool UpdateLicense2(DbConnect adbConn, LicenseVerify aLicenseVerify, string asSerialHDD)
        {
            int           iResult   = 0;
            string        sLogTanCd = aLicenseVerify.LogTanCd;
            string        sIpAdd    = aLicenseVerify.UserHostAddress;
            string        sNowYmd   = DateTime.Now.ToString("yyyy/MM/dd");
            string        sNowTime  = DateTime.Now.ToString("HH:mm:ss");
            string        sSQL      = "";
            OracleCommand myCmd     = new OracleCommand(sSQL, adbConn.Conn);

            myCmd.BindByName = true;
            int iCnt = (int)myCmd.ExecuteScalar();

            if (GetExistLicense2(adbConn, aLicenseVerify.LicenseKey, aLicenseVerify.ProductCd, asSerialHDD) > 0)
            {
                sSQL = UpdateLicense2SQL();
                myCmd.CommandText = sSQL;
                myCmd.Parameters.Clear();
                myCmd.Parameters.Add("license_key", OracleDbType.Varchar2).Value = aLicenseVerify.LicenseKey;
                myCmd.Parameters.Add("product_cd", OracleDbType.Varchar2).Value  = aLicenseVerify.ProductCd;
                myCmd.Parameters.Add("renban", OracleDbType.Int32).Value         = 1;
                myCmd.Parameters.Add("up_date", OracleDbType.Varchar2).Value     = sNowYmd;
                myCmd.Parameters.Add("up_time", OracleDbType.Varchar2).Value     = sNowTime;
                myCmd.Parameters.Add("up_tan_cd", OracleDbType.Varchar2).Value   = sLogTanCd;
                myCmd.Parameters.Add("up_ip_add", OracleDbType.Varchar2).Value   = sIpAdd;
                myCmd.Parameters.Add("serial_hdd", OracleDbType.Varchar2).Value  = asSerialHDD;
            }
            else
            {
                sSQL = InsertLicense2SQL();
                myCmd.CommandText = sSQL;
                myCmd.Parameters.Clear();
                myCmd.Parameters.Add("license_key", OracleDbType.Varchar2).Value = aLicenseVerify.LicenseKey;
                myCmd.Parameters.Add("product_cd", OracleDbType.Varchar2).Value  = aLicenseVerify.ProductCd;
                myCmd.Parameters.Add("renban", OracleDbType.Int32).Value         = 1;
                myCmd.Parameters.Add("in_date", OracleDbType.Varchar2).Value     = sNowYmd;
                myCmd.Parameters.Add("in_time", OracleDbType.Varchar2).Value     = sNowTime;
                myCmd.Parameters.Add("in_tan_cd", OracleDbType.Varchar2).Value   = sLogTanCd;
                myCmd.Parameters.Add("in_ip_add", OracleDbType.Varchar2).Value   = sIpAdd;
                myCmd.Parameters.Add("up_date", OracleDbType.Varchar2).Value     = sNowYmd;
                myCmd.Parameters.Add("up_time", OracleDbType.Varchar2).Value     = sNowTime;
                myCmd.Parameters.Add("up_tan_cd", OracleDbType.Varchar2).Value   = sLogTanCd;
                myCmd.Parameters.Add("up_ip_add", OracleDbType.Varchar2).Value   = sIpAdd;
                myCmd.Parameters.Add("serial_hdd", OracleDbType.Varchar2).Value  = asSerialHDD;
            }

            iResult = myCmd.ExecuteNonQuery();
            return(iResult > 0);
        }
        private void UpdateLicense(DbConnect adbConn, LicenseVerify aLicenseVerify, string asSerialHDD)
        {
            switch (_licenseMode)
            {
            case LicenseMode.OnlyOneHDD:
                UpdateLicense1(adbConn, aLicenseVerify, asSerialHDD);
                break;

            case LicenseMode.LimitCountHDD:
                UpdateLicense2(adbConn, aLicenseVerify, asSerialHDD);
                break;

            case LicenseMode.ByCompany:
                break;

            default:
                break;
            }
        }
Esempio n. 4
0
        private void btnAbout_Click(object sender, EventArgs e)
        {
            DateTime dt = DateTime.MinValue;

            bool isValid = false;

            if (File.Exists(_licenseFile) && File.Exists(_publicKeyFile))
            {
                isValid = LicenseVerify.IsValid(out dt, _licenseFile, File.ReadAllText(_publicKeyFile));
            }
            if (isValid)
            {
                lblLicenseCheckResult.Text      = $"License is OK till {dt.ToString()}";
                lblLicenseCheckResult.ForeColor = Color.Green;
            }
            else
            {
                lblLicenseCheckResult.Text      = "Not Licensed!!!";
                lblLicenseCheckResult.ForeColor = Color.Red;
            }
        }
        public bool RegisterLicense(DbConnect adbConn, LicenseVerify aLicenseVerify, string asSerialHDD)
        {
            bool bResult = false;

            switch (LicenseMode)
            {
            case LicenseMode.OnlyOneHDD:
                aLicenseVerify.LicenseKey = CreateKey(aLicenseVerify.ProductKey + asSerialHDD);
                if (CheckSameKey(adbConn, aLicenseVerify.LicenseKey, aLicenseVerify.ProductCd))
                {
                    bResult = true;
                }
                else
                {
                    throw new LicenseException("Khóa không hợp lệ!");
                }
                break;

            case LicenseMode.LimitCountHDD:
                aLicenseVerify.LicenseKey = CreateKey(aLicenseVerify.ProductKey);
                if (CheckSameKey(adbConn, aLicenseVerify.LicenseKey, aLicenseVerify.ProductCd))
                {
                    int iCntLic = GetExistLicense1(adbConn, aLicenseVerify.LicenseKey, aLicenseVerify.ProductCd);
                    if (iCntLic == 0)
                    {
                        bResult = true;
                    }
                    else
                    {
                        int iMaxLic = GetMaxLicense(adbConn, aLicenseVerify.LicenseKey, aLicenseVerify.ProductCd);
                        if (iCntLic <= iMaxLic)
                        {
                            int iCntLicHDD = GetExistLicense2(adbConn, aLicenseVerify.LicenseKey, aLicenseVerify.ProductCd, asSerialHDD);
                            if (iCntLic == iMaxLic && iCntLicHDD > 0)
                            {
                                bResult = true;
                            }
                            else
                            {
                                throw new LicenseException("Quá giới hạn đăng ký.");
                            }
                        }
                        else
                        {
                            throw new LicenseException("Quá giới hạn đăng ký.");
                        }
                    }
                }
                else
                {
                    throw new LicenseException("Khóa không hợp lệ!");
                }
                break;

            case LicenseMode.ByCompany:
                break;

            default:
                break;
            }

            if (bResult)
            {
                UpdateLicense(adbConn, aLicenseVerify, asSerialHDD);
            }
            return(bResult);
        }