Пример #1
0
        private void btnUninstall_Click(object sender, RoutedEventArgs e)
        {
            string apkfile = $"{Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)}\\AppDatas\\" + FilterSpecial(DelChinese(((Button)sender).Content.ToString()).Trim()).Trim();

            if (_runningGroupIndex == -1)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Error_Please_Launch_A_Vm", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            for (int i = 0; i < VmManager.Instance.Column; i++)
            {
                int vmIndex = VmManager.Instance.VmIndexArray[_runningGroupIndex, i];

                if (vmIndex != -1)
                {
                    int id = ProcessUtils.AdbUnInstallApp(vmIndex, apkfile);
                    Thread.Sleep(200);
                }
            }

            ((Button)e.Source).Click  += btnInstall_Click;
            ((Button)e.Source).Click  -= btnUninstall_Click;
            ((Button)e.Source).Content = SystemLanguageManager.Instance.ResourceManager.GetString("Install", SystemLanguageManager.Instance.CultureInfo) + " " + ((InstallButton)e.Source).FileName;
        }
Пример #2
0
    public override IEnumerator ExecuteAsCoroutine()
    {
        Button btn = (Button)this.gameObject.GetComponent(typeof(Button));

        btn.interactable = false;
        if (Login.text.Length < 3 || Login.text.Length > 30)
        {
            MessageDialogManager.ShowDialog("Por favor, preencha seu login!");
            EventSystem.current.SetSelectedGameObject(Login.gameObject);
            btn.interactable = true;
            yield break;
        }
        if (Password.text.Length < 5)
        {
            MessageDialogManager.ShowDialog("Por favor, digite sua senha!");
            EventSystem.current.SetSelectedGameObject(Password.gameObject);
            btn.interactable = true;
            yield break;
        }
        yield return(StartCoroutine(server.Login(Login.text, Password.text, HttpMethodType.Get)));

        if (ServerManager.LoggedUserID > 0)
        {
            UserPanel.Login();
            UserPanel.instance.Show();
            SpeedClickDirector.instance.ShowScreenByType(Screens.MainScreen);
        }
        btn.interactable = true;
    }
Пример #3
0
        private async void btnDeleteAll_Click(object sender, RoutedEventArgs e)
        {
            var target = GetTargetMobileIndexs();

            if (!target.Item1)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Select_Vm", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            foreach (var index in target.Item2)
            {
                if (_mobilePictures.Keys.Contains(index))
                {
                    string[] mobilePics           = _mobilePictures[index];
                    bool     deletePicturesResult = await SimulationTaskWrapper.DeletePictures(index, mobilePics);

                    Console.WriteLine($"delete pictures result:{deletePicturesResult}");
                }
                else
                {
                    string mobileId = DeviceConnectionManager.Instance.GetDeviceNameByMobileIndex(index);
                    ProcessUtils.DeleteAllPictures(mobileId);
                }
            }
        }
Пример #4
0
        public void ClearMemory()
        {
            int id     = dgAccountManagement.SelectedIndex;
            int number = 3;

            Task.Run(() =>
            {
                AdminsBLL objAdminBLL      = new AdminsBLL();
                SystemConfigBLL bLL        = new SystemConfigBLL();
                SystemConfigBLL objConfigs = new SystemConfigBLL();
                objAdminBLL.DelAdmins();        //删除账号
                objConfigs.DelSystemConfig(id); //删除配置信息
                foreach (string deviceIP in DeviceConnectionManager.Instance.Devices)
                {
                    string connectDeviceCmd         = string.Format("{0}/adb -s {1} shell", ProcessUtils.LDPath, deviceIP);
                    string cmdClear                 = string.Format("pm clear com.facebook.katana");
                    string cmdExit                  = string.Format("exit");
                    DeviceOperation deviceOperation = new DeviceOperation();
                    deviceOperation
                    .SetCmd(connectDeviceCmd)
                    .SetCmd(cmdClear)
                    .SetCmd(cmdExit)
                    .Run2(id, out number);
                }
            });
            MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Eliminate_Success", SystemLanguageManager.Instance.CultureInfo));
        }
Пример #5
0
        /// <summary>
        /// 通过好友请求
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_AllowRequestSubmitTask_Click(object sender, RoutedEventArgs e)
        {
            List <int> targets = new List <int>();

            foreach (var item in treeviewAllowRequestFriend.ItemsSourceData)
            {
                foreach (var subItem in item.Children)
                {
                    if (subItem.IsChecked)
                    {
                        targets.Add((int)subItem.Id - 1);
                    }
                }
            }
            if (targets.Count() == 0)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Select_Vm", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            List <int> checkMobiles = targets.ToList();
            TaskSch    task         = new TaskSch();
            TasksBLL   bll          = new TasksBLL();

            int nums = 0;

            for (int m = 0; m < checkMobiles.Count; m++)
            {
                var lists = new JArray
                {
                };
                var obj = new JObject()
                {
                    { "opernums", txt_AllowRequestFriend.Text }, { "tasktype", (int)TaskType.AllowRequestFriend }, { "txtmsg", "" }
                };
                obj.Add("list", lists);

                task.TypeId      = (int)TaskType.AllowRequestFriend;
                task.Remotes     = checkMobiles[m].ToString();
                task.MobileIndex = checkMobiles[m];
                task.Bodys       = obj.ToString(Formatting.None);
                task.Status      = "waiting";
                task.ResultVal   = "";
                task.RepeatNums  = Int32.Parse(txt_AllowRequestFriend.Text);
                task.RandomMins  = Int32.Parse(txt_AllowRequestMinFriend.Text);
                task.RandomMaxs  = Int32.Parse(txt_AllowRequestMaxFriend.Text);
                task.IsWhole     = 0;//checkIsWholeRequestFriend.IsChecked==true ? 1 : 0;
                task.IsStep      = 1;
                task.StartTime   = TimedTaskManager.Instance.StartTime;

                TasksBLL.CreateTask(task);
                nums++;
            }

            //启动任务列表
            GlobalTaskManager.Instance.StartCheckingGlobalTasks();

            MessageDialogManager.ShowDialogAsync(string.Format(SystemLanguageManager.Instance.ResourceManager.GetString("Submitted_Task", SystemLanguageManager.Instance.CultureInfo), nums));
        }
