/// <summary>
 /// 회사코드가 변경된 경우는 db재설치를 한경우
 /// 신규이거나 변경사항 없으면 패스
 /// 등록한 라이센스파일을 C:\eclues\AppData\config로 복사. 
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ButtonNext_Click(object sender, EventArgs e)
 {
     ctrl.KeepPrevConfig = CkBoxKeepConfig.Checked;
     if (ctrl.CompanyCd != "" && !ctrl.CompanyCd.Equals(companyCd))
     {
         if (MessageBox.Show(string.Format("이전에 사용하던 회사코드({0})와 다른 회사코드({1})가 적용되었습니다. "
                                         + "\n회사코드를 변경하시겠습니까?"
                                          , ctrl.CompanyCd
                                          , companyCd)
                             , "회사코드 변경"
                             , MessageBoxButtons.OKCancel) == DialogResult.Cancel)
         {
             DialogResult = DialogResult.None;
             ButtonLicenseFile.Focus();
             return;
         }
     }
     ctrl.CompanyCd = companyCd;
     ctrl.CompanyName = companyName;
     ctrl.MsgrPort = Convert.ToInt16(TextBoxMsgrPort.Text);
     ctrl.CrmPort = Convert.ToInt16(TextBoxCrmPort.Text);
     FileInfo info = new FileInfo(LabelLicenseFile.Text);
     LicenseHandler handler = new LicenseHandler(info);
     handler.BackupLicenseFile(ConstDef.APP_DATA_CONFIG_DIR);
     
 }
Exemple #2
0
        /// <summary>
        /// 파일에서 라이센스정보를 읽어, 유효성검사를 한다.
        /// </summary>
        private void registerLicenseInfo()
        {
            try
            {
                LogWrite("라이선스 체크중.....");
                mLicenseHandler = new LicenseHandler(ConstDef.APP_DATA_CONFIG_DIR);
                mLicenseHandler.LogWriteHandler += this.OnLogWrite;
                //파일읽음&라이센스값 decode
                if (mLicenseHandler.ReadLicense())
                {

                    stringDele dele = new stringDele(disposeLicenseResult);
                    Invoke(dele, mLicenseHandler.ResultMessage);
                }
            }
            catch (Exception ex)
            {
                LogWrite(ex.ToString());
            }
        }
        private void ButtonLicenseFile_Click(object sender, EventArgs e)
        {
            OpenFileDialog fileDialog = new System.Windows.Forms.OpenFileDialog();
            if (!Directory.Exists(ConstDef.APP_DATA_CONFIG_DIR))
            {
                fileDialog.InitialDirectory = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            }
            else
            {
                fileDialog.InitialDirectory = ConstDef.APP_DATA_CONFIG_DIR;
            }
            fileDialog.DefaultExt = "ini";
            fileDialog.RestoreDirectory = true;
            fileDialog.Filter = "WeDo License 파일|*.ini";
            fileDialog.SupportMultiDottedExtensions = true;

            if (Utils.STAShowDialog(fileDialog) == DialogResult.OK)
            {
                Initialize();
                LabelLicenseFile.Text = fileDialog.FileName;
                FileInfo info = new FileInfo(LabelLicenseFile.Text);
                LicenseHandler handler = new LicenseHandler(info);
                handler.LogWriteHandler += OnStatusWrite;

                handler.ReadLicense();

                companyCd = handler.CompanyCode;
                companyName = handler.CompanyName;
                LabelCompanyCd.Text = string.Format("{0}({1})", companyName, companyCd);

                if (ctrl.NeedDbReinstall(handler.CompanyCode))
                {
                    ButtonDBReinstall.Enabled = true;
                    SetLicenseCheck(false);
                    LabelWarning.Text = string.Format("라이센스파일의 회사코드[{0}]가 기존 회사코드[{1}]와 다릅니다.\n"
                        +" 새로운 회사코드를 쓰려면 DB를 재설치해야 합니다."
                        , handler.CompanyCode, ctrl.CompanyCd);

                } else {
                    ButtonDBReinstall.Enabled = false;

                    if (handler.ValidLicense())
                    {
                        SetLicenseCheck(true);
                        LabelWarning.Text = "라이센스파일이 유효합니다.";
                    }
                    else
                    {
                        SetLicenseCheck(false); 

                        LabelWarning.Text = "라이센스파일 검증에 실패했습니다. 파일유효성을 확인하세요.\n";

                        int resultCode = Convert.ToInt16(handler.ResultMessage.Split('&')[0]);
                        if (resultCode == (int)LicenseResult.ERR_EXPIRED)
                        {
                            LabelWarning.Text += "License 만료일자 지남.";
                        }
                        else if (resultCode == (int)LicenseResult.ERR_INVALID_FILE)
                        {
                            LabelWarning.Text += "잘못된 등록일자, 회사코드/명 또는 라이센스키.";
                        }
                        else if (resultCode == (int)LicenseResult.ERR_MAC_ADDR)
                        {
                            LabelWarning.Text += string.Format("License file 잘못된 mac address값.실제 mac address[{0}]", handler.MacAddress);
                        }
                    }
                }

            }
            fileDialog.Dispose();
        }