示例#1
0
        private async void B_Apply_Direct_Click(object sender, EventArgs e)
        {
            if (tBox_FileName_Direct.Text.Length > 5)
            {
                SettingTaskMassDirect setting = new SettingTaskMassDirect();

                setting.CheckedPause     = toggle_Pause_Direct.Checked;
                setting.ChekedDeleteBase = checkBox_DeleteInBase_Direct.Checked;

                setting.DelayMin = Convert.ToInt32(tBox_DelayMin_Direct.Text);
                setting.DelayMax = Convert.ToInt32(tBox_DelayMax_Direct.Text);

                setting.FileNameBaseId = tBox_FileName_Direct.Text;
                if (tBox_PauseCount_Direct.Text.Length != 0)
                {
                    setting.PauseLimit = Convert.ToInt32(tBox_PauseCount_Direct.Text);
                }
                else
                {
                    setting.PauseLimit = 100;
                }
                if (tBox_PauseTime_Direct.Text.Length != 0)
                {
                    setting.PauseTime = Convert.ToInt32(tBox_PauseTime_Direct.Text);
                }
                else
                {
                    setting.PauseTime = 30;
                }

                string message = tBox_Messages_Direct.Text;
                message.Trim(' ');
                var x           = message.Split('\n');
                var messageList = x.ToList <string>();
                setting.Messages = messageList;

                if (infoDefenderTask == null)
                {
                    string username = (await api.GetCurrentUserAsync()).Value.UserName;
                    dictionaryTask[username] = new TaskMassDirect(api, setting);
                    dictionaryTask[username].Start();
                }
                else
                {
                    if (infoDefenderTask.OneTask == null)
                    {
                        infoDefenderTask.OneTask = new TaskMassDirect(infoDefenderTask.Api, setting);
                    }
                }

                Close();
            }
            else
            {
                MessageBox.Show("Укажите путь до базы");
            }
        }
示例#2
0
 public TaskMassDirect(IInstaApi api, SettingTaskMassDirect setting)
 {
     this.api     = api;
     this.setting = setting;
     ew           = new ManualResetEvent(true);
 }