private void btnZKModuleLoad_Click(object sender, RoutedEventArgs e) { btnZKModuleLoad.IsEnabled = false; string vkKeyPath = SettingsConfig.Default.VkKeyPath; string pkKeyPath = SettingsConfig.Default.PkKeyPath; vkKeyPath = System.IO.Path.GetFullPath(vkKeyPath); pkKeyPath = System.IO.Path.GetFullPath(pkKeyPath); if (StaticUtils.CheckZKSnarksKeyStatus() == 0) { Task.Run(() => { int ret; if (vkKeyState == KeyState.Loaded) { ret = 1; this.Dispatcher.BeginInvoke(new Action(() => { zkModuleState = KeyState.Loading; ShowZkModuleState(zkModuleState); })); } else { try { this.Dispatcher.BeginInvoke(new Action(() => { StaticUtils.ShowMessageBox(StaticUtils.BlueBrush, StringTable.GetInstance().GetString("STR_SUCCESS_LOADING_VERIFYKEY", iLang)); vkKeyState = KeyState.Loading; ShowVkKeyState(vkKeyState); zkModuleState = KeyState.Loading; ShowZkModuleState(zkModuleState); })); ret = SnarkDllApi.Snark_DllInit(1, vkKeyPath.ToArray(), pkKeyPath.ToArray()); } catch (Exception ex) { ret = -1; } } if (ret > 0) { this.Dispatcher.BeginInvoke(new Action(() => { StaticUtils.ShowMessageBox(StaticUtils.GreenBrush, StringTable.GetInstance().GetString("STR_SUCCESS_LOADED_VERIFYKEY", iLang)); vkKeyState = KeyState.Loaded; Constant.isLoadedVK = true; ShowVkKeyState(vkKeyState); })); vkKeyPath = SettingsConfig.Default.VkKeyPath; pkKeyPath = SettingsConfig.Default.PkKeyPath; vkKeyPath = System.IO.Path.GetFullPath(vkKeyPath); pkKeyPath = System.IO.Path.GetFullPath(pkKeyPath); try { this.Dispatcher.BeginInvoke(new Action(() => { StaticUtils.ShowMessageBox(StaticUtils.BlueBrush, StringTable.GetInstance().GetString("STR_BEGIN_LOADING_PUBLICKEY", iLang)); pkKeyState = KeyState.Loading; ShowPkKeyState(pkKeyState); LoadKeyTaskMessage taskMessage = new LoadKeyTaskMessage(StringTable.GetInstance().GetString("STR_TASK_MESSAGE_PK_KEY_LOAD_START", iLang), DateTime.Now); Constant.TaskMessages.Add(taskMessage); TaskChangedEvent?.Invoke(this, taskMessage); })); ret = SnarkDllApi.Snark_DllInit(2, vkKeyPath.ToArray(), pkKeyPath.ToArray()); } catch (Exception) { ret = -1; } if (ret > 0) { this.Dispatcher.BeginInvoke(new Action(() => { StaticUtils.ShowMessageBox(StaticUtils.GreenBrush, StringTable.GetInstance().GetString("STR_SUCCESS_LOADED_PUBLICKEY", iLang)); pkKeyState = KeyState.Loaded; ShowPkKeyState(pkKeyState); Constant.isLoadedPK = true; zkModuleState = KeyState.Loaded; ShowZkModuleState(zkModuleState); Constant.bSnarksParamLoaded = true; LoadKeyTaskMessage taskMessage = new LoadKeyTaskMessage(StringTable.GetInstance().GetString("STR_TASK_MESSAGE_PK_KEY_LOAD_FINISHED", iLang), DateTime.Now); Constant.TaskMessages.Add(taskMessage); TaskChangedEvent?.Invoke(this, taskMessage); btnZKModuleLoad.IsEnabled = false; })); } else { this.Dispatcher.BeginInvoke(new Action(() => { StaticUtils.ShowMessageBox(StaticUtils.ErrorBrush, StringTable.GetInstance().GetString("STR_ERR_LOADING_PUBLICKEY", iLang)); pkKeyState = KeyState.Downloaded; ShowPkKeyState(pkKeyState); zkModuleState = KeyState.Downloaded; ShowZkModuleState(zkModuleState); LoadKeyTaskMessage taskMessage = new LoadKeyTaskMessage(StringTable.GetInstance().GetString("STR_TASK_MESSAGE_PK_KEY_LOAD_FAILED", iLang), DateTime.Now, TaskColor.Red); Constant.TaskMessages.Add(taskMessage); TaskChangedEvent?.Invoke(this, taskMessage); btnZKModuleLoad.IsEnabled = true; })); } } else { this.Dispatcher.BeginInvoke(new Action(() => { StaticUtils.ShowMessageBox(StaticUtils.GreenBrush, StringTable.GetInstance().GetString("STR_ERR_LOADING_VERIFYKEY", iLang)); vkKeyState = KeyState.Downloaded; ShowVkKeyState(vkKeyState); zkModuleState = KeyState.Downloaded; ShowZkModuleState(zkModuleState); btnZKModuleLoad.IsEnabled = true; })); } }); } }
protected virtual void OnTaskChanged(ClientResponse e) { TaskChangedEvent?.Invoke(this, e); }