Пример #6
0
        private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            var exception = e.ExceptionObject as Exception;

            LogUtils.Error($"{exception}");

            MessageDialogManager.ShowDialogAsync(exception.Message);
        }
Пример #7
0
        /// <summary>
        /// 通过好友请求
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_AllowRequestSubmitTask_Click(object sender, RoutedEventArgs e)
        {
            var targets = from item in treeviewAllowRequestFriend.ItemsSourceData.FirstOrDefault().Children
                          where item.IsChecked
                          select(int) item.Id - 1;

            if (targets.Count() == 0)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Select_Vm", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            List <int> checkMobiles = targets.ToList();
            TaskSch    task         = new TaskSch();
            TasksBLL   bll          = new TasksBLL();

            int nums = 0;

            for (int m = 0; m < checkMobiles.Count; m++)
            {
                var lists = new JArray
                {
                };
                var obj = new JObject()
                {
                    { "opernums", txt_AllowRequestFriend.Text }, { "tasktype", (int)TaskType.AllowRequestFriend }, { "txtmsg", "" }
                };
                obj.Add("list", lists);

                task.TypeId      = (int)TaskType.AllowRequestFriend;
                task.Remotes     = checkMobiles[m].ToString();
                task.MobileIndex = checkMobiles[m];
                task.Bodys       = obj.ToString(Formatting.None);
                task.Status      = "waiting";
                task.ResultVal   = "";
                task.RepeatNums  = Int32.Parse(txt_AllowRequestFriend.Text);
                task.RandomMins  = Int32.Parse(txt_AllowRequestMinFriend.Text);
                task.RandomMaxs  = Int32.Parse(txt_AllowRequestMaxFriend.Text);
                task.IsWhole     = 0;//checkIsWholeRequestFriend.IsChecked==true ? 1 : 0;
                task.IsStep      = 1;
                TasksBLL.CreateTask(task);
                nums++;
            }

            //启动任务列表
            if (ConfigVals.IsRunning != 1)
            {
                Task.Run(async() =>
                {
                    await ProessTask();
                });
            }

            MessageDialogManager.ShowDialogAsync(string.Format(SystemLanguageManager.Instance.ResourceManager.GetString("Submitted_Task", SystemLanguageManager.Instance.CultureInfo), nums));
        }
Пример #8
0
        private void MetroWindow_Loaded(object sender, RoutedEventArgs e)
        {
            EventAggregatorManager.Instance.EventAggregator.GetEvent <TaskUpdatedEvent>().Subscribe((taskProgress) =>
            {
                lblCurrentTaskValue.Text = taskProgress;
            }, Prism.Events.ThreadOption.UIThread, true);

            Assembly assembly = Assembly.GetExecutingAssembly();

            Type   type   = MethodBase.GetCurrentMethod().DeclaringType;
            string nspace = type.Namespace;

            string resourceName = nspace + ".Images.vmbackground.png";
            Stream stream       = assembly.GetManifestResourceStream(resourceName);

            container.BackgroundImage       = System.Drawing.Image.FromStream(stream);
            container.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;

            btnLaunchWhatsApp.Content = SystemLanguageManager.Instance.ResourceManager.GetString("Launch_WhatsApp", SystemLanguageManager.Instance.CultureInfo);
            btnCloseWhatsApp.Content  = SystemLanguageManager.Instance.ResourceManager.GetString("Close_WhatsApp", SystemLanguageManager.Instance.CultureInfo);

            btnLaunchMessenger.Content = SystemLanguageManager.Instance.ResourceManager.GetString("Launch_Messenger", SystemLanguageManager.Instance.CultureInfo);
            btnCloseMessenger.Content  = SystemLanguageManager.Instance.ResourceManager.GetString("Close_Messenger", SystemLanguageManager.Instance.CultureInfo);

            //btnSettings.Content = SystemLanguageManager.Instance.ResourceManager.GetString("Settings", SystemLanguageManager.Instance.CultureInfo);
            btnInstallApk.Content = SystemLanguageManager.Instance.ResourceManager.GetString("Install_Uninstall_APK", SystemLanguageManager.Instance.CultureInfo);
            btnOperation.Content  = SystemLanguageManager.Instance.ResourceManager.GetString("Facebook_Operation", SystemLanguageManager.Instance.CultureInfo);
            //btnOperation.Content = SystemLanguageManager.Instance.ResourceManager.GetString("WhatsApp_Operation", SystemLanguageManager.Instance.CultureInfo);
            btnCloseAll.Content = SystemLanguageManager.Instance.ResourceManager.GetString("Turn_Off_All_Phones", SystemLanguageManager.Instance.CultureInfo);
            Title = SystemLanguageManager.Instance.ResourceManager.GetString("Product_Name", SystemLanguageManager.Instance.CultureInfo);

            btnMonitor.Content      = SystemLanguageManager.Instance.ResourceManager.GetString("Monitor", SystemLanguageManager.Instance.CultureInfo);
            lblCurrentTaskItem.Text = SystemLanguageManager.Instance.ResourceManager.GetString("Current_Task", SystemLanguageManager.Instance.CultureInfo);

            ProcessUtils.LDPath = ConfigManager.Instance.Config?.LDPath;

            if (string.IsNullOrEmpty(ProcessUtils.LDPath))
            {
                _bootable = false;
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Error_Vm_Path_Not_Set", SystemLanguageManager.Instance.CultureInfo));
            }

            if (!Directory.Exists(ProcessUtils.LDPath))
            {
                _bootable = false;
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Error_Vm_Path_Not_Exist", SystemLanguageManager.Instance.CultureInfo));
            }

            InitVmGroups();
        }
 public void Start()
 {
     if (instance == null)
     {
         instance = this;
     }
     instance.keepAlive              = false;
     instance.show                   = false;
     instance.fadeTime               = 1;
     instance.messageLifeTime        = 3;
     instance.MessageCurrentLifeTime = 0;
     instance.canvasGroup            = instance.GetComponent <CanvasGroup>();
     instance.alpha                  = 0;
     instance.gameObject.SetActive(false);
 }
