Beispiel #1
0
        private void BatchButton_MouseUp(object sender, MouseButtonEventArgs e)
        {
            // 批次列表显示
            StackPanel  bacthPanel  = (StackPanel)sender;
            StackPanel  bacthPanel1 = (StackPanel)bacthPanel.Parent;
            StackPanel  bacthPanel2 = (StackPanel)bacthPanel1.Parent;
            StackPanel  bacthPanel3 = (StackPanel)bacthPanel2.Parent;
            ListBoxItem item        = (ListBoxItem)bacthPanel3.Parent;
            int         corpId      = Convert.ToInt32(item.Tag);
            //MessageBox.Show("==Tag==" + corpId);
            StackPanel panel  = (StackPanel)item.FindName("sp00");
            Image      Arrow2 = (Image)item.FindName("Arrow2");
            Image      Arrow1 = (Image)item.FindName("Arrow1");

            if (panel.Visibility == Visibility.Collapsed)
            {
                panel.Visibility  = Visibility.Visible;
                Arrow2.Visibility = Visibility.Visible;
                Arrow1.Visibility = Visibility.Collapsed;
                DataGrid grid = (DataGrid)item.FindName("DetailGrid");
                if (corpId != null)
                {
                    BatchService ser = new BatchService();
                    //DataTable dt = ser.queryBatchRecord(corpId);
                    grid.ItemsSource = dt.DefaultView;
                }
            }
            else
            {
                panel.Visibility  = Visibility.Collapsed;
                Arrow1.Visibility = Visibility.Visible;
                Arrow2.Visibility = Visibility.Collapsed;
            }
        }
Beispiel #2
0
        public void ShowAddressInfo(ThinNeo.NEP6.NEP6Wallet nep6wallet, string password)
        {
            var wifs     = new List <string>();
            var demoItem = this.listboxDemo.Items[0] as ListBoxItem;

            for (var i = 0; i < nep6wallet.accounts.Count; i++)
            {
                var v = nep6wallet.accounts.ToList()[i];
                ThinNeo.NEP6.NEP6Account acc = v.Value as ThinNeo.NEP6.NEP6Account;
                if (acc == null)
                {
                    return;
                }
                if (acc.nep2key == null)
                {
                    return;
                }

                string      xaml          = System.Windows.Markup.XamlWriter.Save(demoItem);
                ListBoxItem item          = System.Windows.Markup.XamlReader.Parse(xaml) as ListBoxItem;
                var         label_address = item.FindName("address") as Label;
                var         label_index   = item.FindName("index") as Label;
                var         img_state     = item.FindName("img_state") as Image;
                var         label_state   = item.FindName("label_state") as Label;

                try
                {
                    var prikey = acc.GetPrivate(nep6wallet.scrypt, password);
                    var wif    = NeoDun.SignTool.GetWifFromPrivateKey(prikey);
                    wifs.Add(wif);
                    label_address.Content  = ThinNeo.Helper.GetAddressFromScriptHash(acc.ScriptHash);
                    label_index.Content    = (i + 1).ToString("00");
                    label_state.Content    = "等待中";
                    label_state.Foreground = new SolidColorBrush(Color.FromRgb(191, 191, 191));
                    img_state.Visibility   = Visibility.Hidden;
                    this.listbox.Items.Add(item);
                }
                catch
                {
                    label_address.Content  = "密码和地址不匹配,数据错误";
                    label_index.Content    = (i + 1).ToString("00");
                    label_state.Visibility = Visibility.Hidden;
                    img_state.Visibility   = Visibility.Hidden;
                    this.listbox.Items.Add(item);
                }
            }
            AddAddress(wifs);
        }
        //获取下位机地址数据
        private async void GetAddressList()
        {
            this.listbox.Items.Clear();
            Result result = await ManagerControl.Ins.ToDo(EnumControl.GetAddress);

            if (result.msgCode != EnumMsgCode.GetAddressSuc)
            {
                return;
            }
            var address  = (System.Collections.Concurrent.ConcurrentBag <NeoDun.Address>)result.data;
            var demoItem = this.listboxDemo.Items[0] as ListBoxItem;

            for (var i = 0; i < address.Count; i++)
            {
                string      xaml          = System.Windows.Markup.XamlWriter.Save(demoItem);
                ListBoxItem item          = System.Windows.Markup.XamlReader.Parse(xaml) as ListBoxItem;
                var         add           = address.ToList()[i];
                var         label_address = item.FindName("address") as Label;
                var         label_index   = item.FindName("index") as Label;
                var         label_name    = item.FindName("name") as TextBox;
                var         label_type    = item.FindName("type") as Label;
                var         btn_copy      = item.FindName("copy") as Button;
                var         btn_delete    = item.FindName("delete") as Button;
                var         btn_setName   = item.FindName("setName") as Button;
                label_address.Content = add.AddressText;

                if (!string.IsNullOrEmpty(add.name))
                {
                    label_name.Text = add.name;
                }
                label_type.Content   = add.type;
                label_index.Content  = (i + 1).ToString("00");
                label_name.GotFocus += Actrion_GotFocus;
                btn_setName.Click   += Click_SetName;
                btn_copy.Click      += Click_Copy;
                btn_delete.Click    += Click_Delete;
                this.listbox.Items.Add(item);
            }
            if (address.Count == 0)
            {
                this.noWallet.Visibility = Visibility.Visible;
            }
            this.gif_loading.Visibility = Visibility.Hidden;
        }
