public string FTP_ORDeschutes(string address, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; GlobalClass.sname = "OR"; GlobalClass.cname = "Deschutes"; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; // driver = new ChromeDriver();; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "OR", "Deschutes"); if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { driver.Quit(); return("MultiParcel"); } else if (HttpContext.Current.Session["titleparcel"].ToString() == "") { HttpContext.Current.Session["Nodata_ORDeschutes"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://dial.deschutes.org/"); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/div[1]/div[1]/ul/li[6]/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("value")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "OR", "Deschutes"); driver.FindElement(By.XPath("/html/body/div[1]/div[2]/form/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "OR", "Deschutes"); //MultiParcel try { IWebElement MultiTable = driver.FindElement(By.XPath("/html/body/div[1]/div[2]/div[2]/div[4]/div/table/tbody")); IList <IWebElement> MultiTR = MultiTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiTD; gc.CreatePdf_WOP(orderNumber, "MultiAddresssearch", driver, "OR", "Deschutes"); foreach (IWebElement Multi in MultiTR) { MultiTD = Multi.FindElements(By.TagName("td")); if (MultiTD.Count != 0 && !Multi.Text.Contains("Personal")) { parcelNumber = MultiTD[2].Text; OwnerName = MultiTD[3].Text; Property_Address = MultiTD[4].Text; City = MultiTD[5].Text; Subdivision = MultiTD[6].Text; Property_Type = MultiTD[7].Text; Multidata = OwnerName + "~" + Property_Address + "~" + City + "~" + Subdivision + "~" + Property_Type; gc.insert_date(orderNumber, parcelNumber, 272, Multidata, 1, DateTime.Now); } } driver.Quit(); HttpContext.Current.Session["multiParcel_ORDeschutes"] = "Yes"; if (MultiTR.Count > 25) { HttpContext.Current.Session["multiParcel_ORDeschutes_Multicount"] = "Maximum"; } return("MultiParcel"); } catch { } } else if (searchType == "parcel") { driver.Navigate().GoToUrl("http://dial.deschutes.org/"); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/div[1]/div[1]/ul/li[4]/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("value")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "OR", "Deschutes"); driver.FindElement(By.XPath("/html/body/div[1]/div[2]/form/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(2000); } else if (searchType == "ownername") { driver.Navigate().GoToUrl("http://dial.deschutes.org/"); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/div[1]/div[1]/ul/li[3]/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("value")).SendKeys(ownername); gc.CreatePdf(orderNumber, parcelNumber, "OwnerSearch", driver, "OR", "Deschutes"); driver.FindElement(By.XPath("/html/body/div[1]/div[2]/form/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(2000); //MultiParcel try { IWebElement MultiTable = driver.FindElement(By.XPath("/html/body/div[1]/div[2]/div[2]/div[4]/div/table/tbody")); IList <IWebElement> MultiTR = MultiTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiTD; gc.CreatePdf(orderNumber, parcelNumber, "MultiOwnersearch", driver, "OR", "Deschutes"); foreach (IWebElement Multi in MultiTR) { MultiTD = Multi.FindElements(By.TagName("td")); if (MultiTD.Count != 0 && !Multi.Text.Contains("Personal")) { parcelNumber = MultiTD[2].Text; OwnerName = MultiTD[3].Text; Property_Address = MultiTD[4].Text; City = MultiTD[5].Text; Subdivision = MultiTD[6].Text; Property_Type = MultiTD[7].Text; Multidata = OwnerName + "~" + Property_Address + "~" + City + "~" + Subdivision + "~" + Property_Type; gc.insert_date(orderNumber, parcelNumber, 272, Multidata, 1, DateTime.Now); } } HttpContext.Current.Session["multiParcel_ORDeschutes"] = "Yes"; if (MultiTR.Count > 25) { HttpContext.Current.Session["multiParcel_ORDeschutes_Multicount"] = "Maximum"; } driver.Quit(); return("MultiParcel"); } catch { } } try { IWebElement INodata = driver.FindElement(By.XPath("//*[@id='content-app']/div[2]")); if (INodata.Text.Contains("returned no matches")) { HttpContext.Current.Session["Nodata_ORDeschutes"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //Property_Details try { Mailing_Name = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[1]/p[2]")).Text; Mailing_Name = gc.Between(Mailing_Name, "Mailing Name:", "Map and Taxlot:").Trim(); Map_Tax = driver.FindElement(By.Id("uxMapTaxlot")).Text; Account_Number = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[1]/p[2]")).Text; Account_Number = gc.Between(Account_Number, "Account:", "Situs Address:").Trim(); Situs_Address = driver.FindElement(By.Id("uxSitusAddress")).Text; Tax_Status = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[1]/p[2]")).Text; Tax_Status = WebDriverTest.After(Tax_Status, "Tax Status:").Trim(); Assessor_Property_Description = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[2]/p[4]/strong[2]/a")).Text; Assessor_Acres = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[2]/p[5]")).Text; Assessor_Acres = gc.Between(Assessor_Acres, "Assessor Acres:", "Property Class:").Trim(); Property_Class = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[2]/p[5]")).Text; Property_Class = WebDriverTest.After(Property_Class, "Property Class:").Trim(); gc.CreatePdf(orderNumber, Account_Number, "Property Details", driver, "OR", "Deschutes"); IWebElement ValueTable = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[3]/table[1]/tbody")); Thread.Sleep(2000); IList <IWebElement> ValueTR = ValueTable.FindElements(By.TagName("tr")); IList <IWebElement> ValueTD; List <string> Land = new List <string>(); List <string> Structures = new List <string>(); List <string> Total = new List <string>(); int i = 0; foreach (IWebElement Value in ValueTR) { ValueTD = Value.FindElements(By.TagName("td")); if (i == 0) { Land.Add(ValueTD[1].Text); } else if (i == 1) { Structures.Add(ValueTD[1].Text); } else if (i == 2) { Total.Add(ValueTD[1].Text); } i++; } IWebElement AssessedTable = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[3]/table[2]/tbody")); IList <IWebElement> AssessedTR = AssessedTable.FindElements(By.TagName("tr")); IList <IWebElement> AssessedTD; List <string> Maximum_Assessed = new List <string>(); List <string> Assessed_Value = new List <string>(); List <string> Veterans_Exemption = new List <string>(); int j = 0; foreach (IWebElement Assessed in AssessedTR) { AssessedTD = Assessed.FindElements(By.TagName("td")); if (j == 0) { Maximum_Assessed.Add(AssessedTD[1].Text); } else if (j == 1) { Assessed_Value.Add(AssessedTD[1].Text); } else if (j == 2) { Veterans_Exemption.Add(AssessedTD[1].Text); } j++; } driver.FindElement(By.XPath("/html/body/div[1]/div[2]/ul/li[2]/ul/li[5]/a")).Click(); Thread.Sleep(2000); Year_Built = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/table[1]/tbody/tr/td[3]")).Text; Property_Deatail = Mailing_Name + "~" + Map_Tax + "~" + Account_Number + "~" + Situs_Address + "~" + Tax_Status + "~" + Assessor_Property_Description + "~" + Assessor_Acres + "~" + Property_Class + "~" + Land[0] + "~" + Structures[0] + "~" + Total[0] + "~" + Maximum_Assessed[0] + "~" + Assessed_Value[0] + "~" + Veterans_Exemption[0] + "~" + Year_Built; gc.insert_date(orderNumber, Account_Number, 273, Property_Deatail, 1, DateTime.Now); } catch { } //Assement_Details try { driver.FindElement(By.XPath("/html/body/div[1]/div[2]/ul/li[2]/ul/li[2]/a")).Click(); Thread.Sleep(2000); IWebElement AssementTable = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/table/tbody")); Thread.Sleep(4000); IList <IWebElement> AssementTR = AssementTable.FindElements(By.TagName("tr")); IList <IWebElement> AssementTH; IList <IWebElement> AssementTD; gc.CreatePdf(orderNumber, Account_Number, "Assement Details", driver, "OR", "Deschutes"); List <string> Value_History = new List <string>(); List <string> RealMarketValue_Land = new List <string>(); List <string> RealMarketValue_Structures = new List <string>(); List <string> TotalRealMarket_Value = new List <string>(); List <string> MaximumAssessed_Value = new List <string>(); List <string> TotalAssessed_Value = new List <string>(); List <string> VeteransExemption_Value = new List <string>(); int k = 0; foreach (IWebElement Assement in AssementTR) { AssementTD = Assement.FindElements(By.TagName("td")); if (k == 0) { AssementTH = Assement.FindElements(By.TagName("th")); Value_History.Add(AssementTH[1].Text); Value_History.Add(AssementTH[2].Text); Value_History.Add(AssementTH[3].Text); Value_History.Add(AssementTH[4].Text); Value_History.Add(AssementTH[5].Text); } else if (k == 1) { RealMarketValue_Land.Add(AssementTD[1].Text); RealMarketValue_Land.Add(AssementTD[2].Text); RealMarketValue_Land.Add(AssementTD[3].Text); RealMarketValue_Land.Add(AssementTD[4].Text); RealMarketValue_Land.Add(AssementTD[5].Text); } else if (k == 2) { RealMarketValue_Structures.Add(AssementTD[1].Text); RealMarketValue_Structures.Add(AssementTD[2].Text); RealMarketValue_Structures.Add(AssementTD[3].Text); RealMarketValue_Structures.Add(AssementTD[4].Text); RealMarketValue_Structures.Add(AssementTD[5].Text); } else if (k == 3) { TotalRealMarket_Value.Add(AssementTD[1].Text); TotalRealMarket_Value.Add(AssementTD[2].Text); TotalRealMarket_Value.Add(AssementTD[3].Text); TotalRealMarket_Value.Add(AssementTD[4].Text); TotalRealMarket_Value.Add(AssementTD[5].Text); } else if (k == 4) { MaximumAssessed_Value.Add(AssementTD[1].Text); MaximumAssessed_Value.Add(AssementTD[2].Text); MaximumAssessed_Value.Add(AssementTD[3].Text); MaximumAssessed_Value.Add(AssementTD[4].Text); MaximumAssessed_Value.Add(AssementTD[5].Text); } else if (k == 5) { TotalAssessed_Value.Add(AssementTD[1].Text); TotalAssessed_Value.Add(AssementTD[2].Text); TotalAssessed_Value.Add(AssementTD[3].Text); TotalAssessed_Value.Add(AssementTD[4].Text); TotalAssessed_Value.Add(AssementTD[5].Text); } else if (k == 6) { VeteransExemption_Value.Add(AssementTD[1].Text); VeteransExemption_Value.Add(AssementTD[2].Text); VeteransExemption_Value.Add(AssementTD[3].Text); VeteransExemption_Value.Add(AssementTD[4].Text); VeteransExemption_Value.Add(AssementTD[5].Text); } k++; } Assemnt_Details1 = Value_History[0] + "~" + RealMarketValue_Land[0] + "~" + RealMarketValue_Structures[0] + "~" + TotalRealMarket_Value[0] + "~" + MaximumAssessed_Value[0] + "~" + TotalAssessed_Value[0] + "~" + VeteransExemption_Value[0]; Assemnt_Details2 = Value_History[1] + "~" + RealMarketValue_Land[1] + "~" + RealMarketValue_Structures[1] + "~" + TotalRealMarket_Value[1] + "~" + MaximumAssessed_Value[1] + "~" + TotalAssessed_Value[1] + "~" + VeteransExemption_Value[1]; Assemnt_Details3 = Value_History[2] + "~" + RealMarketValue_Land[2] + "~" + RealMarketValue_Structures[2] + "~" + TotalRealMarket_Value[2] + "~" + MaximumAssessed_Value[2] + "~" + TotalAssessed_Value[2] + "~" + VeteransExemption_Value[2]; Assemnt_Details4 = Value_History[3] + "~" + RealMarketValue_Land[3] + "~" + RealMarketValue_Structures[3] + "~" + TotalRealMarket_Value[3] + "~" + MaximumAssessed_Value[3] + "~" + TotalAssessed_Value[3] + "~" + VeteransExemption_Value[3]; Assemnt_Details5 = Value_History[4] + "~" + RealMarketValue_Land[4] + "~" + RealMarketValue_Structures[4] + "~" + TotalRealMarket_Value[4] + "~" + MaximumAssessed_Value[4] + "~" + TotalAssessed_Value[4] + "~" + VeteransExemption_Value[4]; gc.insert_date(orderNumber, Account_Number, 282, Assemnt_Details1, 1, DateTime.Now); gc.insert_date(orderNumber, Account_Number, 282, Assemnt_Details2, 1, DateTime.Now); gc.insert_date(orderNumber, Account_Number, 282, Assemnt_Details3, 1, DateTime.Now); gc.insert_date(orderNumber, Account_Number, 282, Assemnt_Details4, 1, DateTime.Now); gc.insert_date(orderNumber, Account_Number, 282, Assemnt_Details5, 1, DateTime.Now); } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Information try { driver.FindElement(By.XPath("/html/body/div[1]/div[2]/ul/li[2]/ul/li[3]/a")).Click(); Thread.Sleep(2000); int ye = 0; Tax_Code = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[2]/div[1]/p[3]")).Text; Tax_Code = WebDriverTest.After(Tax_Code, "Tax Code Area: ").Trim(); IWebElement taxyeartable = driver.FindElement(By.XPath("//*[@id='results-data']/div[4]/table[1]/tbody")); IList <IWebElement> Taxyearrow = taxyeartable.FindElements(By.TagName("tr")); IList <IWebElement> Taxyeartd; foreach (IWebElement Taxyear in Taxyearrow) { Taxyeartd = Taxyear.FindElements(By.TagName("td")); if (Taxyeartd.Count != 0 && ye == 0) { TaxYear_2016 = Taxyeartd[0].Text; TaxYear_2017 = Taxyeartd[1].Text; TaxYear_2018 = Taxyeartd[1].Text; ye++; } } gc.CreatePdf(orderNumber, Account_Number, "Tax Details", driver, "OR", "Deschutes"); IWebElement TBPayment = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[4]/table[2]/tbody")); Thread.Sleep(2000); IList <IWebElement> TRPayment = TBPayment.FindElements(By.TagName("tr")); IList <IWebElement> TDPayment; foreach (IWebElement PaymentTax in TRPayment) { TDPayment = PaymentTax.FindElements(By.TagName("td")); if (TDPayment.Count != 0 && !PaymentTax.Text.Contains("Year") && !PaymentTax.Text.Contains("Total:")) { Payment_Year = TDPayment[0].Text; Date_Due = TDPayment[1].Text; Transaction_Type = TDPayment[2].Text; Transaction_Date = TDPayment[3].Text; AsOf_Date = TDPayment[4].Text; Amount_Received = TDPayment[5].Text; Tax_Due = TDPayment[6].Text; Discount_Amount = TDPayment[7].Text; Interest_Charged = TDPayment[8].Text; Refund_Interest = TDPayment[9].Text; Payment_Details = Payment_Year + "~" + Date_Due + "~" + Transaction_Type + "~" + Transaction_Date + "~" + AsOf_Date + "~" + Amount_Received + "~" + Tax_Due + "~" + Discount_Amount + "~" + Interest_Charged + "~" + Refund_Interest; gc.insert_date(orderNumber, Account_Number, 292, Payment_Details, 1, DateTime.Now); } if (TDPayment.Count == 3) { string Total1 = TDPayment[0].Text; string Total1_Value = TDPayment[1].Text; string Payment_Details1 = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + Total1 + "~" + Total1_Value + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, Account_Number, 292, Payment_Details1, 1, DateTime.Now); } } try { //Download Pdf files IWebElement CurrentBalance = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[2]/div[1]/p[2]/a")); CurrentTaxBalance = CurrentBalance.GetAttribute("href"); gc.downloadfile(CurrentTaxBalance, orderNumber, Account_Number, "Current_Balance", "OR", "Deschutes"); FilePath = gc.filePath(orderNumber, Account_Number) + "Current_Balance.pdf"; PdfReader reader; reader = new PdfReader(FilePath); String textFromPage = PdfTextExtractor.GetTextFromPage(reader, 1); System.Diagnostics.Debug.WriteLine("" + textFromPage); pdftext = textFromPage; try { Acct_sttus = gc.Between(pdftext, "Account Status ", " Loan Number"); Rol_Typ = gc.Between(pdftext, "Roll Type ", " Property"); Situs = gc.Between(pdftext, "Address ", " Interest"); Id_situs = gc.Between(pdftext, "ID ", "Situs"); Ints_Id = gc.Between(pdftext, "To ", "Tax Summary"); TaxSummary_details = Acct_sttus + "~" + Rol_Typ + "~" + Situs + "~" + Id_situs + "~" + Ints_Id; gc.insert_date(orderNumber, Account_Number, 898, TaxSummary_details, 1, DateTime.Now); } catch { } tableassess = GlobalClass.After(pdftext, "Due Date").Trim(); string[] tableArray = tableassess.Split('\n'); List <string> rowarray1 = new List <string>(); int i = 0, j = 0, k = 0, y = 0, w = 0; int count1 = tableArray.Length; for (i = 0; i < count1; i++) { a1 = tableArray[i].Replace(" ", "~"); string[] rowarray = a1.Split('~'); rowarray1.AddRange(rowarray); if (rowarray1.Count != 5 & rowarray1.Count != 3 && rowarray1.Count != 2) { newrow = rowarray1[j] + "~" + rowarray1[j + 1] + "~" + rowarray1[j + 2] + "~" + rowarray1[j + 3] + "~" + rowarray1[j + 4] + "~" + rowarray1[j + 5] + "~" + rowarray1[j + 6] + "~" + rowarray1[j + 7] + " " + rowarray1[j + 8] + " " + rowarray1[j + 9]; gc.insert_date(orderNumber, Account_Number, 896, newrow, 1, DateTime.Now); rowarray1.Clear(); } if (rowarray1.Count == 5) { newrow1 = "" + "~" + rowarray1[k] + "~" + rowarray1[k + 1] + "~" + rowarray1[k + 2] + "~" + rowarray1[k + 3] + "~" + rowarray1[k + 4] + "~" + "" + "~" + "" + " " + "" + " " + ""; gc.insert_date(orderNumber, Account_Number, 896, newrow1, 1, DateTime.Now); } if (rowarray1.Count == 3) { newrow11 = " " + "~" + "Total" + "~" + rowarray1[y] + "~" + rowarray1[y + 1] + "~" + "$0.00" + "~" + rowarray1[y + 2] + "~" + "" + "~" + "" + " " + "" + " " + ""; gc.insert_date(orderNumber, Account_Number, 896, newrow11, 1, DateTime.Now); rowarray1.Clear(); } } try { string FinalRow = newrow10.Replace("", "") + "~" + newrow11 + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + " " + "" + " " + ""; gc.insert_date(orderNumber, Account_Number, 896, FinalRow, 1, DateTime.Now); } catch { } //try //{ // IWebElement Tax_State1 = driver.FindElement(By.XPath("//*[@id='results-data']/div[4]/table[1]/tbody/tr[3]/td[3]/a")); // Tax_Statemet1 = Tax_State1.GetAttribute("href"); // gc.downloadfile(Tax_Statemet1, orderNumber, Account_Number, "Tax Statemet 2015", "OR", "Deschutes"); // IWebElement Tax_State2 = driver.FindElement(By.XPath("//*[@id='results-data']/div[4]/table[1]/tbody/tr[3]/td[4]/a")); // Tax_Statemet2 = Tax_State2.GetAttribute("href"); // gc.downloadfile(Tax_Statemet2, orderNumber, Account_Number, "Tax Statemet 2016", "OR", "Deschutes"); //} //catch //{ } List <string> urlListTaxBills = new List <string>(); IWebElement TaxStateTB = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[4]/table[1]/tbody")); IList <IWebElement> TaxStateTR = TaxStateTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxStateA; foreach (IWebElement TaxState in TaxStateTR) { TaxStateA = TaxState.FindElements(By.TagName("a")); if (TaxStateA.Count != 0) { urlListTaxBills.Add(TaxStateA[0].GetAttribute("href")); urlListTaxBills.Add(TaxStateA[1].GetAttribute("href")); urlListTaxBills.Add(TaxStateA[2].GetAttribute("href")); } } try { int z = 0; int bill = 0; foreach (string sewer in urlListTaxBills) { if (z == 0 || z == 1 || z == 2) { gc.downloadfile(sewer, orderNumber, Account_Number, "TaxYear_Statement" + bill, "OR", "Deschutes"); filename = "TaxYear_Statement" + bill; FilePath1 = gc.filePath(orderNumber, Account_Number) + filename + ".pdf"; PdfReader reader1; reader1 = new PdfReader(FilePath1); String textFromPage1 = PdfTextExtractor.GetTextFromPage(reader1, 1); System.Diagnostics.Debug.WriteLine("" + textFromPage1); pdftext1 = textFromPage1; tableassess2 = gc.Between(pdftext1, "PAYMENT OPTIONS", "TOTAL DUE (").Trim(); string[] tableArray2 = tableassess2.Split('\n'); List <string> rowarray4 = new List <string>(); int n = 0, o = 0, p = 0, q = 0; int count3 = tableArray2.Length; for (n = 1; n < count3; n++) { a3 = tableArray2[n].Replace(" ", "~"); string[] rowarray5 = a3.Split('~'); rowarray4.AddRange(rowarray5); if (rowarray4.Count == 4) { newrow4 = rowarray4[0] + "~" + rowarray4[1] + "~" + rowarray4[2] + "~" + rowarray4[3]; gc.insert_date(orderNumber, Account_Number, 906, newrow4, 1, DateTime.Now); } if (rowarray4.Count == 3) { if (q == 2) { newrow4 = rowarray4[0] + "~" + "" + "~" + rowarray4[1] + "~" + rowarray4[2]; gc.insert_date(orderNumber, Account_Number, 906, newrow4, 1, DateTime.Now); } if (q == 3) { newrow4 = "Total" + "~" + rowarray4[0] + "~" + rowarray4[1] + "~" + rowarray4[2]; gc.insert_date(orderNumber, Account_Number, 906, newrow4, 1, DateTime.Now); q++; } } if (rowarray4.Count == 2) { newrow4 = rowarray4[0] + "~" + "" + "~" + "" + "~" + rowarray4[1]; gc.insert_date(orderNumber, Account_Number, 906, newrow4, 1, DateTime.Now); } q++; rowarray4.Clear(); } year = gc.Between(pdftext1, "DESCHUTES COUNTY REAL", "PROPERTY TAXES ACCOUNT NO.").Trim(); tableassess3 = gc.Between(pdftext1, "Date Due Amount", "Mailing address change on back").Trim(); try { tableassess3 = GlobalClass.After(tableassess3, "Date Due Amount"); } catch { } line1 = gc.Between(tableassess3, "Full Payment Enclosed", "or 2/3 Payment Enclosed").Trim(); line2 = gc.Between(tableassess3, "or 2/3 Payment Enclosed", "or 1/3 Payment Enclosed").Trim(); line3 = GlobalClass.After(tableassess3, "or 1/3 Payment Enclosed").Trim(); tableArray2 = line1.Split('\n'); line1 = tableArray2[0]; line2 = line2 + " " + tableArray2[1] + " " + tableArray2[2]; line3 = line3.Replace("\n", " "); string[] tableline1 = line1.Split(' '); string[] tableline2 = line2.Split(' '); string[] tableline3 = line3.Split(' '); newrow3 = year + "~" + "Full Payment Enclosed" + "~" + tableline1[0] + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + tableline1[1] + "~" + tableline1[2]; gc.insert_date(orderNumber, Account_Number, 899, newrow3, 1, DateTime.Now); newrow3 = year + "~" + "or 2/3 Payment Enclosed" + "~" + tableline2[0] + "~" + tableline2[1] + "~" + tableline2[3] + "~" + "" + "~" + "" + "~" + tableline2[4] + "~" + tableline2[2]; gc.insert_date(orderNumber, Account_Number, 899, newrow3, 1, DateTime.Now); newrow3 = year + "~" + "or 1/3 Payment Enclosed" + "~" + tableline3[0] + "~" + tableline3[1] + "~" + tableline3[2] + "~" + tableline3[3] + "~" + tableline3[6] + "~" + tableline3[4] + "~" + tableline3[5]; gc.insert_date(orderNumber, Account_Number, 899, newrow3, 1, DateTime.Now); bill++; } } } catch { } } catch { } } catch { } //Sales_Information try { driver.FindElement(By.XPath("/html/body/div[1]/div[2]/ul/li[2]/ul/li[4]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Account_Number, "Sales Details", driver, "OR", "Deschutes"); } catch { } //Land_Structure try { driver.FindElement(By.XPath("//*[@id='navigation']/ul/li[2]/ul/li[5]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Account_Number, "Land Structure Details", driver, "OR", "Deschutes"); } catch { } //SpecialAssements_Details try { driver.FindElement(By.XPath("/html/body/div[1]/div[2]/ul/li[2]/ul/li[6]/a")).Click(); Thread.Sleep(2000); IWebElement SpecialTable = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/table/tbody")); Thread.Sleep(2000); IList <IWebElement> SpecialTR = SpecialTable.FindElements(By.TagName("tr")); IList <IWebElement> SpecialTD; gc.CreatePdf(orderNumber, Account_Number, "Special Details", driver, "OR", "Deschutes"); foreach (IWebElement Special in SpecialTR) { SpecialTD = Special.FindElements(By.TagName("td")); if (SpecialTD.Count != 0) { Special_Description = SpecialTD[0].Text; Special_Amount = SpecialTD[1].Text; Special_Year = SpecialTD[2].Text; Special_details = Special_Description + "~" + Special_Amount + "~" + Special_Year; gc.insert_date(orderNumber, Account_Number, 290, Special_details, 1, DateTime.Now); } } } catch { } try { Tax_Authority = "Deschutes Services Building,1300 NW Wall Street, 2nd Floor Bend, OR 97701" + " " + "(541) 388 - 6540 Phone" + " " + "(541) 385 - 3248 Fax"; } catch { } Tax_details = Tax_Code + "~" + TaxYear_2014 + "~" + TaxYear_2015 + "~" + TaxYear_2016 + "~" + TaxYear_2017 + "~" + TaxYear_2018 + "~" + Tax_Authority; gc.insert_date(orderNumber, Account_Number, 291, Tax_details, 1, DateTime.Now); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "OR", "Deschutes", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); //megrge pdf files gc.mergpdf(orderNumber, "OR", "Deschutes"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_CAContracosta(string houseno, string sname, string stype, string city, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; // driver = new ChromeDriver(); //driver = new PhantomJSDriver() using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); string taddress = ""; if (searchType == "titleflex") { if (directParcel != null) { taddress = houseno + " " + directParcel + " " + sname; } else { taddress = houseno + " " + directParcel + " " + sname; } gc.TitleFlexSearch(orderNumber, parcelNumber, ownername, taddress, "CA", "Contra Costa"); if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { driver.Quit(); return("MultiParcel"); } else if (HttpContext.Current.Session["titleparcel"].ToString() == "") { HttpContext.Current.Session["Nodata_CAContraCosta"] = "Zero"; driver.Quit(); return("No Data Found"); } searchType = "parcel"; parcelNumber = GlobalClass.global_parcelNo.Replace("-", ""); parcelNumber = parcelNumber.Substring(0, 9); } if (searchType == "address") { driver.Navigate().GoToUrl("https://taxcolp.cccounty.us/taxpaymentrev3/lookup/"); Thread.Sleep(4000); var SelectAddress = driver.FindElement(By.Id("searchtypeselect")); Thread.Sleep(4000); var SelectAddressTax = new SelectElement(SelectAddress); SelectAddressTax.SelectByText("Property Address"); if (directParcel == null || directParcel == "") { address = houseno + " " + sname; } else { if (directParcel != null) { address = houseno + " " + directParcel + " " + sname; } else { address = houseno + " " + directParcel + " " + sname; } } driver.FindElement(By.Id("searchfield")).SendKeys(address); //var SelectAddressSuffix = driver.FindElement(By.Id("streetsuffixselect")); //var SelectAddressSuffixTax = new SelectElement(SelectAddressSuffix); //SelectAddressSuffixTax.SelectByText(stype); var SelectAddressCity = driver.FindElement(By.Id("cityselect")); var SelectAddressCityTax = new SelectElement(SelectAddressCity); SelectAddressCityTax.SelectByText(city.ToUpper().ToString().Trim()); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "CA", "Contra Costa"); driver.FindElement(By.XPath("/html/body/div/div[3]/div[2]/form/div/div/div[6]/input")).SendKeys(Keys.Enter); Thread.Sleep(8000); //MultiParcel try { IWebElement MultiTable = driver.FindElement(By.XPath("//*[@id='address-picker']/table/tbody")); IList <IWebElement> MultiTR = MultiTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiTD; int maxCheck = 0; gc.CreatePdf_WOP(orderNumber, "MultiAddress", driver, "CA", "Contra Costa"); foreach (IWebElement Multi in MultiTR) { if (maxCheck <= 25) { MultiTD = Multi.FindElements(By.TagName("td")); if (MultiTD.Count != 0) { Property_Address = MultiTD[0].Text; parcelNumber = MultiTD[1].Text; Multiparcel = Property_Address.Replace("\r\n", ""); gc.insert_date(orderNumber, parcelNumber, 411, Multiparcel, 1, DateTime.Now); } maxCheck++; } } HttpContext.Current.Session["multiParcel_CAContraCosta"] = "Yes"; if (MultiTR.Count > 25) { HttpContext.Current.Session["multiParcel_CAContraCosta_Multicount"] = "Maximum"; } driver.Quit(); return("MultiParcel"); } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("https://taxcolp.cccounty.us/taxpaymentrev3/lookup/"); Thread.Sleep(4000); var SelectParcel = driver.FindElement(By.Id("searchtypeselect")); var SelectParcelTax = new SelectElement(SelectParcel); SelectParcelTax.SelectByText("Parcel Number"); driver.FindElement(By.Id("searchfield")).Click(); parcel = parcelNumber.Replace("-", ""); parcel1 = parcel.Substring(0, 3); parcel2 = parcel.Substring(3, 3); parcel3 = parcel.Substring(6, 3); ParcelId = parcel1 + parcel2 + parcel3; Thread.Sleep(8000); driver.FindElement(By.Id("searchfield")).Clear(); driver.FindElement(By.Id("searchfield")).Click(); driver.FindElement(By.Id("searchfield")).SendKeys(ParcelId); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "CA", "Contra Costa"); driver.FindElement(By.XPath("/html/body/div/div[3]/div[2]/form/div/div/div[6]/input")).SendKeys(Keys.Enter); Thread.Sleep(8000); } try { IWebElement Inodata = driver.FindElement(By.Id("error")); if (Inodata.Text.Contains("Address Not Found") || Inodata.Text.Contains("APN not found")) { HttpContext.Current.Session["Nodata_CAContraCosta"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } //Property Details driver.FindElement(By.XPath("//*[@id='results']/div[1]/div[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(6000); Situs_Address = driver.FindElement(By.XPath("//*[@id='results']/div[1]/h3")).Text; Situs_Address = WebDriverTest.After(Situs_Address, "Address (Situs): ").Trim(); outparcelno = driver.FindElement(By.XPath("//*[@id='hide-details']/div[1]/h3")).Text; outparcelno = GlobalClass.After(outparcelno, "Parcel Number (APN): ").Trim(); // outparcelno = gc.Between(outparcelno, "Parcel Number (APN): ", "SIGN UP HERE FOR SECURED").Trim(); gc.CreatePdf(orderNumber, outparcelno, "Property Details", driver, "CA", "Contra Costa"); Property_Deatail = Situs_Address; gc.insert_date(orderNumber, outparcelno, 320, Property_Deatail, 1, DateTime.Now); //Assement details driver.FindElement(By.LinkText("ASSESSMENT INFORMATION")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, outparcelno, "Assement Details", driver, "CA", "Contra Costa"); IWebElement AssementTB = driver.FindElement(By.XPath("//*[@id='current-assessment-information']/table/tbody")); IList <IWebElement> AssementTR = AssementTB.FindElements(By.TagName("tr")); IList <IWebElement> AssementTD; foreach (IWebElement Assement in AssementTR) { AssementTD = Assement.FindElements(By.TagName("td")); if (AssementTD.Count != 0) { if (Assement.Text.Contains("Assessment Year")) { Assessment_Year = AssementTD[1].Text; } else { Land = AssementTD[2].Text + "~" + Land; } } } Land = Assessment_Year + "~" + Land.Replace("~-", ""); gc.insert_date(orderNumber, outparcelno, 365, Land, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //CurrentTax details driver.FindElement(By.LinkText("CURRENT TAXES")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, outparcelno, "CurretntTax Details", driver, "CA", "Contra Costa"); List <string> urlListSecured = new List <string>(); List <string> urlListSupplemental = new List <string>(); IWebElement CurrentTaxTB = driver.FindElement(By.XPath("//*[@id='results']/div[2]/table/tbody")); IList <IWebElement> CurrentTaxTR = CurrentTaxTB.FindElements(By.TagName("tr")); IList <IWebElement> CurrentTaxTD; IList <IWebElement> CurrentTaxA; foreach (IWebElement CurrentTax in CurrentTaxTR) { CurrentTaxTD = CurrentTax.FindElements(By.TagName("td")); CurrentTaxA = CurrentTax.FindElements(By.TagName("a")); if (CurrentTaxTD.Count != 0) { Bill_Type = CurrentTaxTD[0].Text; Bill_SaleId = CurrentTaxTD[1].Text.Replace(" - View Bill", "").Trim(); Install_No = CurrentTaxTD[2].Text; Date_Due = CurrentTaxTD[3].Text; Amount = CurrentTaxTD[4].Text; try { Pay = CurrentTaxTD[5].Text; } catch { Pay = "PAY"; } Currenttax_Details = Bill_Type + "~" + Bill_SaleId + "~" + Install_No + "~" + Date_Due + "~" + Amount + "~" + Pay + "~" + "-"; gc.insert_date(orderNumber, outparcelno, 366, Currenttax_Details, 1, DateTime.Now); } if (CurrentTaxA.Count != 0) { if (Bill_Type == "SECURED") { urlListSecured.Add(CurrentTaxA[0].GetAttribute("href")); } else if (Bill_Type == "SUPPLEMENTAL") { urlListSupplemental.Add(CurrentTaxA[0].GetAttribute("href")); } } } try { TotalAmountSelected_ToPay = driver.FindElement(By.XPath("//*[@id='summary']/div[2]/div[3]/h3")).Text; Totaltax_Details = "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + TotalAmountSelected_ToPay; gc.insert_date(orderNumber, outparcelno, 366, Totaltax_Details, 1, DateTime.Now); } catch { } //Download Tax Bills try { int i = 0; String Parent_Window1 = driver.CurrentWindowHandle; foreach (string item in urlListSecured) { gc.downloadfileHeader(item, orderNumber, outparcelno, "Secured_Bill" + i, "CA", "Contra Costa", driver); i++; } int k = 0; foreach (string item in urlListSupplemental) { gc.downloadfileHeader(item, orderNumber, outparcelno, "Supplemental_Bill" + k, "CA", "Contra Costa", driver); k++; } System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(4000); driver.SwitchTo().Window(Parent_Window1); Thread.Sleep(2000); } catch { } //TaxHistory Details driver.FindElement(By.LinkText("TAX HISTORY")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, outparcelno, "TaxHistory Details", driver, "CA", "Contra Costa"); IWebElement TaxHistoryTB = driver.FindElement(By.XPath("//*[@id='prioryear-results']/div[2]/table/tbody")); IList <IWebElement> TaxHistoryTR = TaxHistoryTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxHistoryTD; foreach (IWebElement TaxHistory in TaxHistoryTR) { TaxHistoryTD = TaxHistory.FindElements(By.TagName("td")); if (TaxHistoryTD.Count != 0) { TaxBill_Type = TaxHistoryTD[0].Text; Tax_Year = TaxHistoryTD[1].Text.Replace("View Bill", "\r\n").Trim(); Instal_No = TaxHistoryTD[2].Text; AdValorem_tax = TaxHistoryTD[3].Text; Special_Assessments = TaxHistoryTD[4].Text; Delinquent_PenaltyCost = TaxHistoryTD[5].Text; TaxAmount = TaxHistoryTD[6].Text; Bill_Status = TaxHistoryTD[7].Text; TaxBillAmount_Details = TaxBill_Type + "~" + Tax_Year + "~" + Instal_No + "~" + AdValorem_tax + "~" + Special_Assessments + "~" + Delinquent_PenaltyCost + "~" + TaxAmount + "~" + Bill_Status; gc.insert_date(orderNumber, outparcelno, 367, TaxBillAmount_Details, 1, DateTime.Now); } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "CA", "Contra Costa", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); //megrge pdf files gc.mergpdf(orderNumber, "CA", "Contra Costa"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_FLPalmBeach(string address, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; string[] stringSeparators1 = new string[] { "\r\n" }; // driver = new ChromeDriver(); using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { // string titleaddress = houseno + " " + housedir + " " + sname + " " + sttype + " " + unitno; gc.TitleFlexSearch(orderNumber, "", "", address, "FL", "Palm Beach"); if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { driver.Quit(); return("MultiParcel"); } else if (HttpContext.Current.Session["titleparcel"].ToString() == "") { HttpContext.Current.Session["Nodata_FLPalmBeach"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://www.pbcgov.com/PAPA/index.htm"); Thread.Sleep(4000); IWebElement iframeElement = driver.FindElement(By.Id("master-search")); Thread.Sleep(6000); driver.SwitchTo().Frame(iframeElement); driver.FindElement(By.Id("txtSearch")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "FL", "Palm Beach"); driver.FindElement(By.XPath("//*[@id='form2']/div[3]/div[1]/div/button")).SendKeys(Keys.Enter); Thread.Sleep(2000); //MultiParcel try { IWebElement MultiTable = driver.FindElement(By.Id("gvSrchResults")); IList <IWebElement> MultiTR = MultiTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiTD; int maxCheck = 0; gc.CreatePdf_WOP(orderNumber, "MultiAddresssearch", driver, "FL", "Palm Beach"); foreach (IWebElement Multi in MultiTR) { MultiTD = Multi.FindElements(By.TagName("td")); if (MultiTD.Count != 0 && !Multi.Text.Contains("Owner Name")) { OwnerName = MultiTD[0].Text; Location = MultiTD[1].Text; Municipality = MultiTD[2].Text; parcelNumber = MultiTD[3].Text; Multidata = OwnerName + "~" + Location + "~" + Municipality; gc.insert_date(orderNumber, parcelNumber, 330, Multidata, 1, DateTime.Now); } maxCheck++; } if (maxCheck <= 25) { HttpContext.Current.Session["multiParcel_FLPalmBeach"] = "Yes"; GlobalClass.multiParcel_FLPalmBeach = "Yes"; driver.Quit(); return("MultiParcel"); } if (MultiTR.Count > 25) { HttpContext.Current.Session["multiParcel_FLPalmBeach_Multicount"] = "Maximum"; GlobalClass.multiParcel_FLPalmBeach_Multicount = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } else if (searchType == "parcel") { driver.Navigate().GoToUrl("http://www.pbcgov.com/PAPA/index.htm"); Thread.Sleep(2000); IWebElement iframeElement = driver.FindElement(By.Id("master-search")); Thread.Sleep(6000); driver.SwitchTo().Frame(iframeElement); driver.FindElement(By.Id("txtSearch")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "FL", "Palm Beach"); driver.FindElement(By.XPath("//*[@id='form2']/div[3]/div[1]/div/button")).SendKeys(Keys.Enter); Thread.Sleep(2000); } else if (searchType == "ownername") { driver.Navigate().GoToUrl("http://www.pbcgov.com/PAPA/index.htm"); Thread.Sleep(2000); IWebElement iframeElement = driver.FindElement(By.Id("master-search")); Thread.Sleep(6000); driver.SwitchTo().Frame(iframeElement); driver.FindElement(By.Id("txtSearch")).SendKeys(ownername); gc.CreatePdf(orderNumber, parcelNumber, "OwnerSearch", driver, "FL", "Palm Beach"); driver.FindElement(By.XPath("//*[@id='form2']/div[3]/div[1]/div/button")).SendKeys(Keys.Enter); Thread.Sleep(2000); //MultiParcel try { IWebElement MultiTable = driver.FindElement(By.Id("gvSrchResults")); IList <IWebElement> MultiTR = MultiTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiTD; int maxCheck = 0; gc.CreatePdf_WOP(orderNumber, "MultiOwnersearch", driver, "FL", "Palm Beach"); foreach (IWebElement Multi in MultiTR) { if (maxCheck <= 25) { MultiTD = Multi.FindElements(By.TagName("td")); if (MultiTD.Count != 0 && !Multi.Text.Contains("Owner Name")) { OwnerName = MultiTD[0].Text; Location = MultiTD[1].Text; Municipaliti = MultiTD[2].Text; parcelNumber = MultiTD[3].Text; Multidata = OwnerName + "~" + Location + "~" + Municipaliti; gc.insert_date(orderNumber, parcelNumber, 330, Multidata, 1, DateTime.Now); } maxCheck++; } } HttpContext.Current.Session["multiParcel_FLPalmBeach"] = "Yes"; if (MultiTR.Count > 25) { HttpContext.Current.Session["multiParcel_FLPalmBeach_Multicount"] = "Maximum"; return("Maximum"); } driver.Quit(); return("MultiParcel"); } catch { } } try { string Nodata = driver.FindElement(By.Id("MainContent_lblMsg")).Text; if (Nodata == "No Results matched your search criteria. Please modify your search and try again.") { HttpContext.Current.Session["Nodata_FLPalmBeach"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //Scraped Data Location_Address = driver.FindElement(By.XPath("//*[@id='tdDetail']/table/tbody/tr[2]/td[2]")).Text; Municipality = driver.FindElement(By.XPath("//*[@id='tdDetail']/table/tbody/tr[3]/td[2]")).Text; ParcelNo = driver.FindElement(By.XPath("//*[@id='tdDetail']/table/tbody/tr[4]/td[2]")).Text; amck.TaxId = ParcelNo; gc.CreatePdf(orderNumber, ParcelNo, "Property Result", driver, "FL", "Palm Beach"); try { SubDivision = driver.FindElement(By.XPath("//*[@id='tdDetail']/table/tbody/tr[5]/td[2]")).Text; Legal_Description = driver.FindElement(By.XPath("//*[@id='tdDetail']/table/tbody/tr[8]/td[2]")).Text; IWebElement Acrestable = driver.FindElement(By.XPath("//*[@id='propertyInformationDiv']/fieldset/table[1]/tbody/tr[2]/td[1]/table[2]/tbody")); IList <IWebElement> AcresTR = Acrestable.FindElements(By.TagName("tr")); IList <IWebElement> AcresTD; foreach (IWebElement Acre in AcresTR) { AcresTD = Acre.FindElements(By.TagName("td")); if (AcresTD.Count != 0 && Acre.Text.Contains("Acres")) { Acres = AcresTD[1].Text; } } IWebElement Yeartable = driver.FindElement(By.XPath("//*[@id='propertyInformationDiv']/fieldset/table[1]/tbody/tr[2]/td[2]/table/tbody")); IList <IWebElement> YearTR = Yeartable.FindElements(By.TagName("tr")); IList <IWebElement> YearTD; foreach (IWebElement Year in YearTR) { YearTD = Year.FindElements(By.TagName("td")); if (YearTD.Count != 0 && Year.Text.Contains("Year Built")) { Year_Built = YearTD[2].Text; } } IWebElement OwnerTable = driver.FindElement(By.XPath("//*[@id='ownerInformationDiv']/fieldset/table/tbody/tr[2]/td[1]/table/tbody")); IList <IWebElement> OwnerTR = OwnerTable.FindElements(By.TagName("tr")); IList <IWebElement> OwnerTD; foreach (IWebElement Owner in OwnerTR) { OwnerTD = Owner.FindElements(By.TagName("td")); if (OwnerTD.Count != 0 && !Owner.Text.Contains("Owner(s)")) { Owner_Name += OwnerTD[0].Text + " "; } } string Mailaddress1 = driver.FindElement(By.Id("MainContent_lblAddrLine3")).Text; string Mailing_Address2 = driver.FindElement(By.XPath("//*[@id='ownerInformationDiv']/fieldset/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td")).Text; Mailing_Address = Mailing_Address2 + " " + Mailaddress1; } catch { } Property_Details = Location_Address + "~" + Municipality + "~" + SubDivision + "~" + Legal_Description + "~" + Acres + "~" + Year_Built + "~" + Owner_Name + "~" + Mailing_Address; gc.insert_date(orderNumber, ParcelNo, 338, Property_Details, 1, DateTime.Now); //Appraisals Details try { IWebElement AppraisalsTable = driver.FindElement(By.XPath("//*[@id='tblApprsal']/tbody")); IList <IWebElement> AppraisalsTR = AppraisalsTable.FindElements(By.TagName("tr")); IList <IWebElement> AppraisalsTD; List <string> Tax_Year = new List <string>(); List <string> Improvement_Value = new List <string>(); List <string> Land_Value = new List <string>(); List <string> TotalMarket_Value = new List <string>(); int i = 1; foreach (IWebElement Appraisals in AppraisalsTR) { AppraisalsTD = Appraisals.FindElements(By.TagName("td")); if (!Appraisals.Text.Contains("Show 5 year")) { if (i == 1) { Tax_Year.Add(AppraisalsTD[1].Text); Tax_Year.Add(AppraisalsTD[2].Text); Tax_Year.Add(AppraisalsTD[3].Text); Tax_Year.Add(AppraisalsTD[4].Text); Tax_Year.Add(AppraisalsTD[5].Text); } else if (i == 2) { Improvement_Value.Add(AppraisalsTD[1].Text); Improvement_Value.Add(AppraisalsTD[2].Text); Improvement_Value.Add(AppraisalsTD[3].Text); Improvement_Value.Add(AppraisalsTD[4].Text); Improvement_Value.Add(AppraisalsTD[5].Text); } else if (i == 3) { Land_Value.Add(AppraisalsTD[1].Text); Land_Value.Add(AppraisalsTD[2].Text); Land_Value.Add(AppraisalsTD[3].Text); Land_Value.Add(AppraisalsTD[4].Text); Land_Value.Add(AppraisalsTD[5].Text); } else if (i == 4) { TotalMarket_Value.Add(AppraisalsTD[1].Text); TotalMarket_Value.Add(AppraisalsTD[2].Text); TotalMarket_Value.Add(AppraisalsTD[3].Text); TotalMarket_Value.Add(AppraisalsTD[4].Text); TotalMarket_Value.Add(AppraisalsTD[5].Text); } i++; } } Appraisals_details1 = Tax_Year[0] + "~" + Improvement_Value[0] + "~" + Land_Value[0] + "~" + TotalMarket_Value[0]; Appraisals_details2 = Tax_Year[1] + "~" + Improvement_Value[1] + "~" + Land_Value[1] + "~" + TotalMarket_Value[1]; Appraisals_details3 = Tax_Year[2] + "~" + Improvement_Value[2] + "~" + Land_Value[2] + "~" + TotalMarket_Value[2]; Appraisals_details4 = Tax_Year[3] + "~" + Improvement_Value[3] + "~" + Land_Value[3] + "~" + TotalMarket_Value[3]; Appraisals_details5 = Tax_Year[4] + "~" + Improvement_Value[4] + "~" + Land_Value[4] + "~" + TotalMarket_Value[4]; //gc.CreatePdf(orderNumber, ParcelNo, "Appraisls Details", driver, "FL", "Palm Beach"); gc.insert_date(orderNumber, ParcelNo, 342, Appraisals_details1, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 342, Appraisals_details2, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 342, Appraisals_details3, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 342, Appraisals_details4, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 342, Appraisals_details5, 1, DateTime.Now); } catch { } //Assessed Details try { IWebElement AssessedTable = driver.FindElement(By.XPath("//*[@id='tblAssVal']/tbody")); IList <IWebElement> AssessedTR = AssessedTable.FindElements(By.TagName("tr")); IList <IWebElement> AssessedTD; List <string> Tax_Year = new List <string>(); List <string> Assessed_Value = new List <string>(); List <string> Exemption_Amount = new List <string>(); List <string> Taxable_Value = new List <string>(); int j = 1; foreach (IWebElement Assessed in AssessedTR) { AssessedTD = Assessed.FindElements(By.TagName("td")); if (!Assessed.Text.Contains("Show 5 year")) { if (j == 1) { Tax_Year.Add(AssessedTD[1].Text); Tax_Year.Add(AssessedTD[2].Text); Tax_Year.Add(AssessedTD[3].Text); Tax_Year.Add(AssessedTD[4].Text); Tax_Year.Add(AssessedTD[5].Text); } else if (j == 2) { Assessed_Value.Add(AssessedTD[1].Text); Assessed_Value.Add(AssessedTD[2].Text); Assessed_Value.Add(AssessedTD[3].Text); Assessed_Value.Add(AssessedTD[4].Text); Assessed_Value.Add(AssessedTD[5].Text); } else if (j == 3) { Exemption_Amount.Add(AssessedTD[1].Text); Exemption_Amount.Add(AssessedTD[2].Text); Exemption_Amount.Add(AssessedTD[3].Text); Exemption_Amount.Add(AssessedTD[4].Text); Exemption_Amount.Add(AssessedTD[5].Text); } else if (j == 4) { Taxable_Value.Add(AssessedTD[1].Text); Taxable_Value.Add(AssessedTD[2].Text); Taxable_Value.Add(AssessedTD[3].Text); Taxable_Value.Add(AssessedTD[4].Text); Taxable_Value.Add(AssessedTD[5].Text); } j++; } } Assessed_details1 = Tax_Year[0] + "~" + Assessed_Value[0] + "~" + Exemption_Amount[0] + "~" + Taxable_Value[0]; Assessed_details2 = Tax_Year[1] + "~" + Assessed_Value[1] + "~" + Exemption_Amount[1] + "~" + Taxable_Value[1]; Assessed_details3 = Tax_Year[2] + "~" + Assessed_Value[2] + "~" + Exemption_Amount[2] + "~" + Taxable_Value[2]; Assessed_details4 = Tax_Year[3] + "~" + Assessed_Value[3] + "~" + Exemption_Amount[3] + "~" + Taxable_Value[3]; Assessed_details5 = Tax_Year[4] + "~" + Assessed_Value[4] + "~" + Exemption_Amount[4] + "~" + Taxable_Value[4]; //gc.CreatePdf(orderNumber, ParcelNo, "Assessed Details", driver, "FL", "Palm Beach"); gc.insert_date(orderNumber, ParcelNo, 348, Assessed_details1, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 348, Assessed_details2, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 348, Assessed_details3, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 348, Assessed_details4, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 348, Assessed_details5, 1, DateTime.Now); } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //TaxesValue Details try { IWebElement TaxesValueTable = driver.FindElement(By.XPath("//*[@id='tblTaxes']/tbody")); IList <IWebElement> TaxesValueTR = TaxesValueTable.FindElements(By.TagName("tr")); IList <IWebElement> TaxesValueTD; List <string> Tax_Year = new List <string>(); List <string> Ad_Valorem = new List <string>(); List <string> NonAd_Valorem = new List <string>(); List <string> Total_tax = new List <string>(); int k = 1; foreach (IWebElement TaxesValue in TaxesValueTR) { TaxesValueTD = TaxesValue.FindElements(By.TagName("td")); if (!TaxesValue.Text.Contains("Show 5 year")) { if (k == 1) { Tax_Year.Add(TaxesValueTD[1].Text); Tax_Year.Add(TaxesValueTD[2].Text); Tax_Year.Add(TaxesValueTD[3].Text); Tax_Year.Add(TaxesValueTD[4].Text); Tax_Year.Add(TaxesValueTD[5].Text); } else if (k == 2) { Ad_Valorem.Add(TaxesValueTD[1].Text); Ad_Valorem.Add(TaxesValueTD[2].Text); Ad_Valorem.Add(TaxesValueTD[3].Text); Ad_Valorem.Add(TaxesValueTD[4].Text); Ad_Valorem.Add(TaxesValueTD[5].Text); } else if (k == 3) { NonAd_Valorem.Add(TaxesValueTD[1].Text); NonAd_Valorem.Add(TaxesValueTD[2].Text); NonAd_Valorem.Add(TaxesValueTD[3].Text); NonAd_Valorem.Add(TaxesValueTD[4].Text); NonAd_Valorem.Add(TaxesValueTD[5].Text); } else if (k == 4) { Total_tax.Add(TaxesValueTD[1].Text); Total_tax.Add(TaxesValueTD[2].Text); Total_tax.Add(TaxesValueTD[3].Text); Total_tax.Add(TaxesValueTD[4].Text); Total_tax.Add(TaxesValueTD[5].Text); } k++; } } TaxesValue_details1 = Tax_Year[0] + "~" + Ad_Valorem[0] + "~" + NonAd_Valorem[0] + "~" + Total_tax[0]; TaxesValue_details2 = Tax_Year[1] + "~" + Ad_Valorem[1] + "~" + NonAd_Valorem[1] + "~" + Total_tax[1]; TaxesValue_details3 = Tax_Year[2] + "~" + Ad_Valorem[2] + "~" + NonAd_Valorem[2] + "~" + Total_tax[2]; TaxesValue_details4 = Tax_Year[3] + "~" + Ad_Valorem[3] + "~" + NonAd_Valorem[3] + "~" + Total_tax[3]; TaxesValue_details5 = Tax_Year[4] + "~" + Ad_Valorem[4] + "~" + NonAd_Valorem[4] + "~" + Total_tax[4]; //gc.CreatePdf(orderNumber, ParcelNo, "TaxValues Details", driver, "FL", "Palm Beach"); gc.insert_date(orderNumber, ParcelNo, 349, TaxesValue_details1, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 349, TaxesValue_details2, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 349, TaxesValue_details3, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 349, TaxesValue_details4, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 349, TaxesValue_details5, 1, DateTime.Now); } catch { } //Tax Information Details driver.Navigate().GoToUrl("https://pbctax.manatron.com/Tabs/PropertyTax.aspx"); Thread.Sleep(2000); var SelectParcel = driver.FindElement(By.Id("selSearchBy")); var SelectParcelTax = new SelectElement(SelectParcel); SelectParcelTax.SelectByText("Property Control Number"); driver.FindElement(By.Id("fldInput")).SendKeys(ParcelNo); driver.FindElement(By.Id("btnsearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNo, "ParcelTax Details", driver, "FL", "Palm Beach"); driver.FindElement(By.XPath("//*[@id='grm-search']/tbody/tr[2]/td[6]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNo, "Tax Summary Details", driver, "FL", "Palm Beach"); Real_Property = driver.FindElement(By.XPath("//*[@id='lxT506']/table/tbody/tr[2]/td[2]")).Text; property_Address = driver.FindElement(By.XPath("//*[@id='lxT506']/table/tbody/tr[3]/td/table/tbody/tr[1]/td[2]")).Text; property_Address = WebDriverTest.After(property_Address, "Property Address:").Trim(); string[] linesName = property_Address.Split(stringSeparators1, StringSplitOptions.None); OwnerOf_record = driver.FindElement(By.XPath("//*[@id='lxT506']/table/tbody/tr[3]/td/table/tbody/tr[2]/td[1]")).Text; OwnerOf_record = WebDriverTest.After(OwnerOf_record, "Owner of Record").Trim(); string[] linesName1 = OwnerOf_record.Split(stringSeparators1, StringSplitOptions.None); driver.Navigate().GoToUrl("https://www.pbctax.com/content/help"); Thread.Sleep(2000); Tax_Authority = driver.FindElement(By.XPath("//*[@id='content-area']/div/div/div/div[1]/p")).Text.Replace("Mailing Address", "").Trim(); gc.CreatePdf(orderNumber, ParcelNo, "Tax Authority", driver, "FL", "Palm Beach"); driver.Navigate().Back(); Thread.Sleep(2000); TaxBill_Details = Real_Property + "~" + property_Address + "~" + OwnerOf_record + "~" + Tax_Authority; gc.insert_date(orderNumber, ParcelNo, 357, TaxBill_Details, 1, DateTime.Now); //Tax Payment History Details List <string> billinfo = new List <string>(); try { IWebElement TaxPaymentTB = driver.FindElement(By.XPath("//*[@id='508']/table/tbody")); IList <IWebElement> TaxPaymentTR = TaxPaymentTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxPaymentTD; int a = 0; //gc.CreatePdf(orderNumber, ParcelNo, "Tax Payment Details", driver, "FL", "Palm Beach"); foreach (IWebElement TaxPayment in TaxPaymentTR) { TaxPaymentTD = TaxPayment.FindElements(By.TagName("td")); if (TaxPaymentTD.Count != 0) { if (a < 3) { if (TaxPaymentTD.Count != 0 && !TaxPayment.Text.Contains("Bill Year")) { IWebElement value1 = TaxPaymentTD[0].FindElement(By.TagName("a")); string addview = value1.GetAttribute("href"); billinfo.Add(addview); } a++; } Bill_Year = TaxPaymentTD[0].Text; Bill_Type = TaxPaymentTD[1].Text; Bill_Number = TaxPaymentTD[2].Text; Gross_Tax = TaxPaymentTD[3].Text; Penalty_Fees = TaxPaymentTD[4].Text; Interest = TaxPaymentTD[5].Text; Discount = TaxPaymentTD[6].Text; Amount_Due = TaxPaymentTD[7].Text; TaxpaymentDetails = Bill_Year + "~" + Bill_Type + "~" + Bill_Number + "~" + Gross_Tax + "~" + Penalty_Fees + "~" + Interest + "~" + Discount + "~" + Amount_Due; gc.insert_date(orderNumber, ParcelNo, 359, TaxpaymentDetails, 1, DateTime.Now); } } } catch { } //Tax Bill int s = 0; foreach (string taxinfoclick in billinfo) { try { driver.Navigate().GoToUrl(taxinfoclick); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNo, "TaxBill_priorYear" + s, driver, "FL", "Palm Beach"); Billtaxyear = driver.FindElement(By.XPath("//*[@id='lxT538']/h1")).Text.Replace("Bill Detail", "").Trim(); //Tax And Assement Details// IWebElement TaxAssementTB = driver.FindElement(By.XPath("//*[@id='dnn_ContentPane']/div[4]")); IList <IWebElement> TaxAssementTR = TaxAssementTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxAssementTD; int taxrowcount = TaxAssementTR.Count; int b = 1; /*string pathid = "";*/ foreach (IWebElement TaxAssement in TaxAssementTR) { TaxAssementTD = TaxAssement.FindElements(By.TagName("td")); if (TaxAssement.Text.Contains("Ad Valorem")) { Tax_Type = "Ad Valorem"; } if (TaxAssement.Text.Contains("Non Ad Valorem")) { Tax_Type = "Non Ad Valorem"; } if (TaxAssementTD.Count != 0 && !TaxAssement.Text.Contains("Ad Valorem") && TaxAssement.Text != "" && TaxAssementTD.Count != 1 && !TaxAssement.Text.Contains("Non Ad Valorem")) { if (TaxAssementTD.Count == 4 && !TaxAssement.Text.Contains("Total Tax")) { Description = "Sub Total"; TaxGross_Tax = TaxAssementTD[0].Text; Credit = TaxAssementTD[1].Text; Net_Tax = TaxAssementTD[2].Text; Savings = TaxAssementTD[3].Text; TaxAssement_Details = Billtaxyear + "~" + Tax_Type + "~" + Description + "~" + TaxGross_Tax + "~" + Credit + "~" + Net_Tax + "~" + Savings; gc.insert_date(orderNumber, ParcelNo, 363, TaxAssement_Details, 1, DateTime.Now); } else { if (b % 2 == 0 && b != taxrowcount) { try { //pathid = driver.FindElement(By.XPath("//*[@id='lxT512']/table/tbody/tr["+ b +"]/td[1]")).GetAttribute("tb"); driver.FindElement(By.XPath("//*[@id='lxT512']/table/tbody/tr[" + b + "]/td[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); //gc.CreatePdf(orderNumber, ParcelNo, "Ad Valorem and Non Ad Valorem" + b, driver, "FL", "Palm Beach"); } catch { } Description = TaxAssementTD[0].Text; TaxGross_Tax = TaxAssementTD[1].Text; Credit = TaxAssementTD[2].Text; Net_Tax = TaxAssementTD[3].Text; Savings = TaxAssementTD[4].Text; TaxAssement_Details = Billtaxyear + "~" + Tax_Type + "~" + Description + "~" + TaxGross_Tax + "~" + Credit + "~" + Net_Tax + "~" + Savings; gc.insert_date(orderNumber, ParcelNo, 363, TaxAssement_Details, 1, DateTime.Now); Description = ""; TaxGross_Tax = ""; Credit = ""; Net_Tax = ""; Savings = ""; } } if (TaxAssement.Text.Contains("Total Tax") && !TaxAssement.Text.Contains("Sub Total")) { Description = "Total Tax"; TaxGross_Tax = TaxAssementTD[0].Text; Credit = TaxAssementTD[1].Text; Net_Tax = TaxAssementTD[2].Text; if (Tax_Type == "Non Ad Valorem") { amck.Instamount1 = Net_Tax; } Savings = TaxAssementTD[3].Text; TaxAssement_Details = Billtaxyear + "~" + Tax_Type + "~" + Description + "~" + TaxGross_Tax + "~" + Credit + "~" + Net_Tax + "~" + Savings; gc.insert_date(orderNumber, ParcelNo, 363, TaxAssement_Details, 1, DateTime.Now); } } b++; } } catch { } gc.CreatePdf(orderNumber, ParcelNo, "Ad Valorem and Non Ad Valorem" + Billtaxyear, driver, "FL", "Palm Beach"); //Tax Installment Details try { IWebElement TaxInstallmentTB = driver.FindElement(By.XPath("//*[@id='dnn_ContentPane']/div[5]")); IList <IWebElement> TaxInstallmentTR = TaxInstallmentTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxInstallmentTD; foreach (IWebElement TaxInstallment in TaxInstallmentTR) { TaxInstallmentTD = TaxInstallment.FindElements(By.TagName("td")); if (TaxInstallmentTD.Count != 0 && !TaxInstallment.Text.Contains("Period")) { if (TaxInstallmentTD[0].Text.Trim() == "Total Due:") { Period = ""; BillNumber = ""; Due_Date = ""; BillYear = TaxInstallmentTD[0].Text; Tax = TaxInstallmentTD[1].Text; Discount1 = TaxInstallmentTD[2].Text; Penality = TaxInstallmentTD[3].Text; Interest1 = TaxInstallmentTD[4].Text; Total_Due = TaxInstallmentTD[5].Text; if (s == 0) { if (TaxInstallmentTR.Count == 3) { if (Total_Due == "$0.00") { amck.IsDelinquent = "No"; amck.InstPaidDue1 = "Paid"; gc.InsertAmrockTax(orderNumber, amck.TaxId, amck.Instamount1, amck.Instamount2, amck.Instamount3, amck.Instamount4, amck.Instamountpaid1, amck.Instamountpaid2, amck.Instamountpaid3, amck.Instamountpaid4, amck.InstPaidDue1, amck.InstPaidDue2, amck.instPaidDue3, amck.instPaidDue4, amck.IsDelinquent); } else if (Total_Due != "$0.00" && Interest1 != "$0.00") { amck.IsDelinquent = "Yes"; amck.InstPaidDue1 = "Due"; gc.InsertAmrockTax(orderNumber, amck.TaxId, amck.Instamount1, amck.Instamount2, amck.Instamount3, amck.Instamount4, amck.Instamountpaid1, amck.Instamountpaid2, amck.Instamountpaid3, amck.Instamountpaid4, amck.InstPaidDue1, amck.InstPaidDue2, amck.instPaidDue3, amck.instPaidDue4, amck.IsDelinquent); } } } } else { Period = TaxInstallmentTD[0].Text; BillNumber = TaxInstallmentTD[1].Text; Due_Date = TaxInstallmentTD[2].Text; BillYear = TaxInstallmentTD[3].Text; if (BillYear != "") { amck.TaxYear = BillYear; } Tax = TaxInstallmentTD[4].Text; Discount1 = TaxInstallmentTD[5].Text; Penality = TaxInstallmentTD[6].Text; Interest1 = TaxInstallmentTD[7].Text; Total_Due = TaxInstallmentTD[8].Text; } TaxInstallmentDetails = Period + "~" + BillNumber + "~" + Due_Date + "~" + BillYear + "~" + Tax + "~" + Discount1 + "~" + Penality + "~" + Interest1 + "~" + Total_Due; gc.insert_date(orderNumber, ParcelNo, 361, TaxInstallmentDetails, 1, DateTime.Now); } } } catch { } //Tax Payment details try { IWebElement PaymentTB = driver.FindElement(By.XPath("//*[@id='dnn_ContentPane']/div[7]")); IList <IWebElement> PaymentTR = PaymentTB.FindElements(By.TagName("tr")); IList <IWebElement> PaymentTD; foreach (IWebElement Payment in PaymentTR) { PaymentTD = Payment.FindElements(By.TagName("td")); if (PaymentTD.Count != 0 && !Payment.Text.Contains("Bill Year")) { Payment_BillYear = PaymentTD[0].Text; Payment_BillNumber = PaymentTD[1].Text; Receipt_Number = PaymentTD[2].Text; Amount_Paid = PaymentTD[3].Text; if (Amount_Paid != "") { amck.Instamountpaid1 = Amount_Paid; } Last_Paid = PaymentTD[4].Text; Paid_By = PaymentTD[5].Text; Payment_Details = Payment_BillYear + "~" + Payment_BillNumber + "~" + Receipt_Number + "~" + Amount_Paid + "~" + Last_Paid + "~" + Paid_By; gc.insert_date(orderNumber, ParcelNo, 362, Payment_Details, 1, DateTime.Now); } } } catch { } //Tax Bill Dowload try { IWebElement taxinfotable = driver.FindElement(By.XPath("//*[@id='lxT538']/p")); IList <IWebElement> viwetaxbill = taxinfotable.FindElements(By.TagName("a")); foreach (IWebElement taxyearelement in viwetaxbill) { if (taxyearelement.Text.Contains("Print Tax Bill")) { string viewhref = taxyearelement.GetAttribute("href"); gc.downloadfile(viewhref, orderNumber, ParcelNo, "ViewTaxBill.pdf" + s, "FL", "Palm Beach"); } } s++; } catch { } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "FL", "Palm Beach", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); //megrge pdf files gc.mergpdf(orderNumber, "FL", "Palm Beach"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_ILWill(string houseno, string sname, string stype, string unitnumber, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; // driver = new ChromeDriver(); //driver = new PhantomJSDriver() using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { if (directParcel == "") { Address = houseno + " " + sname + " " + stype + " " + unitnumber; } else { Address = houseno + " " + directParcel + " " + sname + " " + stype + " " + unitnumber; } gc.TitleFlexSearch(orderNumber, "", ownername, Address, "IL", "Will"); if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { driver.Quit(); return("MultiParcel"); } else if (HttpContext.Current.Session["titleparcel"].ToString() == "") { HttpContext.Current.Session["Nodata_ILWill"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://www.willcountysoa.com/search.aspx"); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_BC_btnContinue")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_BC_hlAddress")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_BC_txStreetFrom")).SendKeys(houseno); driver.FindElement(By.Id("ctl00_BC_txStreetName")).SendKeys(sname); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "IL", "Will"); driver.FindElement(By.Id("ctl00_BC_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); //MultiParcel try { IWebElement MultiTable = driver.FindElement(By.XPath("//*[@id='ctl00_BC_gvParcels']/tbody")); IList <IWebElement> MultiTR = MultiTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiTD; int maxCheck = 0; gc.CreatePdf_WOP(orderNumber, "MultiAddresssearch", driver, "IL", "Will"); foreach (IWebElement Multi in MultiTR) { if (maxCheck <= 25) { MultiTD = Multi.FindElements(By.TagName("td")); if (MultiTD.Count > 2 && !Multi.Text.Contains("Displaying") && !Multi.Text.Contains("Pin")) { parcelNumber = MultiTD[0].Text; Address = MultiTD[1].Text; City = MultiTD[2].Text; Zip = MultiTD[3].Text; Class = MultiTD[4].Text; Multidata = Address + "~" + City + "~" + Zip + "~" + Class; gc.insert_date(orderNumber, parcelNumber, 394, Multidata, 1, DateTime.Now); maxCheck++; } } } if (MultiTR.Count > 30) { HttpContext.Current.Session["multiparcel_ILWill_count"] = "Maximum"; driver.Quit(); return("Maximum"); //return GlobalClass.multiparcel_ILWill = "Yes"; } if (MultiTR.Count > 5 && MultiTR.Count < 30) { HttpContext.Current.Session["multiparcel_ILWill"] = "Yes"; driver.Quit(); return("MultiParcel"); } } catch { } } if (searchType == "parcel") { if ((HttpContext.Current.Session["titleparcel"] != null && HttpContext.Current.Session["titleparcel"].ToString() == "Yes")) { parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); } driver.Navigate().GoToUrl("http://www.willcountysoa.com/search.aspx"); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_BC_btnContinue")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_BC_hlPIN")).Click(); Thread.Sleep(2000); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", ""); } Parcel_A = parcelNumber.Substring(0, 2); Parcel_B = parcelNumber.Substring(2, 2); Parcel_C = parcelNumber.Substring(4, 2); Parcel_D = parcelNumber.Substring(6, 3); Parcel_E = parcelNumber.Substring(9, 3); Parcel_F = parcelNumber.Substring(12, 4); driver.FindElement(By.Id("ctl00_BC_txP1")).SendKeys(Parcel_A); driver.FindElement(By.Id("ctl00_BC_txP2")).SendKeys(Parcel_B); driver.FindElement(By.Id("ctl00_BC_txP3")).SendKeys(Parcel_C); driver.FindElement(By.Id("ctl00_BC_txP4")).SendKeys(Parcel_D); driver.FindElement(By.Id("ctl00_BC_txP5")).SendKeys(Parcel_E); driver.FindElement(By.Id("ctl00_BC_txP6")).SendKeys(Parcel_F); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "IL", "Will"); driver.FindElement(By.Id("ctl00_BC_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); } try { IWebElement INodata = driver.FindElement(By.Id("ctl00_BC_gvParcels")); if (INodata.Text.Contains("There are no records that match your criteria")) { HttpContext.Current.Session["Nodata_ILWill"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //Property Details InserParcel = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[2]/tbody/tr/td[1]/table/tbody/tr[1]/td")).Text.Replace("PIN #:", ""); if (InserParcel.Contains("-")) { Outparcel = InserParcel.Replace("-", "").Trim(); } // Outparcel = WebDriverTest.After(Outparcel, "PIN #:").Trim(); Residential = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[2]/tbody/tr/td[1]/table/tbody/tr[2]/td")).Text; try { IWebElement Yeartable = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[6]/tbody")); IList <IWebElement> YearTR = Yeartable.FindElements(By.TagName("tr")); IList <IWebElement> YearTD; foreach (IWebElement Year in YearTR) { YearTD = Year.FindElements(By.TagName("td")); if (YearTD.Count != 0 && Year.Text.Contains("Year Built:")) { Year_Built = YearTD[1].Text; } } IWebElement LegalTB = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[9]/tbody")); IList <IWebElement> LegalTR = LegalTB.FindElements(By.TagName("tr")); IList <IWebElement> LegalTD; foreach (IWebElement Legal in LegalTR) { LegalTD = Legal.FindElements(By.TagName("td")); if (LegalTD.Count != 0 && !Legal.Text.Contains("") || Legal.Text.Contains("IN")) { Legal_Description = LegalTD[0].Text; } } } catch { } gc.CreatePdf(orderNumber, Outparcel, "Proprty Details", driver, "IL", "Will"); Property_Details = Residential + "~" + Year_Built + "~" + Legal_Description; gc.insert_date(orderNumber, InserParcel, 395, Property_Details, 1, DateTime.Now); //Assement Details try { Assessment_Year = driver.FindElement(By.XPath("//*[@id='Table2']/tbody/tr/td[1]/table/tbody/tr[10]/td")).Text; Assessment_Year = WebDriverTest.After(Assessment_Year, "(").Replace(")", "").Trim(); Land = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[4]/tbody/tr[1]/td[2]")).Text; Form_Land = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[4]/tbody/tr[1]/td[5]")).Text; Building = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[4]/tbody/tr[2]/td[2]")).Text; Form_Building = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[4]/tbody/tr[2]/td[5]")).Text; Total = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[4]/tbody/tr[3]/td[2]")).Text; Form_Total = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/div[1]/div/table[4]/tbody/tr[3]/td[5]")).Text; Assement_Details = Assessment_Year + "~" + Land + "~" + Form_Land + "~" + Building + "~" + Form_Building + "~" + Total + "~" + Form_Total; gc.insert_date(orderNumber, InserParcel, 396, Assement_Details, 1, DateTime.Now); } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Taxing Authority try { driver.Navigate().GoToUrl("http://www.willcountysoa.com/contact.aspx"); Thread.Sleep(2000); gc.CreatePdf(orderNumber, InserParcel, "Authority Details" + TaxYear, driver, "IL", "Will"); Taxing_Authority = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/table/tbody/tr[5]/td[2]")).Text.Replace("\r\n", ""); } catch { } //Tax Information driver.Navigate().GoToUrl("http://willtax.willcountydata.com/ccalm07.asp"); Thread.Sleep(2000); //*[@id="hero"]/div[1]/div/div[1]/div/p/a[1] //IWebElement ITaxPreviousYear = driver.FindElement(By.XPath("//*[@id='hero']/div[1]/div/div[1]/div/p")); //IList<IWebElement> ITaxPreviousYearRow = ITaxPreviousYear.FindElements(By.TagName("a")); //foreach (IWebElement PreviousYear in ITaxPreviousYearRow) //{ // if (PreviousYear.Text != "" && PreviousYear.Text.Contains("VIEW") && !PreviousYear.Text.Contains("PAY") && PreviousYear.Text.Contains("TAXES")) // { // PreviousYearURL = PreviousYear.GetAttribute("href"); // TAXURL.Add(PreviousYearURL); // } //} //try //{ // IWebElement ITaxYear = driver.FindElement(By.XPath("//*[@id='hero']/div[1]/div/div[1]/div/p")); // IList<IWebElement> ITaxYearRow = ITaxYear.FindElements(By.TagName("a")); // foreach (IWebElement Year in ITaxYearRow) // { // if (Year.Text != "" && Year.Text.Contains("VIEW") && Year.Text.Contains("PAY") && Year.Text.Contains("TAXES")) // { // Year.Click(); // IWebElement IYearSearch = driver.FindElement(By.LinkText("YES")); // if (IYearSearch.Text !="" && IYearSearch.Text.Contains("YES")) // { // CurrentYearURL = IYearSearch.GetAttribute("href"); // } // } // } //} //catch { } int i = 0; driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr/td/form/p[1]/input")).SendKeys(Outparcel); driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr/td/form/p[2]/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(2000); PTaxYear = GlobalClass.Before(driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/center[1]/table/tbody/tr[2]/td")).Text, " Levy Real Estate"); gc.CreatePdf(orderNumber, InserParcel, "Tax Search" + PTaxYear, driver, "IL", "Will"); POwnerName = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[2]/td[2]")).Text; PMailing_Address1 = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[3]/td[2]")).Text; PMailing_Address2 = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[4]/td[2]")).Text; PMailing_Address3 = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[5]/td[2]")).Text; PMailing_Address = PMailing_Address1 + " " + PMailing_Address2 + " " + PMailing_Address3; PAssessed_Value = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[7]/td[3]")).Text; PExemptions = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[7]/td[4]")).Text; PTax_Code = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[9]/td[4]")).Text; PTax_Rate = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[9]/td[5]")).Text; gc.CreatePdf(orderNumber, InserParcel, "Tax Details" + PTaxYear, driver, "IL", "Will"); //Current TaxYear try { IWebElement CurrentTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/div[1]/p/table/tbody")); IList <IWebElement> CurrentTR = CurrentTB.FindElements(By.TagName("tr")); IList <IWebElement> CurrentTD; foreach (IWebElement Current in CurrentTR) { CurrentTD = Current.FindElements(By.TagName("td")); if (CurrentTD.Count != 0 && !Current.Text.Contains("Installment") && !Current.Text.Contains("Total Base Tax")) { PInstallment = CurrentTD[0].Text.Replace("----", " ").Trim(); PTax_Amount = CurrentTD[1].Text.Replace("\r\n", "----").Trim(); PInterest = CurrentTD[2].Text.Replace("\r\n", "----").Trim(); PPaid_Amount = CurrentTD[3].Text.Replace("\r\n", "----").Trim(); PPaid_Date = CurrentTD[4].Text.Replace("\r\n", " ").Trim(); PBalance_Due = CurrentTD[5].Text.Replace("\r\n", "----").Trim(); PCurrent_Year = PTaxYear + "~" + PInstallment + "~" + PTax_Amount + "~" + PInterest + "~" + PPaid_Amount + "~" + PPaid_Date + "~" + PBalance_Due; gc.insert_date(orderNumber, InserParcel, 402, PCurrent_Year, 1, DateTime.Now); } else if (Current.Text.Contains("Total Base Tax")) { PInstallment = CurrentTD[0].Text.Replace("\r\n", " ").Trim(); PTax_Amount = CurrentTD[1].Text.Replace("\r\n", "----").Trim(); PCurrent_Yeartotal = PTaxYear + "~" + PInstallment + "~" + PTax_Amount + "~" + " " + "~" + " " + "~" + " " + "~" + " "; gc.insert_date(orderNumber, InserParcel, 402, PCurrent_Yeartotal, 1, DateTime.Now); } } } catch { } try { IWebElement CurrentTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/div[1]/p[2]/table/tbody")); IList <IWebElement> CurrentTR = CurrentTB.FindElements(By.TagName("tr")); IList <IWebElement> CurrentTD; foreach (IWebElement Current in CurrentTR) { CurrentTD = Current.FindElements(By.TagName("td")); if (CurrentTD.Count != 0 && !Current.Text.Contains("Installment") && !Current.Text.Contains("Total Base Tax")) { PInstallment = CurrentTD[0].Text.Replace("----", " ").Trim(); PTax_Amount = CurrentTD[1].Text.Replace("\r\n", "----").Trim(); PInterest = CurrentTD[2].Text.Replace("\r\n", "----").Trim(); PPaid_Amount = CurrentTD[3].Text.Replace("\r\n", "----").Trim(); PPaid_Date = CurrentTD[4].Text.Replace("\r\n", " ").Trim(); PBalance_Due = CurrentTD[5].Text.Replace("\r\n", "----").Trim(); PCurrent_Year = PTaxYear + "~" + PInstallment + "~" + PTax_Amount + "~" + PInterest + "~" + PPaid_Amount + "~" + PPaid_Date + "~" + PBalance_Due; gc.insert_date(orderNumber, InserParcel, 402, PCurrent_Year, 1, DateTime.Now); } else if (Current.Text.Contains("Total Base Tax")) { PInstallment = CurrentTD[0].Text.Replace("\r\n", " ").Trim(); PTax_Amount = CurrentTD[1].Text.Replace("\r\n", "----").Trim(); PCurrent_Yeartotal = PTaxYear + "~" + PInstallment + "~" + PTax_Amount + "~" + " " + "~" + " " + "~" + " " + "~" + " "; gc.insert_date(orderNumber, InserParcel, 402, PCurrent_Yeartotal, 1, DateTime.Now); } } } catch { } //Tax Inqiury try { String Parent_Window = driver.CurrentWindowHandle; IWebElement Tax_Enquiry = driver.FindElement(By.LinkText("Five Year Tax Inquiry")); Tax_Enquiry.SendKeys(Keys.Enter); Thread.Sleep(4000); driver.SwitchTo().Window(driver.WindowHandles.Last()); gc.CreatePdf(orderNumber, InserParcel, "Tax Inquiry Details" + PTaxYear, driver, "IL", "Will"); System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; driver.SwitchTo().Window(Parent_Window); //driver.Navigate().Back(); } catch { } if (i == 0) { //Tax Distribution try { String Parent_Window5 = driver.CurrentWindowHandle; IWebElement Distribution = driver.FindElement(By.LinkText("Tax Detail Inquiry")); Distribution.SendKeys(Keys.Enter); Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); gc.CreatePdf(orderNumber, InserParcel, "Tax Distribution" + PTaxYear, driver, "IL", "Will"); IWebElement HeadingDistributionTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/p[5]/table/tbody/tr/td/table/tbody")); IList <IWebElement> HeadingDistributionTR = HeadingDistributionTB.FindElements(By.TagName("tr")); IList <IWebElement> HeadingDistributionTH; foreach (IWebElement Heading in HeadingDistributionTR) { HeadingDistributionTH = Heading.FindElements(By.TagName("th")); if (HeadingDistributionTH.Count != 0 && !Heading.Text.Contains("Taxing Body") && Heading.Text.Trim() != "") { PFirstYear = HeadingDistributionTH[0].Text; PSecondYear = HeadingDistributionTH[1].Text; } if (HeadingDistributionTH.Count != 0 && Heading.Text.Contains("Taxing Body") && Heading.Text.Trim() != "") { PTaxDisTitle = HeadingDistributionTH[0].Text + "~" + "TaxYear" + "~" + HeadingDistributionTH[1].Text + " " + PFirstYear + "~" + HeadingDistributionTH[2].Text + " " + PFirstYear + "~" + HeadingDistributionTH[3].Text + " " + PSecondYear + "~" + HeadingDistributionTH[4].Text + " " + PSecondYear; } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + PTaxDisTitle + "' where Id = '" + 408 + "'"); IWebElement DistributionTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/p[5]/table/tbody/tr/td/table/tbody")); IList <IWebElement> DistributionTR = DistributionTB.FindElements(By.TagName("tr")); IList <IWebElement> DistributionTD; foreach (IWebElement Distributions in DistributionTR) { DistributionTD = Distributions.FindElements(By.TagName("td")); if (DistributionTD.Count != 0 && !Distributions.Text.Contains("Taxing Body") && !Distributions.Text.Contains(PFirstYear) && Distributions.Text.Trim() != "") { PAuthority = DistributionTD[0].Text.Replace("\r\n", " ").Trim(); PRate_2016 = DistributionTD[1].Text.Replace("\r\n", " ").Trim(); PAmount_2016 = DistributionTD[2].Text.Replace("\r\n", " ").Trim(); PRate_2017 = DistributionTD[3].Text.Replace("\r\n", " ").Trim(); PAmount_2017 = DistributionTD[4].Text.Replace("\r\n", " ").Trim(); PTax_Distribution = PAuthority + "~" + PTaxYear + "~" + PRate_2016 + "~" + PAmount_2016 + "~" + PRate_2017 + "~" + PAmount_2017; gc.insert_date(orderNumber, InserParcel, 408, PTax_Distribution, 1, DateTime.Now); } } System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; driver.SwitchTo().Window(Parent_Window5); } catch { } } PTaxInfo_Details = PTaxYear + "~" + POwnerName + "~" + PMailing_Address + "~" + PAssessed_Value + "~" + PExemptions + "~" + PTax_Code + "~" + PTax_Rate + "~" + Taxing_Authority; gc.insert_date(orderNumber, InserParcel, 399, PTaxInfo_Details, 1, DateTime.Now); i++; //if (CurrentYearURL != "") //{ // try // { // try // { // driver.Navigate().GoToUrl(CurrentYearURL); // Thread.Sleep(2000); // driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr/td/form/p[1]/input")).SendKeys(Outparcel); // driver.FindElement(By.XPath("/html/body/center/table/tbody/tr/td/table/tbody/tr/td/form/p[2]/input[1]")).SendKeys(Keys.Enter); // Thread.Sleep(2000); // TaxYear = GlobalClass.Before(driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/center[1]/table/tbody/tr[2]/td")).Text, " Levy Real Estate"); // gc.CreatePdf(orderNumber, InserParcel, "Tax Search" + TaxYear, driver, "IL", "Will"); // OwnerName = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[2]/td[2]")).Text; // Mailing_Address1 = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[3]/td[2]")).Text; // Mailing_Address2 = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[4]/td[2]")).Text; // Mailing_Address3 = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[5]/td[2]")).Text; // Mailing_Address = Mailing_Address1 + " " + Mailing_Address2 + " " + Mailing_Address3; // Assessed_Value = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[7]/td[3]")).Text; // Exemptions = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[7]/td[4]")).Text; // Tax_Code = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[9]/td[4]")).Text; // Tax_Rate = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table/tbody/tr[9]/td[5]")).Text; // gc.CreatePdf(orderNumber, InserParcel, "Tax Details" + TaxYear, driver, "IL", "Will"); // } // catch // { } // //Current TaxYear // try // { // try // { // CurrentTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/div[1]/p/table/tbody")); // } // catch { } // try // { // if (CurrentTB.Text != "") // { // CurrentTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/div[1]/p[2]/table/tbody")); // } // } // catch { } // IList<IWebElement> CurrentTR = CurrentTB.FindElements(By.TagName("tr")); // IList<IWebElement> CurrentTD; // foreach (IWebElement Current in CurrentTR) // { // CurrentTD = Current.FindElements(By.TagName("td")); // if (CurrentTD.Count != 0 && !Current.Text.Contains("Installment") && !Current.Text.Contains("Total Base Tax")) // { // Installment = CurrentTD[0].Text.Replace("----", " ").Trim(); // Tax_Amount = CurrentTD[1].Text.Replace("\r\n", "----").Trim(); // Interest = CurrentTD[2].Text.Replace("\r\n", "----").Trim(); // Paid_Amount = CurrentTD[3].Text.Replace("\r\n", "----").Trim(); // Paid_Date = CurrentTD[4].Text.Replace("\r\n", " ").Trim(); // Balance_Due = CurrentTD[5].Text.Replace("\r\n", "----").Trim(); // Current_Year = TaxYear + "~" + Installment + "~" + Tax_Amount + "~" + Interest + "~" + Paid_Amount + "~" + Paid_Date + "~" + Balance_Due; // gc.insert_date(orderNumber, InserParcel, 402, Current_Year, 1, DateTime.Now); // } // else if (Current.Text.Contains("Total Base Tax")) // { // Installment = CurrentTD[0].Text.Replace("\r\n", " ").Trim(); // Tax_Amount = CurrentTD[1].Text.Replace("\r\n", "----").Trim(); // Current_Yeartotal = TaxYear + "~" + Installment + "~" + Tax_Amount + "~" + " " + "~" + " " + "~" + " " + "~" + " "; // gc.insert_date(orderNumber, InserParcel, 402, Current_Yeartotal, 1, DateTime.Now); // } // } // } // catch // { } // //Tax Inqiury // try // { // String Parent_Window = driver.CurrentWindowHandle; // IWebElement Tax_Enquiry = driver.FindElement(By.LinkText("Five Year Tax Inquiry")); // string strTax_Enquiry = Tax_Enquiry.GetAttribute("href"); // Tax_Enquiry.SendKeys(Keys.Control + "t"); // Thread.Sleep(4000); // gc.CreatePdf(orderNumber, InserParcel, "Tax Inquiry Details" + TaxYear, driver, "IL", "Will"); // System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; // driver.SwitchTo().Window(Parent_Window); // } // catch // { } // //Tax Distribution // try // { // String Parent_Window5 = driver.CurrentWindowHandle; // IWebElement Distribution = driver.FindElement(By.LinkText("Tax Detail Inquiry")); // Thread.Sleep(2000); // Distribution.SendKeys(Keys.Control + "t"); // driver.SwitchTo().Window(driver.WindowHandles.Last()); // gc.CreatePdf(orderNumber, InserParcel, "Tax Distribution" + TaxYear, driver, "IL", "Will"); // IWebElement HeadingDistributionTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/p[5]/table/tbody/tr/td/table/tbody")); // IList<IWebElement> HeadingDistributionTR = HeadingDistributionTB.FindElements(By.TagName("tr")); // IList<IWebElement> HeadingDistributionTH; // foreach (IWebElement Heading in HeadingDistributionTR) // { // HeadingDistributionTH = Heading.FindElements(By.TagName("th")); // if (HeadingDistributionTH.Count != 0 && !Heading.Text.Contains("Taxing Body") && Heading.Text.Trim() != "") // { // FirstYear = HeadingDistributionTH[0].Text; // SecondYear = HeadingDistributionTH[1].Text; // } // if (HeadingDistributionTH.Count != 0 && Heading.Text.Contains("Taxing Body") && Heading.Text.Trim() != "") // { // TaxDisTitle = HeadingDistributionTH[0].Text + "~" + "TaxYear" + "~" + HeadingDistributionTH[1].Text + " " + FirstYear + "~" + HeadingDistributionTH[2].Text + " " + FirstYear + "~" + HeadingDistributionTH[3].Text + " " + SecondYear + "~" + HeadingDistributionTH[4].Text + " " + SecondYear; // } // } // db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + TaxDisTitle + "' where Id = '" + 408 + "'"); // IWebElement DistributionTB = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/p[5]/table/tbody/tr/td/table/tbody")); // IList<IWebElement> DistributionTR = DistributionTB.FindElements(By.TagName("tr")); // IList<IWebElement> DistributionTD; // foreach (IWebElement Distributions in DistributionTR) // { // DistributionTD = Distributions.FindElements(By.TagName("td")); // if (DistributionTD.Count != 0 && !Distributions.Text.Contains("Taxing Body") && !Distributions.Text.Contains(FirstYear) && Distributions.Text.Trim() != "") // { // Authority = DistributionTD[0].Text.Replace("\r\n", " ").Trim(); // Rate_2016 = DistributionTD[1].Text.Replace("\r\n", " ").Trim(); // Amount_2016 = DistributionTD[2].Text.Replace("\r\n", " ").Trim(); // Rate_2017 = DistributionTD[3].Text.Replace("\r\n", " ").Trim(); // Amount_2017 = DistributionTD[4].Text.Replace("\r\n", " ").Trim(); // Tax_Distribution = Authority + "~" + TaxYear + "~" + Rate_2016 + "~" + Amount_2016 + "~" + Rate_2017 + "~" + Amount_2017; // gc.insert_date(orderNumber, InserParcel, 408, Tax_Distribution, 1, DateTime.Now); // } // } // System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; // driver.SwitchTo().Window(Parent_Window5); // } // catch // { } // try // { // driver.Navigate().GoToUrl("http://www.willcountysoa.com/contact.aspx"); // Thread.Sleep(2000); // gc.CreatePdf(orderNumber, InserParcel, "Authority Details" + TaxYear, driver, "IL", "Will"); // Taxing_Authority = driver.FindElement(By.XPath("/html/body/form/div[3]/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td[1]/table/tbody/tr[5]/td[2]")).Text.Replace("\r\n", ""); // } // catch { } // TaxInfo_Details = TaxYear + "~" + OwnerName + "~" + Mailing_Address + "~" + Assessed_Value + "~" + Exemptions + "~" + Tax_Code + "~" + Tax_Rate + "~" + Taxing_Authority; // gc.insert_date(orderNumber, InserParcel, 399, TaxInfo_Details, 1, DateTime.Now); // } // catch { } //} //Tax Redemption try { driver.Navigate().GoToUrl("http://willtax.willcountydata.com/ccwtx20.asp"); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/form/p[1]/input")).SendKeys(Outparcel); driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/form/p[2]/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, InserParcel, "Tax Redemption" + TaxYear, driver, "IL", "Will"); List <string> Bill = new List <string>(); IWebElement MultiOwnerTable = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/p[5]/table/tbody")); IList <IWebElement> MultiOwnerRowurl = MultiOwnerTable.FindElements(By.TagName("td")); IList <IWebElement> Multibill; foreach (IWebElement row1 in MultiOwnerRowurl) { Multibill = row1.FindElements(By.TagName("a")); if (Multibill.Count != 0 && row1.Text != "") { try { string MultiOwnerTD = Multibill[0].GetAttribute("href"); Bill.Add(MultiOwnerTD); } catch { } } } try { foreach (string url in Bill) { driver.Navigate().GoToUrl(url); string Tayear = driver.FindElement(By.XPath("/html/body/div/center/table/tbody/tr/td/table[1]/tbody/tr[2]/td[3]")).Text; gc.CreatePdf(orderNumber, InserParcel, "Tax Redemption" + Tayear, driver, "IL", "Will"); } } catch { } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "IL", "Will", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "IL", "Will"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }