Example #1
0
        //private void DoAutoLogin()
        //{
        //    Framework.Container.Instance.EvtAggregator.GetEvent<AnalyseMessageEvent>().Publish(new Tuple<uint, string>(11, "开始自动连接服务器请等待...."));

        //    System.Threading.Thread.Sleep(5000);
        //    lock (this)
        //    {
        //        while (true)
        //        {
        //            DataModel.ConnectionParam ip = Framework.Environment.IPList.GetNext();
        //            if (ip == null)
        //            {
        //                Framework.Container.Instance.EvtAggregator.GetEvent<AnalyseMessageEvent>().Publish(new Tuple<uint, string>(11, "无可用服务器资源."));
        //                break;
        //            }
        //            int ret = AutoLogin(ip);
        //            if (ret == 1 || ret == 2)
        //                break;
        //            else
        //                System.Threading.Thread.Sleep(5000);
        //        }
        //    }
        //}

        ///// <summary>
        ///// modify by shenbin 20160217,change return bool to int
        ///// </summary>
        ///// <param name="connparam">1 ok,2 server in use, 3 anlyse error ,4 other error</param>
        ///// <returns></returns>
        //private int  AutoLogin(DataModel.ConnectionParam connparam)
        //{
        //    //if (InvokeRequired)
        //    //{
        //    //    return Convert.ToBoolean(this.Invoke(new Func<DataModel.ConnectionParam, bool>(AutoLogin),connparam));
        //    //}
        //    //else
        //    {
        //        int ret = 0;
        //        Assembly asm = Assembly.GetExecutingAssembly();

        //        //string configFile = Path.Combine(Directory.GetParent(asm.Location).FullName, "OCXLogin.xml");
        //        //if (System.IO.File.Exists(configFile))
        //        {
        //            /*
        //            <Login>
        //            <IP>192.168.42.209</IP>
        //            <Port>8002</Port>
        //            <LocalPort>4096</LocalPort>
        //            <User>root</User>
        //            <Pass>123456</Pass>
        //            </Login>
        //             */
        //            try
        //            {

        //                //XmlDocument doc = new XmlDocument();
        //                //doc.Load(configFile);
        //                //string ip = doc.SelectSingleNode("//IP").InnerText;
        //                //uint port = Convert.ToUInt32(doc.SelectSingleNode("//Port").InnerText);
        //                //uint localport = Convert.ToUInt32(doc.SelectSingleNode("//LocalPort").InnerText);
        //                //string user = doc.SelectSingleNode("//User").InnerText;
        //                //string pass = doc.SelectSingleNode("//Pass").InnerText;
        //                string ip = connparam.IPAddress;
        //                uint port = (uint)connparam.Port;
        //                //uint localport = (uint)connparam.LocalServerPort;
        //                string user = connparam.DeviceNo;
        //                string pass = connparam.DeviceNo;
        //                ViewModels.LoginViewModel vm = new ViewModels.LoginViewModel();
        //                vm.ServerIP = ip;
        //                vm.ServerPort = port;
        //                //vm.LocalPort = localport;
        //                vm.UserName = user;
        //                vm.Password = pass;
        //                vm.RememberPassword = false;
        //                vm.CustomPortSettings = true;

        //                Framework.Container.Instance.TaskManager.Init();
        //                if (vm.Commit())
        //                {

        //                    System.Threading.Thread.Sleep(1000);
        //                    if (!Framework.Container.Instance.TaskManager.Initialized)
        //                        return 2;

        //                    if (Framework.Environment.LoggedinToken != null)
        //                    {
        //                        SetButtonEnable(btnLogin, false);
        //                        //barStatusLogin.Caption = string.Format("登录服务器: {0}", Framework.Environment.LoggedinToken.ServerIP);
        //                        //barStatusAnalyse.Caption = string.Format("");
        //                        if (Framework.Environment.ManualRevise && File.Exists(Framework.Environment.ManualReviseFile))
        //                        {
        //                            Framework.Container.Instance.TaskManager.Revisor = new AnalyseResultReviseFromTxtFile(Framework.Environment.ManualReviseFile);
        //                            Framework.Container.Instance.TaskManager.Revisor.ReviseByFile = Framework.Environment.ManualReviseByFile;
        //                        }

        //                        Framework.Container.Instance.EvtAggregator.GetEvent<UserLoginEvent>().Publish(Framework.Environment.LoggedinToken);
        //                    }


        //                    //if (!Framework.Container.Instance.ImageAnalysisService.Running)
        //                    //{
        //                    //    if (Framework.Container.Instance.ImageAnalysisService.Start())
        //                    //    {
        //                    //        Framework.Container.Instance.TaskManager.Connected = true;
        //                    //        Framework.Container.Instance.TaskManager.Running = true;
        //                    //    }
        //                    //    else
        //                    //    {
        //                    //        Framework.Container.Instance.InteractionService.ShowMessageBox("开始分析失败",
        //                    //            Framework.Environment.PROGRAM_NAME,
        //                    //            MessageBoxButtons.OK, MessageBoxIcon.Warning);
        //                    //        Framework.Container.Instance.EvtAggregator.GetEvent<AnalyseMessageEvent>().Publish(new Tuple<uint, string>(11, "开始分析失败"));
        //                    //        return 3;
        //                    //    }
        //                    //}
        //                    //else
        //                    //{
        //                    //    Framework.Container.Instance.TaskManager.Running = true;
        //                    //}

        //                    Framework.Container.Instance.EvtAggregator.GetEvent<AnalyseMessageEvent>().Publish(new Tuple<uint, string>(11, "开始分析 ..."));

        //                    ret = 1;
        //                }
        //            }
        //            catch
        //            {
        //                return 4;
        //            }

        //        }
        //        return ret;
        //    }
        //}


        private void SetButtonEnable(SimpleButton bt, bool enable)
        {
            if (bt.InvokeRequired)
            {
                bt.Invoke(new Action <SimpleButton, bool>(SetButtonEnable), bt, enable);
            }
            else
            {
                bt.Enabled = enable;
            }
        }