Пример #10
0
        private async void btnImportImages_Click(object sender, RoutedEventArgs e)
        {
            var target = GetTargetMobileIndexs();

            if (!target.Item1)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Select_Vm", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            string images = tbImagePaths.Text.Trim();

            string[] imageArray = images.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);

            if (imageArray == null || imageArray.Length == 0)
            {
                MessageDialogManager.ShowDialogAsync("请填写本地图片路径!");
                return;
            }

            _mobilePictures.Clear();

            foreach (var index in target.Item2)
            {
                List <string> pics = new List <string>();
                for (int i = 0; i < imageArray.Length; i++)
                {
                    if (!File.Exists(imageArray[i]))
                    {
                        MessageDialogManager.ShowDialogAsync($"{imageArray[i]}不存在!");
                        break;
                    }

                    string picPath = $"/sdcard/a{DateTime.Now.ToString("mmssffff")}{Path.GetExtension(imageArray[i])}";

                    pics.Add(picPath);

                    string mobileId = DeviceConnectionManager.Instance.GetDeviceNameByMobileIndex(index);
                    ProcessUtils.PushFileToVm(mobileId, imageArray[i], picPath);
                }

                _mobilePictures.Add(index, pics.ToArray());

                bool updatePicturesResult = await SimulationTaskWrapper.UpdatePictures(index, pics.ToArray());

                Console.WriteLine($"update pictures reslut:{updatePicturesResult}");
            }
        }
Пример #11
0
        private async void btnGetAttachedDevices_Click(object sender, RoutedEventArgs e)
        {
            string output = string.Empty;

            await Task.Run(() =>
            {
                string[] devices = ProcessUtils.GetAttachedDevices();

                for (int i = 0; i < devices.Length; i++)
                {
                    output += (devices[i] + "\r\n");
                }
            });

            MessageDialogManager.ShowDialogAsync($"连接设备列表:\r\n{output}");
        }
Пример #12
0
        private bool IsNewAppInstance()
        {
            Mutex1 = new Mutex(true, "ShengtaoSchoolClient", out _isNewInstance);

            if (!_isNewInstance)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("App_Is_Already_Running", SystemLanguageManager.Instance.CultureInfo), true);

                Current.Shutdown();

                return(false);
            }
            else
            {
                return(true);
            }
        }
Пример #13
0
        public IEnumerator Login(string login, string password, HttpMethodType type)
        {
            Dictionary <string, object> p = new Dictionary <string, object>()
            {
                { "login", login },
                { "password", password }
            };

            yield return(StartCoroutine(getConn(ConnectionType.ServerConn).SendRequest("user", type, p)));

            ResponseData response = getConn(ConnectionType.ServerConn).response;

            if (response.Success)
            {
                JSONValue value = response.Data;
                ServerManager.LoggedUserID = BaseRepository.add <User>(value).ID;
            }
            MessageDialogManager.ShowDialog(response.Message);
        }
Пример #14
0
        private async void btnLaunchAndroidCommander_Click(object sender, RoutedEventArgs e)
        {
            if (VmManager.Instance.RunningGroupIndex == -1)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Error_Please_Launch_A_Vm", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            List <Task> tasks = new List <Task>();

            string[] devices = ProcessUtils.GetAttachedDevices();

            foreach (var device in devices)
            {
                tasks.Add(LaunchAndroidCommanderAsync(device));
            }

            await Task.WhenAll(tasks);
        }
Пример #15
0
        private void btnLaunchWhatsApp_Click(object sender, RoutedEventArgs e)
        {
            if (_runningGroupIndex == -1)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Error_Please_Launch_A_Vm", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            string packagename = "com.whatsapp";

            for (int i = 0; i < VmManager.Instance.Column; i++)
            {
                int vmIndex = VmManager.Instance.VmIndexArray[_runningGroupIndex, i];

                if (vmIndex != -1)
                {
                    ProcessUtils.AdbOpenApps(vmIndex, packagename);
                }
            }
        }
Пример #16
0
        private void btnSavePaameters_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            int groupCapacity = int.Parse(cbGroupCapacity.SelectionBoxItem.ToString());
            int rowCapacity   = int.Parse(cbRowCapacity.SelectionBoxItem.ToString());

            VmManager.Instance.Initialize(ConfigVals.MaxNums, groupCapacity);

            ConfigsBLL bll  = new ConfigsBLL();
            int        lang = (rbEnglish.IsChecked == true) ? 2 : 1;
            int        flag = bll.SaveConfigs(lang, groupCapacity, rowCapacity);

            if (flag > 0)
            {
                ConfigVals.Lang = lang;

                ConfigVals.GroupNums = groupCapacity;
                ConfigVals.RowNums   = rowCapacity;
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Save_Success", SystemLanguageManager.Instance.CultureInfo));
            }
        }
Пример #17
0
        private async void btnClickParent_Click(object sender, RoutedEventArgs e)
        {
            var target = GetTargetMobileIndexs();

            if (!target.Item1)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Select_Vm", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            string child       = tbChildKey.Text.Trim();
            string childIndex  = tbChildIndex.Text.Trim();
            string parentDepth = tbParentDepth.Text.Trim();

            List <Task <bool> > tasks = new List <Task <bool> >();

            try
            {
                foreach (var index in target.Item2)
                {
                    tasks.Add(SimulationTaskWrapper.SearchClickParent(index, child, int.Parse(parentDepth), int.Parse(childIndex)));
                }

                bool[] results = await Task.WhenAll(tasks);


                string aggregatedResult = string.Empty;

                for (int i = 0; i < results.Length; i++)
                {
                    aggregatedResult += $"{target.Item2[i] + 1}:{results[i]}\r\n";
                }

                MessageDialogManager.ShowDialogAsync($"{aggregatedResult}");
            }
            catch (Exception ex)
            {
                MessageDialogManager.ShowDialogAsync($"执行结果:{ex?.Message}");
            }
        }