Beispiel #4
0
 /// <summary>
 /// Ищем элемент по имени
 /// </summary>
 /// <param name="sender">Передаем строку ListBox</param>
 /// <param name="name">Передаем имя искомого элемента</param>
 /// <returns>Возвращаем элемент</returns>
 private Run FindRun(ListBoxItem sender, string name)
 {
     try
     {
         object wantedNode = sender.FindName(name);
         if (wantedNode is Run)
         {
             return(wantedNode as Run);
         }
         else
         {
             return(null);
         }
     }
     catch (Exception ex)
     {
         Task.Factory.StartNew(() => Debugging.Save("General.xaml", "FindRun()", "Find name: " + name, ex.Message, ex.StackTrace));
         return(null);
     }
 }
Beispiel #5
0
        //獲取下位機的固件和插件的版本信息
        private async void GetPackageInfo()
        {
            ForbidAllBtnClick();

            byte[] postdata;
            //从服务器获取固件和插件的版本信息
            var url = HttpHelper.MakeRpcUrlPost("https://apiaggr.nel.group/api/testnet", "getneodunversion", out postdata);
            var res = await HttpHelper.HttpPost(url, postdata);

            var json = MyJson.Parse(res).AsDict()["result"].AsList();

            servicePackageInfo = new MyJson.JsonNode_Object();
            for (var i = 0; i < json.Count; i++)
            {
                servicePackageInfo[json[i].AsDict()["Name"].AsString()] = new MyJson.JsonNode_ValueString(json[i].AsDict()["Version"].AsString());
            }

            //获取固件插件版本号
            //MyJson.JsonNode_Object JA_PackageInfo = await driverControl.GetPackageInfo();
            Result result = await ManagerControl.Ins.ToDo(EnumControl.GetPackage);

            MyJson.JsonNode_Object JA_PackageInfo = (MyJson.JsonNode_Object)result.data;

            if (JA_PackageInfo != null && JA_PackageInfo.Count > 0)
            {
                this.label_FrameworkVersion.Content = "Framework " + JA_PackageInfo["Framework"].ToString();
                double nowgjversion = double.Parse(JA_PackageInfo["Framework"].ToString());
                //如果下位机固件版本低于服务器版本就显示升级按钮
                if (nowgjversion < double.Parse(servicePackageInfo["Framework"].ToString()))
                {
                    this.Btn_Framework_update.Visibility = Visibility.Visible;
                }
                else
                {
                    this.Btn_Framework_update.Visibility = Visibility.Hidden;
                }


                this.listbox.Items.Clear();

                //现在只有neo 先这么搞
                //初始化 neo的boxlist
                var         demoItem      = this.listboxDemo.Items[0] as ListBoxItem;
                string      xaml          = System.Windows.Markup.XamlWriter.Save(demoItem);
                ListBoxItem item          = System.Windows.Markup.XamlReader.Parse(xaml) as ListBoxItem;
                var         img_icon      = item.FindName("img_icon") as Image;
                var         label_version = item.FindName("label_version") as Label;
                label_version.Content = "Neo 0.00";

                var btn_install = item.FindName("btn_install") as Button;
                btn_install.Click += new RoutedEventHandler(Click_Install);
                if (this.FindName("Neo_" + btn_install.Name) != null)
                {
                    this.UnregisterName("Neo_" + btn_install.Name);
                }
                this.RegisterName("Neo_" + btn_install.Name, btn_install);
                btn_install.Visibility = Visibility.Visible;
                this.list_btns.Add(btn_install);

                var btn_uninstall = item.FindName("btn_uninstall") as Button;
                btn_uninstall.Click += new RoutedEventHandler(Click_Uninstall);
                if (this.FindName("Neo_" + btn_uninstall.Name) != null)
                {
                    this.UnregisterName("Neo_" + btn_uninstall.Name);
                }
                this.RegisterName("Neo_" + btn_uninstall.Name, btn_uninstall);
                btn_uninstall.Visibility = Visibility.Collapsed;
                this.list_btns.Add(btn_uninstall);

                var btn_update = item.FindName("btn_update") as Button;
                btn_update.Click += new RoutedEventHandler(Click_Install);
                if (this.FindName("Neo_" + btn_update.Name) != null)
                {
                    this.UnregisterName("Neo_" + btn_update.Name);
                }
                this.RegisterName("Neo_" + btn_update.Name, btn_update);
                btn_update.Visibility = Visibility.Collapsed;
                this.list_btns.Add(btn_update);

                var git_loading = item.FindName("gif_loading") as Image;
                if (this.FindName("Neo_" + git_loading.Name) != null)
                {
                    this.UnregisterName("Neo_" + git_loading.Name);
                }
                this.RegisterName("Neo_" + git_loading.Name, git_loading);
                git_loading.Visibility = Visibility.Collapsed;

                if (JA_PackageInfo.ContainsKey("Neo"))
                {
                    var verson = float.Parse(JA_PackageInfo["Neo"].ToString());
                    label_version.Content = "Neo " + verson.ToString("0.00");
                    if (verson < double.Parse(servicePackageInfo["Neo"].ToString()))
                    {
                        btn_update.Visibility    = Visibility.Visible;
                        btn_update.Margin        = new Thickness(-160, 10, 0, 0);
                        btn_uninstall.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        btn_uninstall.Visibility = Visibility.Visible;
                        btn_update.Visibility    = Visibility.Hidden;
                    }
                    btn_install.Visibility = Visibility.Hidden;
                }
                else
                {
                    label_version.Content  = "Neo 未安装";
                    btn_install.Visibility = Visibility.Visible;
                }
                this.listbox.Items.Add(item);
            }
            else
            {
                this.Btn_Framework_update.Visibility = Visibility.Hidden;
            }
            Result addressList = await ManagerControl.Ins.ToDo(EnumControl.GetAddress);

            AllowAllBtnClick();
        }