public static void ReportProcessRenew() { CloseInternetExplorers(); var totaltodayReportList = MySqlHelper.PopulateTodayRenewAdsForReport(); ServiceLog.CraigslistErrorLog("*****************************************NUMBEROFADTORUN = " + totaltodayReportList.Count + "*******************************************"); int showedAds = 0; int flagedAds = 0; foreach (var vehicle in totaltodayReportList) { try { if (_browser == null) { _browser = new IE(vehicle.CraigslistUrl); } else { _browser.GoToNoWait(vehicle.CraigslistUrl); } _browser.ShowWindow(NativeMethods.WindowShowStyle.Hide); System.Threading.Thread.Sleep(1000); if (_browser.Html.Contains("This posting has been flagged for removal")) { MySqlHelper.NonShowAds(vehicle.AdTrackingId); ServiceLog.CraigslistErrorLog(vehicle.AdTrackingId.ToString(CultureInfo.InvariantCulture) + " == FLAGGED"); flagedAds++; } else { MySqlHelper.ShowAds(vehicle.AdTrackingId); ServiceLog.CraigslistErrorLog(vehicle.AdTrackingId.ToString(CultureInfo.InvariantCulture) + " == SHOWED"); showedAds++; } System.Threading.Thread.Sleep(200); } catch (Exception ex) { ServiceLog.CraigslistErrorLog(ex.Message); } } if (_browser != null) { _browser.ClearCache(); _browser.ClearCookies(); _browser.Close(); _browser = null; } var percentage = Math.Ceiling(((double)showedAds / totaltodayReportList.Count()) * 100); var builder = new StringBuilder(); builder.Append("NUMBER OF RENEW ADS TODAY = <b>" + totaltodayReportList.Count + "....."); builder.Append("NUMBER OF RENEW ADS SHOWED = " + showedAds + "....."); builder.Append("NUMBER OF RENEW ADS FLAGGED = " + flagedAds + "...."); builder.Append("PERCENTAGE = <b>" + percentage.ToString(CultureInfo.InvariantCulture) + "%" + "......."); SmsHelper.SendMessageToAtt("Craigslist Report", builder.ToString()); ServiceLog.CraigslistErrorLog("*****************************************SHOWED = " + showedAds + "*******************************************"); ServiceLog.CraigslistErrorLog("*****************************************FLAGGED = " + flagedAds + "*******************************************"); ServiceLog.CraigslistErrorLog("*****************************************DONE*******************************************"); }
public static void RenewAdsProcessByEmailAccount() { var totalrenewList = MySqlHelper.PopulateEmailHavingRenewAds() .OrderByDescending(x => x.CraigslistAccountName); //.Split(7) //.ElementAt(splitPart - 1); ServiceLog.CraigslistErrorLog(totalrenewList.Count() + "------------"); foreach (var eAccount in totalrenewList) { try { System.Threading.Thread.Sleep(2000); if (_browser == null) { _browser = new IE("https://accounts.craigslist.org/"); } else { _browser.GoTo("https://accounts.craigslist.org/"); } _browser.ShowWindow(NativeMethods.WindowShowStyle.Hide); System.Threading.Thread.Sleep(2000); if (_browser != null && IsAlreadyLogin()) { System.Threading.Thread.Sleep(2000); _browser.Span(Find.ById("ef")).Links.First().Click(); System.Threading.Thread.Sleep(6000); _browser.ClearCache(); _browser.GoTo("https://accounts.craigslist.org/"); } //_browser.ShowWindow(NativeMethods.WindowShowStyle.ShowMaximized); System.Threading.Thread.Sleep(2000); _browser.TextField(Find.ByName("inputEmailHandle")).TypeText(eAccount.CraigslistAccountName); _browser.TextField(Find.ByName("inputPassword")).TypeText(eAccount.CraigslistAccountPassword); System.Threading.Thread.Sleep(2000); _browser.Buttons.First().Click(); int numberofPages = 1; int numberofFilterpage = 0; foreach (var tmp in _browser.Links) { if (!String.IsNullOrEmpty(tmp.Url) && tmp.Url.Contains("filter_page")) { numberofFilterpage++; } } numberofPages = numberofPages + numberofFilterpage / 2; ServiceLog.CraigslistErrorLog("**** NUMBER OF PAGES = " + numberofPages + "****"); if (numberofPages > 0) { for (int i = 1; i <= numberofPages; i++) { if (i == 1) { var allDeleteTab = _browser.TableCells.ToArray(); var listofDeleted = new List <long>(); foreach (var deleteTmp in allDeleteTab) { if (!String.IsNullOrEmpty(deleteTmp.GetAttributeValue("style")) && deleteTmp.GetAttributeValue("style").Contains("border: 1px solid pink") && !String.IsNullOrEmpty(deleteTmp.Text)) { long clpostingId = 0; Int64.TryParse(deleteTmp.Text, out clpostingId); if (clpostingId > 0) { listofDeleted.Add(clpostingId); } } } MySqlHelper.PinkAdInClAccountManagement( listofDeleted); System.Threading.Thread.Sleep(2000); if (_browser.Buttons.Any(x => x.Value == "renew")) { do { var tmp = _browser.Buttons.First(x => x.Value == "renew"); System.Threading.Thread.Sleep(3000); tmp.Click(); var clPostingIdString = _browser.Url.Substring( _browser.Url.LastIndexOf("/", System.StringComparison.Ordinal) + 1); long clPostingId = 0; Int64.TryParse(clPostingIdString, out clPostingId); if (clPostingId > 0) { MySqlHelper.ShowAdsButEligibleForRenewFromClAccountManagement( clPostingId); } ServiceLog.CraigslistErrorLog(clPostingIdString + "Renew------------"); System.Threading.Thread.Sleep(8000); _browser.GoTo("https://accounts.craigslist.org/"); System.Threading.Thread.Sleep(3000); } while (_browser.Buttons.Any(x => x.Value == "renew")); } } else { _browser.GoTo("https://accounts.craigslist.org/?filter_page=" + i + "&filter_cat=0&filter_date=0&filter_active=0&show_tab=postings"); var allDeleteTab = _browser.TableCells.ToArray(); var listofDeleted = new List <long>(); foreach (var deleteTmp in allDeleteTab) { if (!String.IsNullOrEmpty(deleteTmp.GetAttributeValue("style")) && deleteTmp.GetAttributeValue("style").Contains("border: 1px solid pink") && !String.IsNullOrEmpty(deleteTmp.Text)) { long clpostingId = 0; Int64.TryParse(deleteTmp.Text, out clpostingId); if (clpostingId > 0) { listofDeleted.Add(clpostingId); } } } MySqlHelper.PinkAdInClAccountManagement( listofDeleted); System.Threading.Thread.Sleep(2000); if (_browser.Buttons.Any(x => x.Value == "renew")) { do { var tmp = _browser.Buttons.First(x => x.Value == "renew"); System.Threading.Thread.Sleep(3000); tmp.Click(); var clPostingIdString = _browser.Url.Substring( _browser.Url.LastIndexOf("/", System.StringComparison.Ordinal) + 1); long clPostingId = 0; Int64.TryParse(clPostingIdString, out clPostingId); if (clPostingId > 0) { MySqlHelper.ShowAdsButEligibleForRenewFromClAccountManagement( clPostingId); } ServiceLog.CraigslistErrorLog(clPostingIdString + "Renew------------"); System.Threading.Thread.Sleep(8000); _browser.GoTo("https://accounts.craigslist.org/?filter_page=" + i + "&filter_cat=0&filter_date=0&filter_active=0&show_tab=postings"); System.Threading.Thread.Sleep(3000); } while (_browser.Buttons.Any(x => x.Value == "renew")); } } } } } catch (Exception ex) { ServiceLog.CraigslistErrorLog(ex.Message); ServiceLog.CraigslistErrorLog(ex.StackTrace); if (_browser != null) { _browser.ClearCache(); _browser.ClearCookies(); _browser = new IE("https://accounts.craigslist.org/"); } else { _browser.GoTo("https://accounts.craigslist.org/"); } System.Threading.Thread.Sleep(2000); } } //if (_browser != null) //{ // _browser.ClearCache(); // _browser.ClearCookies(); // _browser.Close(); //} CloseInternetExplorers(); }