private void deleteTask_click(object sender, EventArgs e) { if (sender as RegCount == null) { if (ImageResolver.Instance.ChekOnLimitRegistraions) { if (GetNextProxyEvent != null) { GetNextProxyEvent(); SetProxy(); } } } if (VisaEvent != null) { VisaEvent(this, false); } Tasks.Remove(_currentTask); if (TaskEvent != null) { TaskEvent(_currentTask); _currentTask = null; } _enum = RotEvents.Start; if (Tasks.Count == 0 && TabEvent != null) { TabEvent(_tabPage); } _allowStep = true; }
private void startMonitor() { webBrowser1.ScriptErrorsSuppressed = true; webBrowser1.Navigate(Const.Url); rtbMess.Clear(); _enum = RotEvents.Firsthl; intTimer.Stop(); }
public void CheckOnDeleteTask(KonsulatTask visaTask) { Tasks.Remove(visaTask); if (Tasks.Count == 0 && TabEvent != null) { TabEvent(_tabPage); } _enum = RotEvents.Start; _allowStep = true; TurnAlarmOn(false); }
private void renewTask_click(object sender, EventArgs e) { TurnAlarmOn(false); if (VisaEvent != null) { VisaEvent(this, false); } _currentTask = null; _enum = RotEvents.Start; _allowStep = true; }
private void IncrementOrFreeze() { _enum = RotEvents.FirstCombo; if (_currentIndex < _listToMonitor.Count - 1) { _currentIndex++; } else { _currentIndex = 0; intTimer.Stop(); ShowResults(); mainTimer.Start(); } }
void timer1_Tick(object sender, System.EventArgs e) { try { switch (_enum) { case RotEvents.Firsthl: webBrowser1.Document.GetElementById("ctl00_plhMain_lnkChkAppmntAvailability").InvokeMember("click"); _enum = RotEvents.FirstCombo; intTimer.Stop(); break; case RotEvents.FirstCombo: { if (webBrowser1.Document.GetElementById("ctl00_plhMain_lnkChkAppmntAvailability") != null) { webBrowser1.Document.GetElementById("ctl00_plhMain_lnkChkAppmntAvailability").InvokeMember("click"); _enum = RotEvents.FirstCombo; intTimer.Stop(); break; } if (this.webBrowser1.Document.GetElementById("ctl00$plhMain$cboVAC") == null) { _enum = RotEvents.FirstCombo; break; } processFirstCombo(); _enum = RotEvents.Submit; intTimer.Stop(); break; } case RotEvents.Submit: { // if (webBrowser1.Document.GetElementById("ctl00_plhMain_VS") != null && // webBrowser1.Document.GetElementById("ctl00_plhMain_VS").InnerText.Contains("The text you typed does not match the characters in the image.")) // { // _enum = RotEvents.FirstCombo; // break; // } processInvoke(); _enum = RotEvents.GetData; intTimer.Stop(); break; } case RotEvents.GetData: { int code = int.Parse(_listToMonitor[_currentIndex].CityCode); if (_values.ContainsKey(code)) { _values[code] = getData(); } else { _values.Add(code, getData()); } Debug.WriteLine("get data " + DateTime.Now.ToLongTimeString() + " " + _values[code]); _enum = RotEvents.FirstCombo; IncrementOrFreeze(); break; } } } catch (Exception) { _enum = RotEvents.FirstCombo; intTimer.Start(); } }
public void DoStep() { if (_playSound) { playSound(); } if (!_allowStep) { return; } _allowStep = false; if (_changeProxyOnce != ImageResolver.Instance.UseProxy) { _changeProxyOnce = ImageResolver.Instance.UseProxy; SetProxy(); } if (webBrowser.DocumentTitle == "Service Unavailable" || webBrowser.DocumentTitle == "Navigation Canceled" || webBrowser.DocumentTitle == "The proxy server isn't responding" || webBrowser.DocumentTitle == "Internet Explorer cannot display the webpage" || webBrowser.DocumentTitle == "This page can’t be displayed") { _allowStep = true; _enum = RotEvents.Start; if (ImageResolver.Instance.UseProxy) { //if ((DateTime.Now - _lastProxyDateTime).Seconds > 15) //{ // _lastProxyDateTime = DateTime.Now; if (GetNextProxyEvent != null) { GetNextProxyEvent(); SetProxy(); } //} } } try { if (_tabPage != null && _currentTask != null) { _tabPage.ToolTipText = GetProxyInfo() + _currentTask.GetInfo(); } switch (_enum) { case RotEvents.Start: { _countAttempt = 5; Tasks.Sort(vc); _currentTask = Tasks[0]; _tabPage.ToolTipText = GetProxyInfo() + _currentTask.GetInfo(); _enum = RotEvents.Firsthl; webBrowser.Navigate(Const.UrlEkonsulat); break; } case RotEvents.Firsthl: { SelectFromCombo("ctl00$ddlWersjeJezykowe", "Русская"); _allowStep = true; // for (int i = 0; i < this.webBrowser.Document.GetElementById("ctl00$ddlWersjeJezykowe").Children.Count; i++) // { // HtmlElement child = this.webBrowser.Document.GetElementById("ctl00$ddlWersjeJezykowe").Children[i]; // if (child.InnerText == "Русская") // { // this.webBrowser.Document.GetElementById("ctl00$ddlWersjeJezykowe").SetAttribute("selectedIndex", i.ToString()); // break; // } // } //webBrowser.Document.GetElementById("ctl00$ddlWersjeJezykowe").SetAttribute("selectedIndex", "17"); // webBrowser.Document.GetElementById("ctl00$tresc$cbListaKrajow").SetAttribute("selectedIndex", "4"); // webBrowser.Document.GetElementById("ctl00$tresc$cbListaPlacowek").SetAttribute("selectedIndex", "88"); _enum = RotEvents.FirstCombo; break; } case RotEvents.FirstCombo: { SelectFromCombo("ctl00$tresc$cbListaKrajow", "УКРАИНА"); this.webBrowser.Document.GetElementById("ctl00$tresc$cbListaKrajow").InvokeMember("onchange"); _allowStep = true; // webBrowser.Document.GetElementById("ctl00_plhMain_cboVAC").SetAttribute("selectedIndex", _currentTask.CityCode); // webBrowser.Document.GetElementById("ctl00_plhMain_cboPurpose").SetAttribute("selectedIndex", _currentTask.PurposeCode); _enum = RotEvents.SecondCombo; // webBrowser.Document.GetElementById("ctl00_plhMain_btnSubmit").InvokeMember("click"); break; } case RotEvents.SecondCombo: { if (this.webBrowser.Document.GetElementById("ctl00$tresc$cbListaPlacowek").Children.Count == 0) { _allowStep = true; return; } SelectFromCombo("ctl00$tresc$cbListaPlacowek", "Винница"); this.webBrowser.Document.GetElementById("ctl00$tresc$cbListaPlacowek").InvokeMember("onchange"); _allowStep = true; // webBrowser.Document.GetElementById("ctl00_plhMain_tbxNumOfApplicants").SetAttribute("value", _currentTask.CountAdult.ToString()); // if (webBrowser.Document.GetElementById("ctl00_plhMain_txtChildren") != null) // webBrowser.Document.GetElementById("ctl00_plhMain_txtChildren").SetAttribute("value", _currentTask.CountChild.ToString()); // // for (int i = 0; i < this.webBrowser.Document.GetElementById("ctl00_plhMain_cboVisaCategory").Children.Count; i++) // { // HtmlElement child = this.webBrowser.Document.GetElementById("ctl00_plhMain_cboVisaCategory").Children[i]; // if (child.InnerText == _currentTask.Category) // { // this.webBrowser.Document.GetElementById("ctl00_plhMain_cboVisaCategory").SetAttribute("selectedIndex", i.ToString()); // break; // } // } _enum = RotEvents.Submit; // this.webBrowser.Document.GetElementById("ctl00_plhMain_cboVisaCategory").InvokeMember("onchange"); break; } case RotEvents.Submit: { // string showStopper = webBrowser.Document.GetElementById("ctl00_plhMain_lblMsg").InnerText; // if (showStopper.Contains("Number of Persons should not be")) // { // Logger.Warning("Сбой в работе сайта. Ошибка: " + showStopper); // _currentTask = null; // _enum = RotEvents.Start; // _allowStep = true; // break; // } // richText.Text = "Свободна дата: " + showStopper; // Logger.Info(_currentTask.City + ": "+ richText.Text); // // _tabPage.Text = _currentTask.CityV + "~" + (showStopper.Contains("No date(s) available") ? "No date(s)" : showStopper); // if (!showStopper.Contains("No date(s) available")) // { // var apointmentDate = ProcessDate(showStopper); // if (apointmentDate > _currentTask.GreenLineDt && apointmentDate < _currentTask.RedLineDt) // { // webBrowser.Document.GetElementById("ctl00_plhMain_btnSubmit").InvokeMember("click"); // _enum = RotEvents.FillReceipt; // TurnAlarmOn(true); // if (VisaEvent != null) // VisaEvent(this, true); // break; // } // else // { // Logger.Info("Задание не укладывается в интервал разрешенных дат."); // Logger.Info(_currentTask.GetInfo()); // _currentTask = null; // Tasks.Sort(vc); // foreach (VisaTask visaTask in Tasks) // { // if (apointmentDate > visaTask.GreenLineDt && apointmentDate < visaTask.RedLineDt) // { // _currentTask = visaTask; // _tabPage.ToolTipText = GetProxyInfo() + _currentTask.GetInfo(); // } // } // if (_currentTask == null) // { // Logger.Warning("Нет заданий для даты " + showStopper); // throw new Exception("бегаем по кругу, ждем с моря погоды"); // } // Logger.Info("Выбрали новое Задание"); // Logger.Info(_currentTask.GetInfo()); // } // } // _enum = RotEvents.FirstCombo; // webBrowser.Document.GetElementById("ctl00_plhMain_btnCancel").InvokeMember("click"); break; } // case RotEvents.FillReceipt: // { // Logger.Info(_currentTask.City+": Номер квитанции: " + _currentTask.Receipt); // webBrowser.Document.GetElementById("ctl00_plhMain_repAppReceiptDetails_ctl01_txtReceiptNumber").SetAttribute("value", _currentTask.Receipt); // _enum = RotEvents.FillEmail; // webBrowser.Document.GetElementById("ctl00_plhMain_btnSubmit").InvokeMember("click"); // break; // } // case RotEvents.FillEmail: // { // if (webBrowser.Document.GetElementById("ctl00_plhMain_lblMsg") != null && !string.IsNullOrEmpty(webBrowser.Document.GetElementById("ctl00_plhMain_lblMsg").InnerHtml)) // { // string text = webBrowser.Document.GetElementById("ctl00_plhMain_lblMsg").InnerText; // if (text.Contains(_currentTask.Receipt)) // { // Logger.Warning(string.Format("Заявка для {0} {1} уже зарегестрированна. Ответ сайта: {2}",_currentTask.LastName, _currentTask.Name, text)); // if (string.IsNullOrEmpty(_currentTask.RegistrationInfo)) // _currentTask.RegistrationInfo = "Please get info from site."; // deleteTask_click(new RegCount(), null); // break; // } // Logger.Error("Надо исправить ошибку: \r\n " + text); // richText.Text = "Надо исправить ошибку: \r\n " + text; // renewTask.Visible = true; // deleteTask.Visible = true; // _enum = RotEvents.FillReceipt; // break; // } // Logger.Info(string.Format("{0}: Email: {1} Pass: {2}", _currentTask.City,_currentTask.Email, _currentTask.Password)); // webBrowser.Document.GetElementById("ctl00_plhMain_txtEmailID").SetAttribute("value", _currentTask.Email); // webBrowser.Document.GetElementById("ctl00_plhMain_txtPassword").SetAttribute("value", _currentTask.Password); // _enum = RotEvents.FirstCupture; // webBrowser.Document.GetElementById("ctl00_plhMain_btnSubmitDetails").InvokeMember("click"); // break; // } // case RotEvents.FirstCupture: // { // ImageResolver.Instance.SystemDecaptcherLoad(); // if (webBrowser.Document.GetElementById("ctl00_plhMain_VS") != null && !string.IsNullOrEmpty(webBrowser.Document.GetElementById("ctl00_plhMain_VS").InnerText)) // { // string error = webBrowser.Document.GetElementById("ctl00_plhMain_VS").InnerText; // Logger.Error("Надо исправить ошибку: \r\n " + error); // richText.Text ="Надо исправить ошибку: \r\n " + error; // renewTask.Visible = true; // deleteTask.Visible = true; // _enum = RotEvents.FillEmail; // break; // } // // Logger.Warning("Дружищще, отправляй меня быстрее "+ _currentTask.GetInfo()); // richText.AppendText(_currentTask.GetInfo()); // webBrowser.Document.GetElementById("ctl00_plhMain_repAppVisaDetails_ctl01_tbxPPTEXPDT").SetAttribute("value", _currentTask.PassportEndDate); // webBrowser.Document.GetElementById("ctl00_plhMain_repAppVisaDetails_ctl01_cboTitle").SetAttribute("selectedIndex", _currentTask.StatusCode); // webBrowser.Document.GetElementById("ctl00_plhMain_repAppVisaDetails_ctl01_tbxFName").SetAttribute("value", _currentTask.Name); // webBrowser.Document.GetElementById("ctl00_plhMain_repAppVisaDetails_ctl01_tbxLName").SetAttribute("value", _currentTask.LastName); // webBrowser.Document.GetElementById("ctl00_plhMain_repAppVisaDetails_ctl01_tbxDOB").SetAttribute("value", _currentTask.Dob); // webBrowser.Document.GetElementById("ctl00_plhMain_repAppVisaDetails_ctl01_tbxReturn").SetAttribute("value", _currentTask.ArrivalDt); // // for (int i = 0; i < this.webBrowser.Document.GetElementById("ctl00_plhMain_repAppVisaDetails_ctl01_cboNationality").Children.Count; i++) // { // HtmlElement child = this.webBrowser.Document.GetElementById("ctl00_plhMain_repAppVisaDetails_ctl01_cboNationality").Children[i]; // if (child.InnerText == _currentTask.Nationality) // { // this.webBrowser.Document.GetElementById("ctl00_plhMain_repAppVisaDetails_ctl01_cboNationality").SetAttribute("selectedIndex", i.ToString()); // break; // } // } // // decaptcherImage(); // //ctl00_plhMain_btnSubmit // _enum = RotEvents.SecondCupture; // if(ImageResolver.Instance.AutoResolveImage) // webBrowser.Document.GetElementById("ctl00_plhMain_btnSubmit").InvokeMember("click"); // // break; // } // case RotEvents.SecondCupture: // { // ImageResolver.Instance.SystemDecaptcherLoad(); // decaptcherImage(); // _enum = RotEvents.SelectTime; // // //date // //class = OpenDateAllocated <a> // if (ImageResolver.Instance.AutoResolveImage) // PressOnLinkOnCalendar(); // //=============================== // break; // } // case RotEvents.SelectTime: // { // if (webBrowser.Document.GetElementById("ctl00_plhMain_lblMsg") != null && !string.IsNullOrEmpty(webBrowser.Document.GetElementById("ctl00_plhMain_lblMsg").InnerHtml)) // { // string text = webBrowser.Document.GetElementById("ctl00_plhMain_lblMsg").InnerText; // Logger.Error("ошибкa: \r\n " + text); // if (text.Contains("текст не відповідає символам на зображенні") && !ImageResolver.Instance.AutoResolveImage) // { // if (_countAttempt-- != 0) // { // ImageResolver.Instance.SystemDecaptcherLoad(); // decaptcherImage(); // PressOnLinkOnCalendar(); // } // } // break; // } // // //text // //name =ctl00$plhMain$MyCaptchaControl1 // decaptcherImage(); // _enum = RotEvents.Stop; // //_blockAlert = true; // //table id = ctl00_plhMain_gvSlot // // a class // if (ImageResolver.Instance.AutoResolveImage) // PressOnLinkByClass("backlink"); // // break; // } // case RotEvents.Stop: // { // if (webBrowser.Document.GetElementById("ctl00_plhMain_lblMsg") != null && !string.IsNullOrEmpty(webBrowser.Document.GetElementById("ctl00_plhMain_lblMsg").InnerHtml)) // { // string text = webBrowser.Document.GetElementById("ctl00_plhMain_lblMsg").InnerText; // Logger.Error("ошибкa: \r\n " + text); // if (text.Contains("текст не відповідає символам на зображенні") && !ImageResolver.Instance.AutoResolveImage) // { // if (_countAttempt-- != 0) // { // ImageResolver.Instance.SystemDecaptcherLoad(); // decaptcherImage(); // PressOnLinkByClass("backlink"); // } // } // break; // } // //_blockAlert = false; // if (!ImageResolver.Instance.AutoResolveImage) // { // if (webBrowser.Document.GetElementById("ApplicantDetalils") != null && !string.IsNullOrEmpty(webBrowser.Document.GetElementById("ApplicantDetalils").InnerText)) // { // Logger.Info("Заявка успешно зарегистрирована. "); // string registrationInfo = webBrowser.Document.GetElementById("ApplicantDetalils").InnerText; // Logger.Info(registrationInfo); // _currentTask.RegistrationInfo = registrationInfo; // } // renewTask.Visible = true; // deleteTask.Visible = true; // } // else // { // if (webBrowser.Document.GetElementById("ApplicantDetalils") != null && !string.IsNullOrEmpty(webBrowser.Document.GetElementById("ApplicantDetalils").InnerText)) // { // Logger.Info("Заявка успешно зарегистрирована. "); // string registrationInfo = webBrowser.Document.GetElementById("ApplicantDetalils").InnerText; // Logger.Info(registrationInfo); // _currentTask.RegistrationInfo = registrationInfo; // deleteTask_click(null, null); // } // else // { // Logger.Info("Регистрация заявки не состоялась на этапе выбора времени."); // renewTask_click(null, null); // } // } // // TurnAlarmOn(false); // // break; // } } } catch (Exception ex) { Logger.Error(ex); //_blockAlert = false; TurnAlarmOn(false); if (VisaEvent != null) { VisaEvent(this, false); } _allowStep = true; _enum = RotEvents.Start; } }