Пример #18
0
        /// <summary>
        /// Invoked when the application is launched normally by the end user.  Other entry points
        /// will be used such as when the application is launched to open a specific file.
        /// </summary>
        /// <param name="e">Details about the launch request and process.</param>
        protected override async void OnLaunched(LaunchActivatedEventArgs e)
        {
            if (!(Window.Current.Content is Frame rootFrame))
            {
                // Create a Frame to act as the navigation context and navigate to the first page
                rootFrame = new Frame();

                rootFrame.NavigationFailed += this.OnNavigationFailed;

                if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
                {
                    // TODO: Load state from previously suspended application
                }

                Eventlogger          = new FileEventLogger();
                this.AppDiagnostics  = new AppDiagnostics(Eventlogger);
                MessageDialogManager = new MessageDialogManager(Window.Current.Dispatcher);
                await this.AppDiagnostics.StartRecordingDiagnosticsAsync();

                // Place the frame in the current Window
                Window.Current.Content = rootFrame;
            }

            if (e.PrelaunchActivated)
            {
                return;
            }

            if (rootFrame.Content == null)
            {
                // When the navigation stack isn't restored navigate to the first page,
                // configuring the new page by passing required information as a navigation
                // parameter
                rootFrame.Navigate(typeof(MainPage), e.Arguments);
            }

            // Ensure the current window is active
            Window.Current.Activate();
        }
Пример #19
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            AdminsBLL objAdminBLL = new AdminsBLL();

            for (int i = 0; i < this.dgAccountManagement.Items.Count; i++)
            {
                var a = this.dgAccountManagement.Items[i] as admins;
                if (!a.login_pwd.IsNull() && !a.login_user.IsNull())
                {
                    admins objAdmins = new admins()
                    {
                        id             = a.id,
                        login_user     = a.login_user,
                        login_pwd      = a.login_pwd,
                        explain_detail = a.explain_detail,
                        addtime        = DateTime.Now
                    };
                    objAdminBLL.AddAdmins(objAdmins);
                }
            }
            MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Save_Success", SystemLanguageManager.Instance.CultureInfo));
        }
Пример #20
0
    public override IEnumerator ExecuteAsCoroutine()
    {
        Button btn = (Button)this.gameObject.GetComponent(typeof(Button));

        btn.interactable = false;
        if (Login.text.Length < 3 || Login.text.Length > 30)
        {
            MessageDialogManager.ShowDialog("Seu login deve ter de 3 a 30 caracteres!");
            EventSystem.current.SetSelectedGameObject(Login.gameObject);
            btn.interactable = true;
            yield break;
        }
        if (Password.text.Length < 5)
        {
            MessageDialogManager.ShowDialog("A senha deve ter ao menos 5 caracteres!");
            EventSystem.current.SetSelectedGameObject(Password.gameObject);
            btn.interactable = true;
            yield break;
        }
        if (Password.text != PasswordConfirmation.text)
        {
            MessageDialogManager.ShowDialog("As duas senhas digitadas diferem!");
            EventSystem.current.SetSelectedGameObject(Password.gameObject);
            btn.interactable = true;
            yield break;
        }
        yield return(StartCoroutine(server.Login(Login.text, Password.text, HttpMethodType.Post)));

        if (ServerManager.LoggedUserID > 0)
        {
            UserPanel.Login();
            UserPanel.instance.Show();
            SpeedClickDirector.instance.ShowScreenByType(Screens.MainScreen);
        }
        btn.interactable = true;
    }
Пример #21
0
        public IEnumerator SendScore(Score score)
        {
            Dictionary <string, object> p = new Dictionary <string, object>()
            {
                { "ID", -1 },
                { "Accuracy", score.Accuracy },
                { "MaxCombo", score.MaxCombo },
                { "MissCount", score.MissCount },
                { "Platform", score.Platform },
                { "PlayerId", score.PlayerId },
                { "Points", score.Points },
                { "Ranking", 0 },
                { "SceneId", score.SceneId },
                { "Speed", score.Speed },
                { "TurnCount", score.TurnCount }
            };

            yield return(StartCoroutine(getConn(ConnectionType.ServerConn).SendRequest("score", HttpMethodType.Post, p)));

            ResponseData response = getConn(ConnectionType.ServerConn).response;

            if (response.Success)
            {
                JSONValue value = response.Data;
                score.ID      = Convert.ToInt32(value.Obj.GetNumber("ID"));
                score.Ranking = Convert.ToInt32(value.Obj.GetNumber("Ranking"));
                if (value.Obj.GetValue("Player") != null)
                {
                    score.GetUser().ParseObject(value.Obj.GetValue("Player"));
                }
            }
            else
            {
                MessageDialogManager.ShowDialog(response.Message);
            }
        }
Пример #22
0
        private void btnLaunchMessenger_Click(object sender, RoutedEventArgs e)
        {
            if (_runningGroupIndex == -1)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Error_Please_Launch_A_Vm", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            string packagename = "com.facebook.mlite";

            //List<Phonenum> listPhon = new PhonenumBLL().SelectPhoneNumber();

            for (int i = 0; i < VmManager.Instance.Column; i++)
            {
                int vmIndex = VmManager.Instance.VmIndexArray[_runningGroupIndex, i];
                if (vmIndex != -1)
                {
                    ProcessUtils.AdbOpenApps(vmIndex, packagename);
                }
            }

            //string installNewestAppLog = await AppUpgradeHelper.Instance.InstallNewestApp();
            //LogUtils.Information(installNewestAppLog);
        }
