public frmSimcard(Guid guid, bool isShowMode) { InitializeComponent(); cls = SimcardBussines.Get(guid); grpAccount.Enabled = !isShowMode; btnFinish.Enabled = !isShowMode; }
private async void mnuDelete_Click(object sender, EventArgs e) { try { if (DGrid.RowCount == 0) { return; } if (DGrid.CurrentRow == null) { return; } var accGuid = (Guid)DGrid[dgGuid.Index, DGrid.CurrentRow.Index].Value; var Acc = SimcardBussines.GetAsync(accGuid); var message = "آیا از حذف سیمکارت " + Acc.Number + " " + "اطمینان دارید؟"; if (FarsiMessegeBox.Show(message, "حذف", FMessegeBoxButtons.YesNo, FMessegeBoxIcons.Question) != DialogResult.Yes) { return; } Acc = SimcardBussines.Change_Status(accGuid, false); await Acc.SaveAsync(); await LoadData(txtSearch.Text); } catch (Exception exception) { WebErrorLog.ErrorInstence.StartErrorLog(exception); } }
public async Task <SimcardBussines> GetAsync(string _connectionString, Guid guid) { var obj = new SimcardBussines(); try { using (var cn = new SqlConnection(_connectionString)) { var cmd = new SqlCommand("sp_Simcard_Get", cn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@guid", guid); await cn.OpenAsync(); var dr = await cmd.ExecuteReaderAsync(); if (dr.Read()) { obj = LoadData(dr); } cn.Close(); } } catch (Exception exception) { WebErrorLog.ErrorInstence.StartErrorLog(exception); } return(obj); }
public async Task <ReturnedSaveFuncInfo> SaveAsync(SimcardBussines item, SqlTransaction tr) { var res = new ReturnedSaveFuncInfo(); try { var cmd = new SqlCommand("sp_Simcard_Save", tr.Connection, tr) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@guid", item.Guid); cmd.Parameters.AddWithValue("@st", item.Status); cmd.Parameters.AddWithValue("@number", item.Number); cmd.Parameters.AddWithValue("@owner", item.Owner ?? ""); cmd.Parameters.AddWithValue("@operator", item.Operator ?? ""); cmd.Parameters.AddWithValue("@shBlock", item.isSheypoorBlocked); cmd.Parameters.AddWithValue("@nextUseSh", item.NextUseSheypoor); cmd.Parameters.AddWithValue("@nextUseD", item.NextUseDivar); await cmd.ExecuteNonQueryAsync(); } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); res.AddReturnedValue(ex); } return(res); }
private async void mnuDelete_Click(object sender, EventArgs e) { try { if (DGrid.RowCount <= 0) { return; } if (DGrid.CurrentRow == null) { return; } var guid = (Guid)DGrid[dgGuid.Index, DGrid.CurrentRow.Index].Value; if (MessageBox.Show($@"آیا از حذف شماره {DGrid[dgNumber.Index, DGrid.CurrentRow.Index].Value} اطمینان دارید؟", "حذف", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } var sim = await SimcardBussines.GetAsync(guid); var res = await sim.RemoveAsync(); if (res.HasError) { frmNotification.PublicInfo.ShowMessage(res.ErrorMessage); return; } frmLoading.PublicInfo.ShowForm(); await LoadData(txtSearch.Text); } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); } }
public frmSimcardMain(Guid guid, bool isShowMode) { InitializeComponent(); cls = SimcardBussines.Get(guid); ucHeader.Text = !isShowMode ? $"ویرایش سیمکارت {cls.Number}" : $"مشاهده سیمکارت {cls.Number}"; ucHeader.IsModified = true; grp.Enabled = !isShowMode; btnFinish.Enabled = !isShowMode; }
public frmSimcard_Main() { InitializeComponent(); cmAds.Renderer = new ToolStripProfessionalRenderer(new ContextMenuSetter()); cmCity.Renderer = new ToolStripProfessionalRenderer(new ContextMenuSetter()); cmSheypoor.Renderer = new ToolStripProfessionalRenderer(new ContextMenuSetter()); cls = new SimcardBussines(); lblHeader.Text = "افزودن سیمکارت جدید"; }
public frmSimcard_Main(Guid guid) { InitializeComponent(); cmAds.Renderer = new ToolStripProfessionalRenderer(new ContextMenuSetter()); cmCity.Renderer = new ToolStripProfessionalRenderer(new ContextMenuSetter()); cmSheypoor.Renderer = new ToolStripProfessionalRenderer(new ContextMenuSetter()); cls = SimcardBussines.GetAsync(guid); lblHeader.Text = "ویرایش سیمکارت"; }
private async void btnFinish_Click(object sender, EventArgs e) { try { if (cls.Guid == Guid.Empty) { cls.Guid = Guid.NewGuid(); } if (string.IsNullOrEmpty(txtName.Text)) { frmNotification.PublicInfo.ShowMessage("مالک نمی تواند خالی باشد"); txtName.Focus(); return; } if (string.IsNullOrEmpty(txtNumber.Text)) { frmNotification.PublicInfo.ShowMessage("شماره نمی تواند خالی باشد"); txtNumber.Focus(); return; } if (!await SimcardBussines.CheckNumber(cls.Guid, txtNumber.Text.ParseToLong())) { frmNotification.PublicInfo.ShowMessage("شماره وارد شده تکراری است"); txtName.Focus(); return; } cls.OwnerName = txtName.Text.Trim(); cls.Number = txtNumber.Text.ParseToLong(); cls.AdvCat1 = (Guid?)cmbAdv1.SelectedValue; cls.AdvCat2 = (Guid?)cmbAdv2.SelectedValue; cls.AdvCat3 = (Guid?)cmbAdv3.SelectedValue; cls.ChatCat1 = (Guid?)cmbChat1.SelectedValue; cls.ChatCat2 = (Guid?)cmbChat2.SelectedValue; cls.ChatCat3 = (Guid?)cmbChat3.SelectedValue; var res = await cls.SaveAsync(); if (res.HasError) { frmNotification.PublicInfo.ShowMessage(res.ErrorMessage); return; } DialogResult = DialogResult.OK; frmLoading.PublicInfo.ShowForm(); Close(); } catch (Exception exception) { WebErrorLog.ErrorInstence.StartErrorLog(exception); } }
private async Task LoadData(string search = null) { try { var liat = await SimcardBussines.GetAllAsync(search); SimcardBindingSource.DataSource = liat.OrderBy(q => q.OwnerName).ToSortableBindingList(); } catch (Exception e) { WebErrorLog.ErrorInstence.StartErrorLog(e); } }
private async void Form1_Load(object sender, EventArgs e) { //Fill Number ComboBox var list1 = await SimcardBussines.GetAllAsync(); SimcardBindingSource.DataSource = list1; //Fill Ads To Grid //var list2 = await Advertise.GetAllAsync("D:\\DivarTest"); //SimcardAdvBindingSource.DataSource = list2; //Fill Divar City To Grid var list3 = await DivarCityBussines.GetAllAsync(); divarCityBussinesBindingSource.DataSource = list3.ToList(); }
private async Task LoadData(string search = "") { try { var list = await SimcardBussines.GetAllAsync(search); LogInBindingSource.DataSource = list.Where(q => q.Status).ToList(); lblCounter.Text = LogInBindingSource.Count.ToString(); } catch (Exception e) { WebErrorLog.ErrorInstence.StartErrorLog(e); } }
private async Task LoadDataAsync(bool status, string search = "") { try { var list = await SimcardBussines.GetAllAsync(search); Invoke(new MethodInvoker(() => simBindingSource.DataSource = list.Where(q => q.Status == status).OrderBy(q => q.Owner).ToSortableBindingList())); } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); } }
private async Task FillOperatorAsync() { try { var list = await SimcardBussines.GetAllAsync(); cmbOperator.Items.Clear(); cmbOperator.Items.AddRange(list?.Select(q => q.Operator)?.Distinct().ToArray()); } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); } }
private async void btnInsSim_Click(object sender, EventArgs e) { var a = new SimcardBussines { Guid = Guid.NewGuid(), OwnerName = txtOwner.Text, DateSabt = DateConvertor.M2SH(DateTime.Now), Status = true, Number = long.Parse(txtNumber.Text), //NextUseDivar = DateTime.Now, //NextUseSheypoor = DateTime.Now, //NextUseDivarChat = DateTime.Now, Operator = txtOperator.Text, UserName = txtUserName.Text }; await a.SaveAsync(); }
private void FillComboBox() { try { Invoke(new MethodInvoker(async() => { var list = await SimcardBussines.GetAllAsync(); var a = list.Select(q => q.Operator).Distinct().ToList(); cmbOperator.DataSource = a; var divarCat1 = await AdvCategoryBussines.GetAllAsync(Guid.Empty, AdvertiseType.Divar); divarCat1 = divarCat1.OrderBy(q => q.Name).ToList(); PostCat1BindingSource.DataSource = divarCat1; var dCity = await DivarCityBussines.GetAllAsync(); dCity = dCity.OrderBy(q => q.Name).ToList(); DivarCBindingSource.DataSource = dCity; cmbDivarCity.SelectedIndex = 0; var shCity = await SheypoorCityBussines.GetAllAsync(); shCity = shCity.OrderBy(q => q.Name).ToList(); SheypoorCBindingSource.DataSource = shCity; cmbSheypoorCity.SelectedIndex = 0; var divarChat1 = await AdvCategoryBussines.GetAllAsync(Guid.Empty, AdvertiseType.Divar); divarChat1 = divarChat1.OrderBy(q => q.Name).ToList(); DivarChatBindingSource1.DataSource = divarChat1; var sheypoorChat1 = await AdvCategoryBussines.GetAllAsync(Guid.Empty, AdvertiseType.Sheypoor); sheypoorChat1 = sheypoorChat1.OrderBy(q => q.Name).ToList(); SheypoorChatBindingSource1.DataSource = sheypoorChat1; var postCity = await DivarCityBussines.GetAllAsync(); postCity = postCity.OrderBy(q => q.Name).ToList(); PostCityBindingSource.DataSource = postCity; cmbPostCity.SelectedIndex = 0; })); } catch (Exception e) { WebErrorLog.ErrorInstence.StartErrorLog(e); } }
private async Task GetChatCount(long number) { try { _driver = Utility.RefreshDriver(clsAdvertise.IsSilent); await Utility.Wait(); var link = _driver.FindElements(By.TagName("span")).Any(q => q.Text == "حساب من"); if (!link) { return; } await Utility.Wait(); _driver.FindElements(By.TagName("span")).FirstOrDefault(q => q.Text == "حساب من")?.Click(); await Utility.Wait(); var badge = _driver.FindElements(By.ClassName("badge")).Any(); if (!badge) { return; } await Utility.Wait(); var newChat = _driver.FindElement(By.ClassName("badge"))?.FindElement(By.TagName("span"))?.Text ?? ""; if (string.IsNullOrEmpty(newChat)) { return; } var sim = await SimcardBussines.GetAsync(number); TelegramSender.GetChatLog_bot() .Send( $"#چت_شیپور \r\nسیستم مرجع: {await Utilities.GetNetworkIpAddress()} \r\n شماره: {number} \r\n مالک: {sim.Owner} \r\n تعداد چت شیپور: {newChat.FixString()}"); } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); } }
private void frmSimcard_Main_Load(object sender, EventArgs e) { Task.Run(async() => { FillComboBox(); Set_Data(); var sim = await SimcardBussines.GetAllAsync(); var _source = new AutoCompleteStringCollection(); foreach (var item in sim) { _source.Add(item.OwnerName); } Invoke(new MethodInvoker(() => { txtOwner.AutoCompleteMode = AutoCompleteMode.SuggestAppend; txtOwner.AutoCompleteSource = AutoCompleteSource.CustomSource; txtOwner.AutoCompleteCustomSource = _source; })); }); }
private SimcardBussines LoadData(SqlDataReader dr) { var item = new SimcardBussines(); try { item.Guid = (Guid)dr["Guid"]; item.Status = (bool)dr["Status"]; item.Number = (long)dr["Number"]; item.Owner = dr["Owner"].ToString(); item.Operator = dr["Operator"].ToString(); item.isSheypoorBlocked = (bool)dr["isSheypoorBlocked"]; item.NextUseSheypoor = (DateTime)dr["NextUseSheypoor"]; item.NextUseDivar = (DateTime)dr["NextUseDivar"]; } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); } return(item); }
public async Task <ReturnedSaveFuncInfo> ChangeStatusAsync(SimcardBussines item, bool status, SqlTransaction tr) { var res = new ReturnedSaveFuncInfo(); try { var cmd = new SqlCommand("sp_Simcard_ChangeStatus", tr.Connection, tr) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@Guid", item.Guid); cmd.Parameters.AddWithValue("@st", status); await cmd.ExecuteNonQueryAsync(); } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); res.AddReturnedValue(ex); } return(res); }
public async Task <bool> Login(long simCardNumber, bool isFromSimcard) { try { var sim_ = await SimcardBussines.GetAsync(simCardNumber); if (isFromSimcard) { _driver = Utility.RefreshDriver(clsAdvertise.IsSilent); var simBusiness = await Utility.CheckToken(simCardNumber, AdvertiseType.Sheypoor); // در صورتیکه توکن قبلا ثبت شده باشد لاگین می کند if (!simBusiness.HasError) { // token = _driver.Manage().Cookies.GetCookieNamed("ts").ToString().Substring(3, 32); _driver.Navigate().GoToUrl("https://www.sheypoor.com"); _driver.Manage().Cookies.DeleteCookieNamed("ts"); var newToken = new OpenQA.Selenium.Cookie("ts", simBusiness.value); _driver.Manage().Cookies.AddCookie(newToken); _driver.Navigate().GoToUrl("https://www.sheypoor.com/session/myListings"); var linksElements = _driver.FindElements(By.TagName("a")).ToList(); foreach (var link in linksElements) { if (link?.GetAttribute("href") == null || !link.GetAttribute("href").Contains("logout")) { continue; } _driver.ExecuteJavaScript(@"alert('لاگین انجام شد');"); await Utility.Wait(); _driver.SwitchTo().Alert().Accept(); return(true); } } //اگر قبلا توکن نداشته و یا توکن اشتباه باشد وارد صفحه دریافت کد تائید لاگین می شود _driver.Manage().Timeouts().PageLoad = new TimeSpan(0, 2, 0); _driver.Navigate().GoToUrl("https://www.sheypoor.com/session/myListings"); //var all = _driver.Manage().Cookies.AllCookies; if (_driver.FindElements(By.Id("username")).Count > 0) { _driver.FindElement(By.Id("username")).SendKeys(simCardNumber + "\n"); } //انتظار برای لاگین شدن int repeat = 0; //حدود 120 ثانیه فرصت لاگین دارد while (repeat < 20) { //تا زمانی که لاگین اوکی نشده باشد این حلقه تکرار می شود var badGateWay = _driver.FindElements(By.TagName("h1")) .Any(q => q.Text == "502 Bad Gateway" || q.Text == "Error 503 Service Unavailable"); if (badGateWay) { return(false); } var message = $@"مالک: {sim_.Owner} \r\nشماره: {simCardNumber} \r\nلطفا لاگین نمائید "; _driver.ExecuteJavaScript($"alert('{message}');"); //Wait(); await Utility.Wait(5); try { _driver.SwitchTo().Alert().Accept(); await Utility.Wait(10); repeat++; } catch { await Utility.Wait(15); } var linksElements = _driver?.FindElements(By.TagName("a")).ToList() ?? null; AdvTokenBussines advToken = null; foreach (var link in linksElements) { if (link?.GetAttribute("href") == null || !link.GetAttribute("href").Contains("logout")) { continue; } advToken = await AdvTokenBussines.GetTokenAsync(simCardNumber, AdvertiseType.Sheypoor); var token = _driver.Manage().Cookies.GetCookieNamed("ts").ToString().Substring(3, 32); if (advToken != null) { advToken.Token = token; } else { advToken = new AdvTokenBussines() { Type = AdvertiseType.Sheypoor, Token = token, Number = simCardNumber, Guid = Guid.NewGuid(), } }; await advToken.SaveAsync(); _driver.ExecuteJavaScript(@"alert('لاگین انجام شد');"); await Utility.Wait(); _driver.SwitchTo().Alert().Accept(); return(true); } } var linksElements1 = _driver?.FindElements(By.TagName("a")).FirstOrDefault(q => q.Text == "خروج") ?? null; if (linksElements1 == null) { var msg = $@"فرصت لاگین کردن به اتمام رسید. لطفا دقایقی بعد مجددا امتحان نمایید"; _driver.ExecuteJavaScript($"alert('{msg}');"); _driver.SwitchTo().Alert().Accept(); await Utility.Wait(3); } await Utility.Wait(); } else { _driver = Utility.RefreshDriver(clsAdvertise.IsSilent); var simBusiness = await Utility.CheckToken(simCardNumber, AdvertiseType.Sheypoor); // در صورتیکه توکن قبلا ثبت شده باشد لاگین می کند if (!simBusiness.HasError) { // token = _driver.Manage().Cookies.GetCookieNamed("ts").ToString().Substring(3, 32); _driver.Navigate().GoToUrl("https://www.sheypoor.com"); _driver.Manage().Cookies.DeleteCookieNamed("ts"); var newToken = new OpenQA.Selenium.Cookie("ts", simBusiness.value); _driver.Manage().Cookies.AddCookie(newToken); _driver.Navigate().GoToUrl("https://www.sheypoor.com/session/myListings"); var linksElements = _driver.FindElements(By.TagName("a")).ToList(); foreach (var link in linksElements) { if (link?.GetAttribute("href") == null || !link.GetAttribute("href").Contains("logout")) { continue; } _driver.ExecuteJavaScript(@"alert('لاگین انجام شد');"); await Utility.Wait(); _driver.SwitchTo().Alert().Accept(); return(true); } } _driver.Navigate().GoToUrl("https://www.sheypoor.com/session/myListings"); //انتظار برای لاگین شدن int repeat = 0; //حدود 120 ثانیه فرصت لاگین دارد while (repeat < 5) { //تا زمانی که لاگین اوکی نشده باشد این حلقه تکرار می شود var badGateWay = _driver.FindElements(By.TagName("h1")) .Any(q => q.Text == "502 Bad Gateway" || q.Text == "Error 503 Service Unavailable"); if (!badGateWay) { return(false); } var message = $@"مالک: {sim_.Owner} \r\nشماره: {simCardNumber} \r\nلطفا لاگین نمائید "; _driver.ExecuteJavaScript($"alert('{message}');"); //Wait(); await Utility.Wait(2); try { _driver.SwitchTo().Alert().Accept(); await Utility.Wait(1); repeat++; } catch { await Utility.Wait(15); } var linksElements = _driver?.FindElements(By.TagName("a")).ToList() ?? null; AdvTokenBussines advToken = null; foreach (var link in linksElements) { if (link?.GetAttribute("href") == null || !link.GetAttribute("href").Contains("logout")) { continue; } var token = _driver.Manage().Cookies.GetCookieNamed("ts").ToString().Substring(3, 32); advToken = await AdvTokenBussines.GetTokenAsync(simCardNumber, AdvertiseType.Sheypoor); if (advToken != null) { advToken.Token = token; } else { advToken = new AdvTokenBussines() { Type = AdvertiseType.Sheypoor, Token = token, Number = simCardNumber, Guid = Guid.NewGuid(), } }; } await advToken?.SaveAsync(); _driver.ExecuteJavaScript(@"alert('لاگین انجام شد');"); await Utility.Wait(); _driver.SwitchTo().Alert().Accept(); return(true); } } await Utility.Wait(); TelegramSender.GetChatLog_bot().Send( $"#نداشتن_توکن \r\n سیستم مرجع: {await Utilities.GetNetworkIpAddress()} \r\n شماره {simCardNumber} به مالکیت {sim_.Owner} توکن ارسال آگهی شیپور داشته، اما منقضی شده و موفق به لاگین نشد " + $"\r\n به همین سبب توکن شیپور این شماره از دیتابیس حذف خواهد شد " + $"\r\n لطفا نسبت به دریافت مجدد توکن اقدام گردد."); var advTokens = await AdvTokenBussines.GetTokenAsync(simCardNumber, AdvertiseType.Sheypoor); await advTokens?.RemoveAsync(); return(false); } catch (WebException) { return(false); } catch (Exception ex) { if (ex.Source != "WebDriver") { WebErrorLog.ErrorInstence.StartErrorLog(ex); } return(false); } }
public async Task StartRegisterAdv(AdvertiseLogBussines adv, long number) { var counter = 0; try { var res__ = await Utilities.PingHostAsync(); while (res__.HasError) { await Utility.Wait(10); lstMessage.Clear(); lstMessage.Add("خطای اتصال به شبکه"); Utility.ShowBalloon("لطفا اتصال به شبکه را چک نمایید", lstMessage); counter++; } var sim = await SimcardBussines.GetAsync(number); if (sim.isSheypoorBlocked) { lstMessage.Clear(); lstMessage.Add($"نوع آگهی: شیپور"); lstMessage.Add($"شماره: {number}"); lstMessage.Add($"مالک: {sim.Owner}"); lstMessage.Add("بدلیل بلاک بودن، موفق به لاگین نشد"); Utility.ShowBalloon("عدم انجام لاگین", lstMessage); sim.NextUseSheypoor = DateTime.Now.AddDays(1); await sim.SaveAsync(); return; } var tt = await Utility.CheckToken(number, AdvertiseType.Sheypoor); if (tt.HasError) { lstMessage.Clear(); lstMessage.Add($"نوع آگهی: شیپور"); lstMessage.Add($"شماره: {number}"); lstMessage.Add($"مالک: {sim.Owner}"); lstMessage.Add("بدلیل توکن نداشتن، موفق به لاگین نشد"); Utility.ShowBalloon("عدم انجام لاگین", lstMessage); sim.NextUseSheypoor = DateTime.Now.AddDays(1); await sim.SaveAsync(); return; } if (!await Login(number, false)) { return; } await GetChatCount(number); var res_ = await RegisterAdv(adv); if (res_.HasError) { return; } //تشخیص بلاکی _driver.Navigate().GoToUrl("https://www.sheypoor.com/session/myListings"); await Utility.Wait(2); var el = _driver.FindElements(By.TagName("article")).Any(); await Utility.Wait(); if (el) { return; } TelegramSender.GetChatLog_bot().Send($"#گزارش_تشخیص_بلاکی_در_شیپور \r\n" + $" سیمکارت {number} " + $"\r\n به مالکیت {sim.Owner}" + $" \r\n در تاریخ {Calendar.MiladiToShamsi(DateTime.Now)} " + $"\r\n و ساعت {DateTime.Now.ToLongTimeString()} " + $"\r\n از سوی ربات، بلاک شده تشخیص داده شد"); } catch (WebDriverException) { } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); } }
private async void btnFinish_Click(object sender, EventArgs e) { try { btnFinish.Enabled = false; if (cls.Guid == Guid.Empty) { cls.Guid = Guid.NewGuid(); cls.DateSabt = DateConvertor.M2SH(DateTime.Now); } if (string.IsNullOrWhiteSpace(txtNumber.Text)) { WebErrorLog.ErrorInstence.StartErrorLog("لطفا شماره را وارد نمایید", false); txtNumber.Focus(); return; } if (txtNumber.Text.Length < 10 || txtNumber.Text.Length > 12) { WebErrorLog.ErrorInstence.StartErrorLog("شماره وارد شده اشتباه است", false); txtNumber.Focus(); return; } if (!SimcardBussines.Check_Number(long.Parse(txtNumber.Text), cls.Guid)) { WebErrorLog.ErrorInstence.StartErrorLog("شماره وارد شده تکراری است", false); txtNumber.Focus(); return; } if (string.IsNullOrWhiteSpace(txtOwner.Text)) { WebErrorLog.ErrorInstence.StartErrorLog("لطفا مالک را وارد نمایید", false); txtNumber.Focus(); return; } if (string.IsNullOrWhiteSpace(cmbOperator.Text)) { WebErrorLog.ErrorInstence.StartErrorLog("لطفا اپراتور را وارد نمایید", false); txtNumber.Focus(); return; } if (!chbIsEnableNumber.Checked && !chbIsEnableChat.Checked) { WebErrorLog.ErrorInstence.StartErrorLog( "بنابر قوانین سایت دیوار و شیپور، حداقل یکی از گزینه های نمایش شماره یا ارسال چت باید فعال باشد", false); chbIsEnableNumber.Focus(); return; } var listCity = new List <DivarSimCityBussines>(); for (int i = 0; i < dgCity.RowCount; i++) { if ((bool)dgCity[dg_CityChecked.Index, i].Value) { var a = new DivarSimCityBussines() { Guid = Guid.NewGuid(), DateSabt = DateConvertor.M2SH(DateTime.Now), Status = true, SimcardGuid = cls.Guid, CityGuid = (Guid)dgCity[dg_CityGuid.Index, i].Value }; listCity.Add(a); } } var listCitySh = new List <SheypoorSimCityBussines>(); for (int i = 0; i < dgSheypoorCity.RowCount; i++) { if ((bool)dgSheypoorCity[dg_SheypoorCityChecked.Index, i].Value) { var a = new SheypoorSimCityBussines() { Guid = Guid.NewGuid(), DateSabt = DateConvertor.M2SH(DateTime.Now), Status = true, SimcardGuid = cls.Guid, CityGuid = (Guid)dgSheypoorCity[dg_SheypoorCityGuid.Index, i].Value, StateGuid = (Guid)dgSheypoorCity[dg_StateGuid.Index, i].Value }; listCitySh.Add(a); } } var listAds = new List <SimcardAdsBussines>(); for (int i = 0; i < dgAds.RowCount; i++) { if ((bool)dgAds[dg_AdvChecked.Index, i].Value) { var a = new SimcardAdsBussines() { Guid = Guid.NewGuid(), DateSabt = DateConvertor.M2SH(DateTime.Now), Status = true, SimcardGuid = cls.Guid, Advertise = (Guid)dgAds[dg_AdvGuid.Index, i].Value }; listAds.Add(a); } } cls.OwnerName = txtOwner.Text; cls.Status = true; cls.Number = long.Parse(txtNumber.Text); cls.NextUse = DateTime.Now; cls.Operator = cmbOperator.Text; cls.UserName = txtUserName.Text; cls.DivarPostCat1 = (Guid?)cmbPostCat1.SelectedValue ?? null; cls.DivarPostCat2 = (Guid?)cmbPostCat2.SelectedValue ?? null; cls.DivarPostCat3 = (Guid?)cmbPostCat3.SelectedValue ?? null; cls.IsEnableChat = chbIsEnableChat.Checked; cls.IsEnableNumber = chbIsEnableNumber.Checked; cls.IsSendAdv = chbIsSendAdvDivar.Checked; cls.IsSendAdvSheypoor = chbIsSendAdvSheypoor.Checked; cls.IsSendChat = chbIsSendChatDivar.Checked; cls.IsSendChatSheypoor = chbIsSendChatSheypoor.Checked; cls.ChatCount = int.Parse(txtChatCount.Text); cls.DivarCityForChat = (Guid)cmbDivarCity.SelectedValue; cls.SheypoorCityForChat = (Guid)cmbSheypoorCity.SelectedValue; cls.DivarChatCat1 = (Guid)cmbDivarChat1.SelectedValue; cls.DivarChatCat2 = (Guid)cmbDivarChat2.SelectedValue; cls.DivarChatCat3 = (Guid?)cmbDivarChat3.SelectedValue ?? Guid.Empty; cls.SheypoorChatCat1 = (Guid)cmbSheypoorChat1.SelectedValue; cls.SheypoorChatCat2 = (Guid)cmbSheypoorChat2.SelectedValue; cls.isSendPostToTelegram = chbIsSendPostToTelegram.Checked; cls.ChannelForSendPost = txtChannel.Text; cls.PostCount = txtPostCount.Text?.ParseToInt() ?? null; cls.CityForGetPost = (Guid?)cmbPostCity.SelectedValue ?? null; cls.DescriptionForPost = txtPostDescription.Text; cls.isSendSecondChat = chbIsSendSecondText.Checked; cls.FirstChatPassage = txtFirstChatPassage1.Text; cls.FirstChatPassage2 = txtFirstChatPassage2.Text; cls.FirstChatPassage3 = txtFirstChatPassage3.Text; cls.FirstChatPassage4 = txtFirstChatPassage4.Text; cls.SecondChatPassage = txtSecondChatPassage1.Text; cls.FirstChatPassage2 = txtFirstChatPassage2.Text; cls.FirstChatPassage3 = txtFirstChatPassage3.Text; cls.FirstChatPassage4 = txtFirstChatPassage4.Text; cls.SMS_Description = txtSMS.Text; await cls.SaveAsync(listCity, listAds, listCitySh); DialogResult = DialogResult.OK; Close(); } catch (Exception exception) { WebErrorLog.ErrorInstence.StartErrorLog(exception); } finally { btnFinish.Enabled = true; } }
private static async Task SendChat(SettingBussines clsSetting, SimcardBussines simCard) { try { var passage1 = new List <string>(); if (!string.IsNullOrEmpty(simCard.FirstChatPassage)) { passage1.Add(simCard.FirstChatPassage); } if (!string.IsNullOrEmpty(simCard.FirstChatPassage2)) { passage1.Add(simCard.FirstChatPassage2); } if (!string.IsNullOrEmpty(simCard.FirstChatPassage3)) { passage1.Add(simCard.FirstChatPassage3); } if (!string.IsNullOrEmpty(simCard.FirstChatPassage4)) { passage1.Add(simCard.FirstChatPassage4); } var passage2 = new List <string>(); if (!string.IsNullOrEmpty(simCard.SecondChatPassage)) { passage2.Add(simCard.SecondChatPassage); } if (!string.IsNullOrEmpty(simCard.SecondChatPassage2)) { passage2.Add(simCard.SecondChatPassage2); } if (!string.IsNullOrEmpty(simCard.SecondChatPassage3)) { passage2.Add(simCard.SecondChatPassage3); } if (!string.IsNullOrEmpty(simCard.SecondChatPassage4)) { passage2.Add(simCard.SecondChatPassage4); } var date = DateConvertor.M2SH(DateTime.Now); date = date.Replace("/", "_"); if (simCard.IsSendChat) { var city = DivarCityBussines.GetAsync(simCard.DivarCityForChat); var cat1 = AdvCategoryBussines.Get(simCard.DivarChatCat1)?.Name ?? ""; var cat2 = AdvCategoryBussines.Get(simCard.DivarChatCat2)?.Name ?? ""; var cat3 = AdvCategoryBussines.Get(simCard.DivarChatCat3)?.Name ?? ""; var fileName = $"{cat1}__{cat2}__{cat3}__{date}"; fileName = fileName.Replace(" ", "_"); var ff = Path.Combine(clsSetting.Address, fileName + ".txt"); var divar = await DivarAdv.GetInstance(); await divar.SendChat(passage1, passage2, simCard.ChatCount, city.Name, cat1, cat2, cat3, ff, simCard); } //if (simCard.IsSendChatSheypoor) //{ // var city1 = SheypoorCityBussines.GetAsync(simCard.SheypoorCityForChat); // var cat1 = AdvCategoryBussines.Get(simCard.SheypoorChatCat1)?.Name ?? ""; // var cat2 = AdvCategoryBussines.Get(simCard.SheypoorChatCat2)?.Name ?? ""; // var fileName = $"{cat1}__{cat2}__{date}"; // var ff = Path.Combine(clsSetting.Address, fileName + ".txt"); // var shey = await SheypoorAdv.GetInstance(); // await shey.SendChat(passage1, passage2, simCard.ChatCount, city1.Name, cat1, cat2, null, // ff, simCard); //} simCard.NextUse = DateTime.Now.AddMinutes(30); await simCard.SaveAsync(); } catch (Exception e) { WebErrorLog.ErrorInstence.StartErrorLog(e); } }
public static async Task ManageAdvSend(SettingBussines clsSetting) { try { var tokenSource = new CancellationTokenSource(); SimcardBussines firstSimCardBusiness = null; var list = await SimcardBussines.GetAllAsync(); list = list.OrderBy(q => q.NextUse).Where(q => q.Status).ToList(); foreach (var simCard in list) { while (!await Utility.PingHost("www.google.com")) { //خطا در برقراری اتصال به اینترنت await Utility.Wait(10); lstMessage.Clear(); lstMessage.Add("خطا در برقراری اتصال به اینترنت"); Utility.ShowBalloon("لطفا شبکه خود را چک نمایید", lstMessage); } if (simCard.isSendPostToTelegram) { var city = DivarCityBussines.GetAsync(simCard.CityForGetPost ?? Guid.Empty)?.Name ?? "مشهد"; var cat1 = AdvCategoryBussines.Get(simCard.DivarPostCat1 ?? Guid.Empty)?.Name ?? "خدمات"; var cat2 = AdvCategoryBussines.Get(simCard.DivarPostCat2 ?? Guid.Empty)?.Name ?? "آرایشگری و زیبایی"; var cat3 = AdvCategoryBussines.Get(simCard.DivarPostCat3 ?? Guid.Empty)?.Name ?? ""; var chatID = simCard.ChannelForSendPost ?? "@Test2_2211201"; var divar = await DivarAdv.GetInstance(); await divar.GetPost(simCard.Number, cat1, cat2, cat3 , city, simCard.PostCount ?? 5, chatID, simCard.DescriptionForPost ?? "", simCard.SMS_Description); } if (simCard.IsSendAdv) { try { //کنترل شماره خروجی if (simCard.Number == 0) { lstMessage.Clear(); lstMessage.Add("پر شدن تعداد آگهی در IP"); Utility.ShowBalloon("پر شدن تعداد آگهی در " + await Utility.FindGateWay(), lstMessage); continue; } //کنترل تعداد آگهی ارسال شده در هر IP while (clsSetting?.CountAdvInIP <= AdvertiseLogBussines.GetAllAdvInDayFromIP(await Utility.GetLocalIpAddress())) { await Utility.Wait(20); lstMessage.Clear(); lstMessage.Add("پر شدن تعداد آگهی"); Utility.ShowBalloon("پر شدن تعداد آگهی در " + await Utility.FindGateWay(), lstMessage); await SendChat(clsSetting, simCard); } firstSimCardBusiness = await SimcardBussines.GetAsync(simCard.Number); if (firstSimCardBusiness is null) { continue; } var lastUse = firstSimCardBusiness.NextUse; var startDayOfCurrentMonthOfDateShToMiladi = DateConvertor.StartDayOfPersianMonth(); var startDayOfNextMonthOfDateShToMiladi = DateConvertor.EndDayOfPersianMonth().AddDays(1); //آمار آگهی های ثبت شده برای سیم کارت در ماه جاری var a1 = await AdvertiseLogBussines.GetAllAsync(); a1 = a1.Where(p => p.SimCardNumber == simCard.Number && (p.StatusCode == StatusCode .Published || p.StatusCode == StatusCode .InPublishQueue || p.StatusCode == StatusCode .WaitForPayment) && p.DateM >= startDayOfCurrentMonthOfDateShToMiladi).ToList(); var registeredAdvCount = a1.Count; if (registeredAdvCount >= clsSetting?.CountAdvInMounth) { //تاریخ روز اول ماه شمسی بعد را تنظیم می کند چون تا سر ماه بعد دیگر نیازی به این سیم کارت نیست firstSimCardBusiness.NextUse = startDayOfNextMonthOfDateShToMiladi; await firstSimCardBusiness.SaveAsync(); lstMessage.Clear(); lstMessage.Add( $"سیمکارت {simCard.Number} به دلیل پر بودن آگهی ها در ماه موفق به ارسال آگهی نشد"); Utility.ShowBalloon("عدم ارسال آگهی", lstMessage); await SendChat(clsSetting, simCard); continue; } //آمار آگهی های ثبت شده امروز var currentDate = DateTime.Now.Date; var a2 = await AdvertiseLogBussines.GetAllAsync(); a2 = a2.Where(p => p.SimCardNumber == simCard.Number && (p.StatusCode == StatusCode.Published || p.StatusCode == StatusCode.InPublishQueue || p.StatusCode == StatusCode.WaitForPayment) && p.DateM >= currentDate).ToList(); registeredAdvCount = a2.Count; if (registeredAdvCount >= clsSetting?.CountAdvInDay) { //تاریخ فردا رو ست می کند چون تا فردا دیگه نیازی به این سیم کارت نیست firstSimCardBusiness.NextUse = DateTime.Today.AddDays(1); await firstSimCardBusiness.SaveAsync(); lstMessage.Clear(); lstMessage.Add( $"سیمکارت {simCard.Number} به دلیل پرپودن آگهی ها در روز موفق به ارسال آگهی نشد"); Utility.ShowBalloon("عدم ارسال آگهی", lstMessage); await SendChat(clsSetting, simCard); continue; } var divar = await DivarAdv.GetInstance(); await divar.StartRegisterAdv(simCard); simCard.NextUse = DateTime.Now.AddMinutes(30); await simCard.SaveAsync(); await Wait(2); } catch (Exception e) { } } if (simCard.IsSendAdvSheypoor) { //کنترل شماره خروجی if (simCard.Number == 0) { lstMessage.Clear(); lstMessage.Add("پر شدن تعداد آگهی در IP"); Utility.ShowBalloon("پر شدن تعداد آگهی در " + await Utility.FindGateWay(), lstMessage); continue; } //کنترل تعداد آگهی ارسال شده در هر IP while (clsSetting?.CountAdvInIP <= AdvertiseLogBussines.GetAllAdvInDayFromIP(await Utility.GetLocalIpAddress())) { await Utility.Wait(20); lstMessage.Clear(); lstMessage.Add("پر شدن تعداد آگهی"); Utility.ShowBalloon("پر شدن تعداد آگهی در " + await Utility.FindGateWay(), lstMessage); await SendChat(clsSetting, simCard); } firstSimCardBusiness = await SimcardBussines.GetAsync(simCard.Number); if (firstSimCardBusiness is null) { continue; } var lastUse = firstSimCardBusiness.NextUse; var card1 = simCard.Number; var startDayOfCurrentMonthOfDateShToMiladi = DateConvertor.StartDayOfPersianMonth(); var startDayOfNextMonthOfDateShToMiladi = DateConvertor.EndDayOfPersianMonth().AddDays(1); //آمار آگهی های ثبت شده برای سیم کارت در ماه جاری var a1 = await AdvertiseLogBussines.GetAllAsync(); a1 = a1.Where(p => p.SimCardNumber == card1 && (p.StatusCode == StatusCode .Published || p.StatusCode == StatusCode .InPublishQueue || p.StatusCode == StatusCode .WaitForPayment) && p.DateM >= startDayOfCurrentMonthOfDateShToMiladi).ToList(); var registeredAdvCount = a1.Count; if (registeredAdvCount >= clsSetting?.CountAdvInMounth) { //تاریخ روز اول ماه شمسی بعد را تنظیم می کند چون تا سر ماه بعد دیگر نیازی به این سیم کارت نیست firstSimCardBusiness.NextUse = startDayOfNextMonthOfDateShToMiladi; await firstSimCardBusiness.SaveAsync(); lstMessage.Clear(); lstMessage.Add( $"سیمکارت {simCard.Number} به دلیل پر بودن آگهی ها در ماه موفق به ارسال آگهی نشد"); Utility.ShowBalloon("عدم ارسال آگهی", lstMessage); await SendChat(clsSetting, simCard); continue; } //آمار آگهی های ثبت شده امروز var currentDate = DateTime.Now.Date; var a2 = await AdvertiseLogBussines.GetAllAsync(); a2 = a2.Where(p => p.SimCardNumber == card1 && (p.StatusCode == StatusCode.Published || p.StatusCode == StatusCode.InPublishQueue || p.StatusCode == StatusCode.WaitForPayment) && p.DateM >= currentDate).ToList(); registeredAdvCount = a2.Count; if (registeredAdvCount >= clsSetting?.CountAdvInDay) { //تاریخ فردا رو ست می کند چون تا فردا دیگه نیازی به این سیم کارت نیست firstSimCardBusiness.NextUse = DateTime.Today.AddDays(1); await firstSimCardBusiness.SaveAsync(); lstMessage.Clear(); lstMessage.Add( $"سیمکارت {simCard.Number} به دلیل پرپودن آگهی ها در روز موفق به ارسال آگهی نشد"); Utility.ShowBalloon("عدم ارسال آگهی", lstMessage); await SendChat(clsSetting, simCard); continue; } var shey = await SheypoorAdv.GetInstance(); await shey.StartRegisterAdv(simCard); simCard.NextUse = DateTime.Now.AddMinutes(30); await simCard.SaveAsync(); await Wait(2); } if (simCard.IsSendChat) { await SendChat(clsSetting, simCard); } CloseAllChromeWindows(); simCard.NextUse = DateTime.Now.AddHours(1); await simCard.SaveAsync(); } await Utility.Wait(10); lstMessage.Clear(); lstMessage.Add("لیست کاملا پیمایش شد"); Utility.ShowBalloon("اتمام یک دور کامل از پیمایش سیمکارت ها", lstMessage); await UpdateAdvStatus(clsSetting?.DayCountForUpdateState ?? 10); CloseAllChromeWindows(); } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); } }
public async Task <bool> Login(long simCardNumber) { try { _driver = Utility.RefreshDriver(_driver); if (!_driver.Url.Contains("divar.ir")) { _driver.Navigate().GoToUrl("https://divar.ir"); } var simBusiness = await SimcardBussines.GetAsync(simCardNumber); var tokenInDatabase = simBusiness?.DivarToken ?? null; var listLinkItems = _driver.FindElements(By.TagName("a")); var isLogined = listLinkItems.Any(linkItem => linkItem.Text == @"خروج"); //اگر کاربر لاگین شده فعلی همان کاربر مورد نظر است نیازی به لاگین نیست if (isLogined && !string.IsNullOrEmpty(tokenInDatabase)) { var currentTokenOnDivar = _driver.Manage().Cookies.GetCookieNamed("token").Value; if (!string.IsNullOrEmpty(currentTokenOnDivar) && currentTokenOnDivar == tokenInDatabase) { return(true); } } //اگر کاربرلاگین شده کاربر مد نظر ما نیست از آن کاربری خارج می شود if (isLogined) { _driver.Manage().Cookies.DeleteCookieNamed("_gat"); _driver.Manage().Cookies.DeleteCookieNamed("token"); } //در صورتیکه توکن قبلا ثبت شده باشد لاگین می کند if (!string.IsNullOrEmpty(tokenInDatabase)) { var token = new Cookie("token", tokenInDatabase); _driver.Manage().Cookies.AddCookie(token); _driver.Navigate().Refresh(); } //اگر قبلا توکن نداشته وارد صفحه دریافت کد تائید لاگین می شود else { _driver.Navigate().GoToUrl("https://divar.ir/my-divar/my-posts"); //کلیک روی دکمه ورود و ثبت نام await Utility.Wait(); _driver.FindElement(By.ClassName("login-message__login-btn")).Click(); await Utility.Wait(); var currentWindow = _driver.CurrentWindowHandle; _driver.SwitchTo().Window(currentWindow); if (_driver.FindElements(By.Name("mobile")).Count > 0) { _driver.FindElement(By.Name("mobile")).SendKeys("0" + simCardNumber); } } //انتظار برای لاگین شدن int repeat = 0; //حدود 120 ثانیه فرصت لاگین دارد while (repeat < 20) { //تا زمانی که لاگین اوکی نشده باشد این حلقه تکرار می شود listLinkItems = _driver.FindElements(By.TagName("a")); if (listLinkItems.Count < 5) { return(false); } var isLogin = listLinkItems.Any(linkItem => linkItem.Text == @"خروج"); if (isLogin) { //var all = _driver.Manage().Cookies.AllCookies.ToList(); tokenInDatabase = _driver.Manage().Cookies.GetCookieNamed("token").Value; if (simBusiness is null) { simBusiness = new SimcardBussines() { Guid = Guid.NewGuid() } } ; simBusiness.DivarToken = tokenInDatabase; simBusiness.Modified = DateTime.Now; simBusiness.Number = simCardNumber; await simBusiness.SaveAsync(); ((IJavaScriptExecutor)_driver).ExecuteScript(@"alert('لاگین انجام شد');"); await Utility.Wait(); _driver.SwitchTo().Alert().Accept(); return(true); } var name = await SimcardBussines.GetAsync(simCardNumber); var message = $@"مالک: {name.OwnerName} \r\nشماره: {name.Number} \r\nلطفا لاگین نمائید "; ((IJavaScriptExecutor)_driver).ExecuteScript($"alert('{message}');"); await Utility.Wait(3); try { _driver.SwitchTo().Alert().Accept(); await Utility.Wait(3); repeat++; } catch { await Utility.Wait(10); } } return(false); } catch (WebException) { return(false); } catch (Exception ex) { if (ex.Source != "WebDriver") { WebErrorLog.ErrorInstence.StartErrorLog(ex); } return(false); } }
public frmSimcard() { InitializeComponent(); cls = new SimcardBussines(); }
public async Task SendChat(List <string> msg, List <string> msg2, int count, string city, string cat1, string cat2, string cat3, string fileName, SimcardBussines sim) { //try //{ // //توکن چت نداشت برگرد // var log2 = await SimcardBussines.GetAsync(sim.Number); // if (log2.ChatToken != null && string.IsNullOrEmpty(log2.ChatToken)) return; // //ورود به دیوار // var log = await Login(sim.Number); // if (!log) return; // //_driver.Navigate().GoToUrl("https://divar.ir/"); // await Utility.Wait(); // //انتخاب شهر // _driver.FindElement(By.ClassName("city-selector")).Click(); // await Utility.Wait(); // _driver.FindElements(By.TagName("a")).LastOrDefault(q => q.Text == city)?.Click(); // await Utility.Wait(2); // //انتخاب دسته بندی // if (!string.IsNullOrEmpty(cat1)) // { // var p = _driver.FindElements(By.ClassName("category-dropdown__icon")).Any(); // if (!p) return; // _driver.FindElements(By.ClassName("category-dropdown__icon")).FirstOrDefault()?.Click(); // await Utility.Wait(); // _driver.FindElements(By.ClassName("category-button")).FirstOrDefault(q => q.Text == cat1) // ?.Click(); // if (string.IsNullOrEmpty(cat2)) // return; // if (string.IsNullOrEmpty(cat3)) // _driver.FindElements(By.ClassName("category-button")).FirstOrDefault(q => q.Text == cat2) // ?.Click(); // else // _driver.FindElements(By.ClassName("category-button")).FirstOrDefault(q => q.Text == cat3) // ?.Click(); // await Utility.Wait(); // } // var ele = _driver.FindElements(By.ClassName("col-xs-12")).Any(); // while (!ele) // { // ele = _driver.FindElements(By.ClassName("col-xs-12")).Any(); // } // await Utility.Wait(5); // var j = 0; // //اسکرول تا تعداد مشخص // var counter = _driver.FindElements(By.ClassName("col-xs-12")).ToList(); // var total = counter.Count; // var scroll = 0; // while (counter.Count <= count) // { // if (scroll >= 10) break; // ((IJavaScriptExecutor)_driver).ExecuteScript("window.scrollTo(0, document.body.scrollHeight)"); // await Utility.Wait(); // counter = _driver.FindElements(By.ClassName("col-xs-12")).ToList(); // if (total == counter.Count) break; // scroll++; // } // if (counter.Count <= count) count = counter.Count - 1; // for (var i = 0; j < count; i++) // { // //انتخاب آگهی // await Utility.Wait(); // _driver.FindElements(By.ClassName("col-xs-12"))[i + 1]?.Click(); // await Utility.Wait(1); // //دریافت شماره آگهی // await Utility.Wait(5); // _driver.FindElement(By.ClassName("post-actions__get-contact")).Click(); // await Utility.Wait(); // var a = _driver.FindElements(By.ClassName("primary")) // .FirstOrDefault(q => q.Text == "با قوانین دیوار موافقم"); // if (a != null) // _driver.FindElements(By.ClassName("primary")) // .FirstOrDefault(q => q.Text == "با قوانین دیوار موافقم")?.Click(); // await Utility.Wait(1); // //چت // var el = _driver.FindElements(By.ClassName("post-actions__chat")).Any(); // var txt = _driver.FindElements(By.ClassName("post-fields-item__value")).FirstOrDefault()?.Text; // if (txt == "(پنهانشده؛ چت کنید)") // { // //شروع چت // _driver.FindElement(By.ClassName("post-actions__chat")).Click(); // var qanoon = _driver.FindElements(By.TagName("button")) // .Where(q => q.Text == "با قوانین دیوار موافقم").ToList(); // if (qanoon.Count > 0) // qanoon.FirstOrDefault()?.Click(); // var dc = _driver.WindowHandles.Count; // if (dc > 1) // _driver.SwitchTo().Window(_driver.WindowHandles[1]); // await Utility.Wait(2); // var notAllowed = _driver.FindElements(By.TagName("p")) // .Any(q => q.Text == "در حال حاضر امکان ارسال این نوع پیام وجود ندارد."); // if (notAllowed) // { // _driver.Close(); // _driver.SwitchTo().Window(_driver.WindowHandles[0]); // _driver.Navigate().Back(); // return; // } // await Utility.Wait(2); // var notFound = _driver.FindElements(By.ClassName("content")).Any(q => q.Text == "یافت نشد!"); // if (notFound) // { // _driver.FindElements(By.TagName("button")).FirstOrDefault(q => q.Text == "بستن")?.Click(); // _driver.Close(); // _driver.SwitchTo().Window(_driver.WindowHandles[0]); // _driver.Navigate().Back(); // continue; // } // var logEl = _driver.FindElements(By.ClassName("auth__input__view")).Any(); // if (logEl) // { // var tt = await LoginChat(sim.Number, false); // if (!tt) // { // _driver.Close(); // _driver.SwitchTo().Window(_driver.WindowHandles[0]); // _driver.Navigate().Back(); // return; // } // } // await Utility.Wait(2); // var chatBox = _driver.FindElements(By.ClassName("chat-box__input")).Any(); // while (!chatBox) // { // await Utility.Wait(2); // chatBox = _driver.FindElements(By.ClassName("chat-box__input")).Any(); // } // var rnd = new Random().Next(0, msg.Count); // await Utility.Wait(2); // try // { // //ارسال متن اول // var thread = new Thread(() => Clipboard.SetText(msg[rnd])); // thread.SetApartmentState(ApartmentState.STA); // thread.Start(); // var f = _driver.FindElements(By.ClassName("chat-box__input")).Any(); // while (!f) // { // f = _driver.FindElements(By.ClassName("chat-box__input")).Any(); // } // var t = _driver.FindElement(By.ClassName("chat-box__input")); // t.Click(); // await Utility.Wait(); // t.SendKeys(OpenQA.Selenium.Keys.Control + "v"); // t.SendKeys("" + '\n'); // var thread1 = new Thread(Clipboard.Clear); // thread1.SetApartmentState(ApartmentState.STA); // thread1.Start(); // await Utility.Wait(2); // // ذخیره شماره در جدول که بعدا کسی باهاش چت نکنه // var chatNumbers = new ChatNumberBussines() // { // Guid = Guid.NewGuid(), // Number = txt.FixString(), // DateSabt = DateConvertor.M2SH(DateTime.Now), // Status = true, // Type = AdvertiseType.Divar, // DateM = DateTime.Now, // City = city, // Cat = cat1 + "_" + cat2 + "_" + cat3 // }; // await chatNumbers.SaveAsync(); // j++; // } // catch (Exception e) // { // WebErrorLog.ErrorInstence.StartErrorLog(e); // } // _driver.Close(); // _driver.SwitchTo().Window(_driver.WindowHandles[0]); // _driver.Navigate().Back(); // break; // } // else // { // if (!el) // { // //ذخیره شماره // if (File.Exists(fileName)) // { // var numbers = File.ReadAllLines(fileName).ToList(); // numbers.Add(txt.FixString()); // //غیر تکراری بودن شماره // numbers = numbers.GroupBy(q => q).Where(q => q.Count() == 1).Select(q => q.Key).ToList(); // File.WriteAllLines(fileName, numbers); // } // else // { // File.WriteAllText(fileName, txt.FixString()); // } // _driver.Navigate().Back(); // continue; // } // //اگر شماره قبلا چت شده بود چت نکن // var day = DateTime.Now.AddDays(-clsSetting.DayCountForDelete); // var allNumbers = ChatNumberBussines.GetAll(AdvertiseType.Divar).Where(q => q.DateM >= day) // .ToList(); // var n = 0; // foreach (var item in allNumbers) // { // if (item == null && string.IsNullOrEmpty(item.Number)) continue; // if (txt.FixString() == item.Number) // n++; // } // if (n > 0) // { // _driver.Navigate().Back(); // continue; // } // //شروع چت // await Utility.Wait(3); // _driver.FindElement(By.ClassName("post-actions__chat")).Click(); // var qanoon = _driver.FindElements(By.TagName("button")) // .Where(q => q.Text == "با قوانین دیوار موافقم").ToList(); // if (qanoon.Count > 0) // qanoon.FirstOrDefault()?.Click(); // var dc = _driver.WindowHandles.Count; // if (dc > 1) // _driver.SwitchTo().Window(_driver.WindowHandles[1]); // await Utility.Wait(2); // var notAllowed = _driver.FindElements(By.TagName("p")) // .Any(q => q.Text == "در حال حاضر امکان ارسال این نوع پیام وجود ندارد."); // if (notAllowed) // { // _driver.Close(); // _driver.SwitchTo().Window(_driver.WindowHandles[0]); // _driver.Navigate().Back(); // return; // } // var notFound = _driver.FindElements(By.ClassName("content")).Any(q => q.Text == "یافت نشد!"); // if (notFound) // { // _driver.FindElements(By.TagName("button")).FirstOrDefault(q => q.Text == "بستن")?.Click(); // _driver.Close(); // _driver.SwitchTo().Window(_driver.WindowHandles[0]); // _driver.Navigate().Back(); // continue; // } // var logEl = _driver.FindElements(By.ClassName("auth__input__view")).Any(); // if (logEl) // { // var tt = await LoginChat(sim.Number, false); // if (!tt) // { // _driver.Close(); // _driver.SwitchTo().Window(_driver.WindowHandles[0]); // _driver.Navigate().Back(); // return; // } // } // await Utility.Wait(2); // var chatBox = _driver.FindElements(By.ClassName("chat-box__input")).Any(); // while (!chatBox) // { // await Utility.Wait(2); // chatBox = _driver.FindElements(By.ClassName("chat-box__input")).Any(); // } // var rnd = new Random().Next(0, msg.Count); // await Utility.Wait(2); // try // { // var f = _driver.FindElements(By.ClassName("chat-box__input")).Any(); // while (!f) // { // f = _driver.FindElements(By.ClassName("chat-box__input")).Any(); // } // //ارسال متن اول // var thread = new Thread(() => Clipboard.SetText(msg[rnd])); // thread.SetApartmentState(ApartmentState.STA); // thread.Start(); // var t = _driver.FindElement(By.ClassName("chat-box__input")); // t.Click(); // await Utility.Wait(); // t.SendKeys(OpenQA.Selenium.Keys.Control + "v"); // t.SendKeys("" + '\n'); // var thread1 = new Thread(Clipboard.Clear); // thread1.SetApartmentState(ApartmentState.STA); // thread1.Start(); // //_driver.FindElement(By.ClassName("chat-box__input")).SendKeys(msg[rnd] + '\n'); // await Utility.Wait(2); // //اگر کاربر جواب داده بود، متن دوم رو بفرست // var allChat = _driver.FindElements(By.ClassName("dimmable")) // .Where(q => q.Text.Contains("پیام جدید") && !q.Text.Contains("پستچی دیوار")).ToList(); // await Utility.Wait(1); // if (allChat.Count > 0) // { // foreach (var element in allChat) // { // element.Click(); // var rnd2 = new Random().Next(0, msg2.Count); // await Utility.Wait(1); // var thread10 = new Thread(() => Clipboard.SetText(msg2[rnd2])); // thread10.SetApartmentState(ApartmentState.STA); // thread10.Start(); // var t2 = _driver.FindElement(By.ClassName("chat-box__input")); // t2.Click(); // await Utility.Wait(); // t2.SendKeys(OpenQA.Selenium.Keys.Control + "v"); // t2.SendKeys("" + '\n'); // var thread101 = new Thread(Clipboard.Clear); // thread101.SetApartmentState(ApartmentState.STA); // thread101.Start(); // //_driver.FindElement(By.ClassName("chat-box__input")).SendKeys(msg2[rnd2] + '\n'); // await Utility.Wait(2); // } // } // // ذخیره شماره در جدول که بعدا کسی باهاش چت نکنه // var chatNumbers = new ChatNumberBussines() // { // Guid = Guid.NewGuid(), // Number = txt.FixString(), // DateSabt = DateConvertor.M2SH(DateTime.Now), // Status = true, // Type = AdvertiseType.Divar, // DateM = DateTime.Now, // City = city, // Cat = cat1 + "_" + cat2 + "_" + cat3 // }; // await chatNumbers.SaveAsync(); // j++; // } // catch (Exception e) // { // WebErrorLog.ErrorInstence.StartErrorLog(e); // } // _driver.Close(); // _driver.SwitchTo().Window(_driver.WindowHandles[0]); // _driver.Navigate().Back(); // } // } //} //catch (StaleElementReferenceException) { } //catch (Exception ex) //{ // WebErrorLog.ErrorInstence.StartErrorLog(ex); //} }
public frmSimcardMain() { InitializeComponent(); cls = new SimcardBussines(); ucHeader.Text = "افزودن سیمکارت جدید"; }