Beispiel #1
0
        /// <summary>
        /// 切换房间状态
        /// </summary>
        private void runChange()
        {
            DateTime startRun = DateTime.Now;

            try
            {
                string id = "";
                Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate()
                {
                    id = this.id.Text;
                });
                while (id == "")
                {
                    ;
                }
                // 写个 JB 睡觉
                if (_isOpen)
                {
                    Log.AddLog("N2", "正在修改房间状态……(关闭)");
                    // 关
                    string back = HttpUitls.Post(apiURL + "/api/user/closeRoom", "{ \"id\": \"" + id + "\" }", "DEFAULT", "Cookie",
                                                 "Authorization=" + Features.Reg.GetRegKey(Registry.CurrentUser, @"SOFTWARE\SSTeam\SS-Tool-Box", "N2Token"));
                    if (JObject.Parse(back)["status"].ToString() == "0")
                    {
                        _isOpen = false;
                        N2Tools.hasOpendRoom = false;
                        Log.AddLog("N2", "切换完成,耗时:" + DateTime.Now.Subtract(startRun).TotalSeconds + "秒");
                        Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate()
                        {
                            change.Visibility     = Visibility.Visible;
                            wait.Visibility       = Visibility.Collapsed;
                            opentext.Text         = "开启房间";
                            openbutton.Background = closeBg;
                            icon.Data             = Geometry.Parse(runIcon);
                        });
                        return;
                    }
                    else
                    {
                        UI.ToastHelper.Add("处理失败:" + JObject.Parse(back)["status"].ToString());
                        Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate()
                        {
                            change.Visibility = Visibility.Visible;
                            wait.Visibility   = Visibility.Collapsed;
                        });
                        return;
                    }
                }
                else
                {
                    Log.AddLog("N2", "正在修改房间状态……(打开)");
                    // 开
                    string back = HttpUitls.Post(apiURL + "/api/user/openRoom", "{ \"id\": \"" + id + "\" }", "DEFAULT", "Cookie",
                                                 "Authorization=" + Features.Reg.GetRegKey(Registry.CurrentUser, @"SOFTWARE\SSTeam\SS-Tool-Box", "N2Token"));
                    if (JObject.Parse(back)["status"].ToString() == "0")
                    {
                        _isOpen = true;
                        N2Tools.hasOpendRoom = true;
                        Log.AddLog("N2", "切换完成,耗时:" + DateTime.Now.Subtract(startRun).TotalSeconds + "秒");
                        Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate()
                        {
                            change.Visibility     = Visibility.Visible;
                            wait.Visibility       = Visibility.Collapsed;
                            opentext.Text         = "关闭房间";
                            openbutton.Background = openBg;
                            icon.Data             = Geometry.Parse(stopIcon);

                            N2Tools.openRoomID = this.id.Text;
                        });
                        return;
                    }
                    else
                    {
                        UI.ToastHelper.Add("处理失败:" + JObject.Parse(back)["status"].ToString());
                        Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate()
                        {
                            change.Visibility = Visibility.Visible;
                            wait.Visibility   = Visibility.Collapsed;
                        });
                        return;
                    }
                }
            }
            catch (Exception e)
            {
                UI.ToastHelper.Add("处理失败:" + e.Message);
                Log.AddErr("N2", "切换房间状态失败:" + e.ToString());
                Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate()
                {
                    change.Visibility = Visibility.Visible;
                    wait.Visibility   = Visibility.Collapsed;
                });
            }
        }