Пример #23
0
        private void btnSubmitTask_InviteToGroup_Click(object sender, RoutedEventArgs e)
        {
            List <int> targets = new List <int>();

            foreach (var item in tvInviteToGroup.ItemsSourceData)
            {
                foreach (var subItem in item.Children)
                {
                    if (subItem.IsChecked)
                    {
                        targets.Add((int)subItem.Id - 1);
                    }
                }
            }
            if (targets.Count() == 0)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Select_Vm", SystemLanguageManager.Instance.CultureInfo));
                return;
            }
            int    operationTimes;
            string strOperationTimes = tbOperationTimesPerPhone.Text.Trim();

            if (!int.TryParse(strOperationTimes, out operationTimes))
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Number_Of_Operations_Per_Cell_Phone", SystemLanguageManager.Instance.CultureInfo));
                return;
            }
            string groups = tbGroupName.Text.Trim();

            string[] groupArr = groups.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
            if (groupArr?.Length == 0)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Group_Name", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            //List<Task<bool>> tasks = new List<Task<bool>>();
            TaskSch task = new TaskSch();

            //List<int> remotes = new List<int>();

            for (int i = 0; i < targets.Count(); i++)
            {
                //tasks.Add(TasksSchedule.InviteFriendsToGroupAsync(targets.ElementAt(i), groupArr[0], operationTimes));

                var lists = new JArray
                {
                };
                var obj = new JObject()
                {
                    { "opernums", operationTimes }, { "tasktype", (int)TaskType.InvitingFriends }, { "txtmsg", "" }
                };

                obj.Add("list", lists);


                int id = Guid.NewGuid().GetHashCode();
                //remotes.Add(id);
                task.Remotes     = $"{id}";
                task.TypeId      = (int)TaskType.InvitingFriends;
                task.MobileIndex = targets.ElementAt(i);
                task.Bodys       = obj.ToString(Formatting.None);
                task.Status      = "waiting";
                task.ResultVal   = string.Empty;
                task.RepeatNums  = Convert.ToInt32(tbOperationTimesPerPhone.Text.Trim());
                task.RandomMins  = Convert.ToInt32(tbBeginningIntervalMin.Text.Trim());
                task.RandomMaxs  = Convert.ToInt32(tbEndingIntervalMax.Text.Trim());
                task.InputName   = groupArr[0];
                task.IsStep      = 1;
                task.StartTime   = TimedTaskManager.Instance.StartTime;

                TasksBLL.CreateTask(task);
            }

            MessageQueueManager.Instance.AddInfo(string.Format(SystemLanguageManager.Instance.ResourceManager.GetString("Submitted_Task", SystemLanguageManager.Instance.CultureInfo), targets.Count()));

            //启动任务列表
            GlobalTaskManager.Instance.StartCheckingGlobalTasks();
        }
Пример #24
0
        private void Current_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
        {
            LogUtils.Error($"{e.Exception}");

            MessageDialogManager.ShowDialogAsync(e?.Exception?.Message);
        }
Пример #25
0
        /// <summary>
        /// 确定导入号码文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnImport_Click(object sender, RoutedEventArgs e)
        {
            //移动文件到指定的目录
            var targets = from item in treeviewImportList.ItemsSourceData.FirstOrDefault().Children
                          where item.IsChecked
                          select(int) item.Id - 1;

            if (targets.Count() == 0)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Select_Vm", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            List <int> checkMobiles = targets.ToList();

            List <string> phoneStr = new List <string>();

            TextRange textRange = new TextRange(rtbPhoneNums.Document.ContentStart, rtbPhoneNums.Document.ContentEnd);

            if (!string.IsNullOrEmpty(textRange.Text))
            {
                phoneStr = textRange.Text.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.None).ToList();
                phoneStr = phoneStr.Where(s => !string.IsNullOrEmpty(s)).ToList();
            }
            int flag = 0;

            if (tbContactPath.Text != "")
            {
                StreamReader sr = new StreamReader(tbContactPath.Text, Encoding.Default);
                string       line;
                while ((line = sr.ReadLine()) != null)
                {
                    phoneStr.Add(line.ToString());

                    if (phoneStr.Count > 100000)
                    {
                        flag = -1;
                        break;
                    }
                }
            }

            if (flag == -1)
            {
                MessageDialogManager.ShowDialogAsync(string.Format(SystemLanguageManager.Instance.ResourceManager.GetString("Exceed_Max_Import_Num", SystemLanguageManager.Instance.CultureInfo)));
                return;
            }

            //插入到任务表中
            int         sr1      = 21 / 1;
            int         onenums  = phoneStr.Count / checkMobiles.Count;
            PhonenumBLL phonebll = new PhonenumBLL();

            //TasksBLL taskbll = new TasksBLL();

            for (int m = 0; m < checkMobiles.Count; m++)
            {
                int           res    = 0;
                List <string> strIds = new List <string>();
                if (checkMobiles.Count > 1 && m == checkMobiles.Count - 1)
                {
                    onenums = phoneStr.Count;
                }
                for (int i = 0; i < onenums; i++)
                {
                    Phonenum phone = new Phonenum();
                    phone.PhoneNum    = phoneStr[i];
                    phone.SimulatorId = checkMobiles[m];
                    phone.Status      = 0; //待导入

                    int nflag = phonebll.InsertPhoneNum(phone);
                    if (nflag > 0)
                    {
                        res++;
                    }
                    strIds.Add(phone.PhoneNum);
                }
                if (strIds != null && strIds.Count > 0)
                {
                    for (int j = 0; j < strIds.Count; j++)
                    {
                        phoneStr.Remove(strIds[j]);
                    }
                }
                //号码写入文件
                string filepath = CopyPhoneNumsFile(strIds, checkMobiles[m]);

                var lists = new JArray
                {
                };

                if (filepath != "")
                {
                    lists.Add(filepath);
                    var obj = new JObject()
                    {
                        { "tasktype", 1 }, { "txtmsg", "" }
                    };
                    obj.Add("list", lists);
                    //插入任务
                    TaskSch tasks = new TaskSch();
                    tasks.TypeId      = 1;
                    tasks.Remotes     = checkMobiles[m].ToString();
                    tasks.MobileIndex = checkMobiles[m];
                    tasks.Bodys       = obj.ToString(Formatting.None);
                    //tasks.Bodys = JsonConvert.SerializeObject(new string[] { "tasktype:1", "txtmsg:", "filepath:"+ filepath, "nums:"+res});
                    tasks.Status     = "waiting";
                    tasks.ResultVal  = "";
                    tasks.RepeatNums = 1;
                    tasks.RandomMins = 5;
                    tasks.RandomMaxs = 12;
                    tasks.IsStep     = 0;
                    TasksBLL.CreateTask(tasks);
                }
            }
            //启动任务列表
            if (ConfigVals.IsRunning != 1)
            {
                Task.Run(async() =>
                {
                    await ProessTask();
                });
            }

            MessageDialogManager.ShowDialogAsync(string.Format(SystemLanguageManager.Instance.ResourceManager.GetString("Submitted_Task", SystemLanguageManager.Instance.CultureInfo), checkMobiles.Count));
        }
