Пример #1
0
        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;
                        }));
                    }
                });
            }
        }
Пример #2
0
 protected virtual void OnTaskChanged(ClientResponse e)
 {
     TaskChangedEvent?.Invoke(this, e);
 }