Пример #26
0
        private void btnSubmitTask_SearchFriend_Click(object sender, RoutedEventArgs e)
        {
            var targets = from item in treeviewSearchFriend.ItemsSourceData.FirstOrDefault().Children
                          where item.IsChecked
                          select(int) item.Id - 1;

            if (targets.Count() == 0)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Select_Vm", SystemLanguageManager.Instance.CultureInfo));

                return;
            }


            int    addTimes;
            string strAddTimes = tbAddTimes.Text.Trim();

            if (!int.TryParse(strAddTimes, out addTimes))
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Invalid_Operation_Times", SystemLanguageManager.Instance.CultureInfo));

                return;
            }

            string friends = tbFriends.Text.Trim();

            string[] friendArr = friends.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);


            if (friendArr?.Length != targets.Count())
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("NumOfPhone_Friends_Mismatch", SystemLanguageManager.Instance.CultureInfo));

                return;
            }


            //List<Task<bool>> tasks = new List<Task<bool>>();

            TaskSch taskSch = new TaskSch();

            //List<int> remotes = new List<int>();

            for (int i = 0; i < targets.Count(); i++)
            {
                var list = new JArray();
                var obj  = new JObject()
                {
                    { "opernums", addTimes },
                    { "tasktype", (int)TaskType.SearchAndAddFriend },
                    { "txtmsg", "" }
                };
                obj.Add("list", list);


                int id = Guid.NewGuid().GetHashCode();

                //remotes.Add(id);

                taskSch.Remotes     = $"{id}";
                taskSch.TypeId      = (int)TaskType.SearchAndAddFriend;
                taskSch.MobileIndex = targets.ElementAt(i);
                taskSch.Bodys       = obj.ToString(Formatting.None);
                taskSch.Status      = "waiting";
                taskSch.ResultVal   = string.Empty;
                taskSch.RepeatNums  = addTimes;
                taskSch.RandomMins  = 1;
                taskSch.RandomMaxs  = 2;
                taskSch.InputName   = friendArr[i];
                taskSch.IsStep      = 1;

                TasksBLL.CreateTask(taskSch);
            }

            MessageQueueManager.Instance.AddInfo(string.Format(SystemLanguageManager.Instance.ResourceManager.GetString("Submitted_Task", SystemLanguageManager.Instance.CultureInfo), targets.Count()));

            if (ConfigVals.IsRunning != 1)
            {
                Task.Run(async() =>
                {
                    await ProessTask();
                });
            }


            //try
            //{
            //    MessageQueueManager.Instance.AddInfo(string.Format(SystemLanguageManager.Instance.ResourceManager.GetString("Submitted_Task", SystemLanguageManager.Instance.CultureInfo), tasks.Count));
            //    EventAggregatorManager.Instance.EventAggregator.GetEvent<TaskUpdatedEvent>().Publish($"{tasks.Count}/{tasks.Count}");

            //    bool[] results = await Task.WhenAll(tasks);

            //    EventAggregatorManager.Instance.EventAggregator.GetEvent<TaskUpdatedEvent>().Publish($"0/{tasks.Count}");

            //    for (int i = 0; i < results.Length; i++)
            //    {
            //        int status = results[i] ? 1 : -1;
            //        int remote = remotes[i];
            //        TasksDAL.UpdateTaskStatusByRemotes($"{remote}", status);
            //    }
            //}
            //catch (Exception ex)
            //{
            //    EventAggregatorManager.Instance.EventAggregator.GetEvent<TaskUpdatedEvent>().Publish($"0/{tasks.Count}");

            //    MessageDialogManager.ShowDialogAsync(ex.Message);
            //}
        }
Пример #27
0
        private void btnSubmitTask_FriendsSomePraise_Click(object sender, RoutedEventArgs e)
        {
            var targets = from item in tvInviteToPraise.ItemsSourceData.FirstOrDefault().Children
                          where item.IsChecked
                          select(int) item.Id - 1;

            if (targets.Count() == 0)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Select_Vm", SystemLanguageManager.Instance.CultureInfo));
                return;
            }
            int    operationTimes;
            string strOperationTimes = txtOperationTimes.Text.Trim();

            if (!int.TryParse(strOperationTimes, out operationTimes))
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Number_Of_Operations_Per_Cell_Phone", SystemLanguageManager.Instance.CultureInfo));
                return;
            }
            string groups = txtGroupNamePraise.Text.Trim();

            string[] groupArr = groups.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
            if (groupArr?.Length == 0)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Group_Name", SystemLanguageManager.Instance.CultureInfo));

                return;
            }

            //List<Task<bool>> tasks = new List<Task<bool>>();
            TaskSch task = new TaskSch();

            //List<int> remotes = new List<int>();

            for (int i = 0; i < targets.Count(); i++)
            {
                //tasks.Add(TasksSchedule.InviteFriendsToLikeAsync(targets.ElementAt(i), groupArr[0], operationTimes));

                var lists = new JArray()
                {
                };
                var obj = new JObject()
                {
                    { "opernums", txtOperationTimes.Text }, { "tasktype", (int)TaskType.InviteFriendsLike }, { "txtmsg", "" }
                };
                obj.Add("list", lists);

                int id = Guid.NewGuid().GetHashCode();
                //remotes.Add(id);
                task.Remotes     = $"{id}";
                task.TypeId      = (int)TaskType.InviteFriendsLike;
                task.MobileIndex = targets.ElementAt(i);
                task.Bodys       = obj.ToString(Formatting.None);
                task.Status      = "waiting";
                task.ResultVal   = "";
                task.RepeatNums  = Convert.ToInt32(txtOperationTimes.Text.Trim());
                task.RandomMins  = Convert.ToInt32(tbBeginningIntervMin.Text.Trim());
                task.RandomMaxs  = Convert.ToInt32(txtEndingIntervaMax.Text.Trim());
                task.InputName   = groupArr[0];
                task.IsStep      = 1;

                TasksBLL.CreateTask(task);
            }

            MessageQueueManager.Instance.AddInfo(string.Format(SystemLanguageManager.Instance.ResourceManager.GetString("Submitted_Task", SystemLanguageManager.Instance.CultureInfo), targets.Count()));

            //启动任务列表
            if (ConfigVals.IsRunning != 1)
            {
                Task.Run(async() =>
                {
                    await ProessTask();
                });
            }
        }
Пример #28
0
        private void btnSubmitTask_TimelineLike2_Click(object sender, RoutedEventArgs e)
        {
            string str_slideTimes  = tbSlideNumber2.Text.Trim();
            string str_likeTimes   = tbLikeNumber2.Text.Trim();
            string str_minInterval = tbBeginningInterval2.Text.Trim();
            string str_maxInterval = tbEndingInterval2.Text.Trim();
            string str_friendNum   = tbClickFriendsNumber.Text.Trim();

            int slideTimes, likeTimes, friendNum, minInterval, maxInterval;

            if (!int.TryParse(str_slideTimes, out slideTimes))
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Invalid_Slide_Time", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            if (!int.TryParse(str_likeTimes, out likeTimes))
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Invalid_Like_Time", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            if (!int.TryParse(str_minInterval, out minInterval) || !int.TryParse(str_maxInterval, out maxInterval))
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Invalid_Interval", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            if (minInterval >= maxInterval)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Starting_Interval_Greater_Than_Ending", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            if (minInterval < 1)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Starting_Interval_Less_Than_One", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            if (!int.TryParse(str_friendNum, out friendNum))
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Invalid_Friend_Num", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            var targets = from item in treeviewTimeline2.ItemsSourceData.FirstOrDefault().Children
                          where item.IsChecked
                          select(int) item.Id - 1;

            if (targets.Count() == 0)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Select_Vm", SystemLanguageManager.Instance.CultureInfo));

                return;
            }


            //List<Task<bool>> tasks = new List<Task<bool>>();

            TaskSch taskSch = new TaskSch();

            //List<int> remotes = new List<int>();

            foreach (var target in targets)
            {
                //tasks.Add(TasksSchedule.FriendTimelineLike(target, slideTimes, likeTimes, friendNum, minInterval, maxInterval));


                var list = new JArray();
                var obj  = new JObject()
                {
                    //{"slidenums",slideTimes },
                    { "opernums", likeTimes },
                    { "tasktype", (int)TaskType.FriendTimelineLike },
                    { "txtmsg", "" }
                };
                obj.Add("list", list);


                int id = Guid.NewGuid().GetHashCode();

                //remotes.Add(id);

                taskSch.Remotes     = $"{id}";
                taskSch.TypeId      = (int)TaskType.FriendTimelineLike;
                taskSch.MobileIndex = target;
                taskSch.Bodys       = obj.ToString(Formatting.None);
                taskSch.Status      = "waiting";
                taskSch.ResultVal   = string.Empty;
                taskSch.SlideNums   = slideTimes;
                taskSch.FriendNums  = friendNum;
                taskSch.RepeatNums  = likeTimes;
                taskSch.RandomMins  = minInterval;
                taskSch.RandomMaxs  = maxInterval;
                //taskSch.InputName = friendArr[i];
                taskSch.IsStep    = 1;
                taskSch.StartTime = TimedTaskManager.Instance.StartTime;

                TasksBLL.CreateTask(taskSch);
            }

            MessageQueueManager.Instance.AddInfo(string.Format(SystemLanguageManager.Instance.ResourceManager.GetString("Submitted_Task", SystemLanguageManager.Instance.CultureInfo), targets.Count()));

            GlobalTaskManager.Instance.StartCheckingGlobalTasks();


            //try
            //{
            //    MessageQueueManager.Instance.AddInfo(string.Format(SystemLanguageManager.Instance.ResourceManager.GetString("Submitted_Task", SystemLanguageManager.Instance.CultureInfo), tasks.Count));

            //    EventAggregatorManager.Instance.EventAggregator.GetEvent<TaskUpdatedEvent>().Publish($"{tasks.Count}/{tasks.Count}");

            //    bool[] results = await Task.WhenAll(tasks);

            //    EventAggregatorManager.Instance.EventAggregator.GetEvent<TaskUpdatedEvent>().Publish($"0/{tasks.Count}");

            //    for (int i = 0; i < results.Length; i++)
            //    {
            //        int status = results[i] ? 1 : -1;
            //        int remote = remotes[i];
            //        TasksDAL.UpdateTaskStatusByRemotes($"{remote}", status);
            //    }
            //}
            //catch (Exception ex)
            //{
            //    EventAggregatorManager.Instance.EventAggregator.GetEvent<TaskUpdatedEvent>().Publish($"0/{tasks.Count}");

            //    MessageDialogManager.ShowDialogAsync(ex.Message);
            //}
        }
Пример #29
0
        /// <summary>
        /// 提交任务
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnGroupFriendSubmit_Click(object sender, RoutedEventArgs e)
        {
            var targets = from item in treeviewAddGroupUser.ItemsSourceData.FirstOrDefault().Children
                          where item.IsChecked
                          select(int) item.Id - 1;

            if (targets.Count() == 0)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Select_Vm", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            List <int> checkMobiles = targets.ToList();
            TaskSch    task         = new TaskSch();
            TasksBLL   bll          = new TasksBLL();

            //小组数量
            List <string> groupStr  = new List <string>();
            TextRange     textPages = new TextRange(rtbAddPageFriend.Document.ContentStart, rtbAddPageFriend.Document.ContentEnd);

            if (!string.IsNullOrEmpty(textPages.Text))
            {
                groupStr = textPages.Text.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.None).ToList();
                groupStr = groupStr.Where(s => !string.IsNullOrEmpty(s)).ToList();
            }
            if (groupStr.Count != checkMobiles.Count)
            {
                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Facebook_Check_GroupNums", SystemLanguageManager.Instance.CultureInfo));
                return;
            }

            int nums = 0;

            for (int m = 0; m < checkMobiles.Count; m++)
            {
                var lists = new JArray
                {
                };
                var obj = new JObject()
                {
                    { "opernums", txt_GroupFriendFriend.Text }, { "tasktype", (int)TaskType.AddPageFriends }, { "txtmsg", "" }
                };
                lists.Add(groupStr[m]);
                obj.Add("list", lists);

                task.TypeId      = (int)TaskType.AddGroupUsers;
                task.Remotes     = checkMobiles[m].ToString();
                task.MobileIndex = checkMobiles[m];
                task.Bodys       = obj.ToString(Formatting.None);
                task.Status      = "waiting";
                task.ResultVal   = "";
                task.RepeatNums  = Int32.Parse(txt_GroupFriendFriend.Text);
                task.RandomMins  = Int32.Parse(txt_GroupFriendMinFriend.Text);
                task.RandomMaxs  = Int32.Parse(txt_GroupFriendMaxFriend.Text);
                task.InputName   = groupStr[m];
                task.IsStep      = 1;
                TasksBLL.CreateTask(task);
                nums++;
            }

            //启动任务列表
            if (ConfigVals.IsRunning != 1)
            {
                Task.Run(async() =>
                {
                    await ProessTask();
                });
            }

            MessageDialogManager.ShowDialogAsync(string.Format(SystemLanguageManager.Instance.ResourceManager.GetString("Submitted_Task", SystemLanguageManager.Instance.CultureInfo), nums));
        }
Пример #30
0
        private void btnLogin_Click(object sender, RoutedEventArgs e)
        {
            int    id     = dgAccountManagement.SelectedIndex;
            int    number = -1;
            int    num    = 555 + 2 * id;
            string port2  = "5" + num;

            SystemConfigBLL bLL = new SystemConfigBLL();

            Task.Run(() =>
            {
                List <string> devicesList = ProcessUtils.AdbDevices();
                foreach (string deviceIP in devicesList)
                {
                    if (deviceIP.IndexOf(port2) > 0)
                    {
                        string port                     = deviceIP.Remove(0, deviceIP.Length - 4);
                        string connectDeviceCmd         = string.Format("{0}/adb -s {1} shell", ProcessUtils.LDPath, deviceIP);
                        string cmdPs                    = string.Format("ps");
                        string cmdExit                  = string.Format("exit");
                        DeviceOperation deviceOperation = new DeviceOperation();
                        deviceOperation
                        .SetCmd(connectDeviceCmd)
                        .SetCmd(cmdPs)
                        .SetCmd(cmdExit)
                        .Run2(id, out number);

                        switch (number)
                        {
                        case 0:
                            List <SystemConfig> model = bLL.GetSystemConfigList(id);
                            if (model.Count > 0)
                            {
                                model[0].state = 0;
                                bLL.UpdateSystemConfig(model[0]);
                            }
                            else
                            {
                                SystemConfig sc = new SystemConfig();
                                sc.uid          = id;
                                sc.state        = 0;
                                bLL.AddSystemConfig(sc);
                            }
                            break;

                        case 1:
                            model = bLL.GetSystemConfigList(id);
                            if (model.Count > 0)
                            {
                                model[0].state = 1;
                                bLL.UpdateSystemConfig(model[0]);
                            }
                            else
                            {
                                SystemConfig sc = new SystemConfig();
                                sc.uid          = id;
                                sc.state        = 0;
                                bLL.AddSystemConfig(sc);
                            }
                            break;
                        }
                        //1表示已启动了0表示为没启动com.facebook.katana;判断模拟器是否启动facebook应用,有返回没启动

                        if (number == 0)
                        {
                            #region 启动Facebook
                            if (_runningGroupIndex == -1)
                            {
                                MessageDialogManager.ShowDialogAsync(SystemLanguageManager.Instance.ResourceManager.GetString("Error_Please_Launch_A_Vm", SystemLanguageManager.Instance.CultureInfo));
                                return;
                            }
                            string packagename       = "com.facebook.katana";
                            List <Phonenum> listPhon = new PhonenumBLL().SelectPhoneNumber();

                            for (int i = 0; i < VmManager.Instance.Column; i++)
                            {
                                int vmIndex = VmManager.Instance.VmIndexArray[_runningGroupIndex, i];
                                if (vmIndex != -1)
                                {
                                    ProcessUtils.AdbOpenApps(vmIndex, packagename);
                                }
                            }
                            break;
                            #endregion
                        }
                    }

                    LoginInfo li = new LoginInfo();
                    li.index     = id;
                    li.port      = port2;
                    if (th == null || !th.IsAlive)
                    {
                        th = new Thread(new  ParameterizedThreadStart(AutomaticLogin));
                        th.IsBackground = true;
                        th.Start(li);
                    }
                }
            });
        }