public string FTP_Santamenta(string Address, string account, string parcelNumber, string ownername, string searchType, string orderno, string directParcel) { GlobalClass.global_orderNo = orderno; HttpContext.Current.Session["orderNo"] = orderno; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; //var driverService = PhantomJSDriverService.CreateDefaultService(); //driverService.HideCommandPromptWindow = true; //driver = new ChromeDriver(); //driver = new PhantomJSDriver(); //driver.Manage().Window.Size = new Size(1920, 1080); var option = new ChromeOptions(); option.AddArgument("No-Sandbox"); using (driver = new ChromeDriver(option)) //ChromeDriver { if (ownername.Trim() != "" || Address.Trim() != "") { searchType = "titleflex"; } string[] stringSeparators1 = new string[] { "\r\n" }; List <string> listurl = new List <string>(); List <string> Columnurl = new List <string>(); List <string> Roll = new List <string>(); string Date = ""; Date = DateTime.Now.ToString("M/d/yyyy"); try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderno, parcelNumber, ownername, Address, "CA", "Sacramento"); 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_CASacramento"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } //if (searchType == "address") //{ // driver.Navigate().GoToUrl("http://assessorparcelviewer.saccounty.net/jsviewer/assessor.html?apn={0}"); // Thread.Sleep(2000); // driver.FindElement(By.XPath("//*[@id='omniInput']")).SendKeys(Address); // Thread.Sleep(2000); // //gc.CreatePdf_WOP(orderNumber, "Address search", driver, "FL", "Miami Dade"); // driver.FindElement(By.XPath("//*[@id='goOmniSearch']")).SendKeys(Keys.Enter); // Thread.Sleep(3000); // // gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "FL", "Miami Dade"); // Thread.Sleep(1000); // try // { // string multi = driver.FindElement(By.XPath("//*[@id='SearchDescription']/span")).Text; // if (multi.Trim()!="") // { // IWebElement MuliparcTB = driver.FindElement(By.XPath("//*[@id='datatable']")); // IList<IWebElement> MuliparcTR = MuliparcTB.FindElements(By.TagName("tr")); // } // } // catch { } //} if (searchType == "parcel") { driver.Navigate().GoToUrl("http://assessorparcelviewer.saccounty.net/jsviewer/assessor.html?apn={0}"); Thread.Sleep(5000); try { driver.FindElement(By.XPath("//*[@id='PopupDisclaimerDiv']/div/div/div[3]/button[2]")).Click(); } catch { } driver.FindElement(By.XPath("//*[@id='omniInput']")).SendKeys(parcelNumber); gc.CreatePdf(orderno, parcelNumber.Replace("-", ""), "Parcel Search", driver, "CA", "Sacramento"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='goOmniSearch']")).Click(); Thread.Sleep(6000); // gc.CreatePdf(orderno, parcelNumber, "Parcel Search Result", driver, "CA", "Sacramento"); } //AMROCK Mapping Amrock amc = new Amrock(); // assessment details string PropertyAddress = "", City_Zip = "", Jurisdiction = "", CountySupervisorDistrict = "", TaxRateAreaCode = "", ApproxParcelArea = "", Yearbuilt = ""; parcelNumber = parcelNumber.Replace("-", ""); try { gc.CreatePdf(orderno, parcelNumber, "Property", driver, "CA", "Sacramento"); ByVisibleElement(driver.FindElement(By.XPath("//*[@id='AssessorRollPortlet']/h3/a"))); } catch { } try { gc.CreatePdf(orderno, parcelNumber, "Assessment1", driver, "CA", "Sacramento"); ByVisibleElement(driver.FindElement(By.XPath("//*[@id='AssessorPortlet']/h3/a"))); } catch { } gc.CreatePdf(orderno, parcelNumber, "Assessment2", driver, "CA", "Sacramento"); // gc.CreatePdf(orderno, parcelNumber, "Assessment Details", driver, "CA", "El Dorado"); parcelNumber = driver.FindElement(By.XPath("//*[@id='ParcelAPNNoDashes']")).Text; PropertyAddress = driver.FindElement(By.XPath("//*[@id='Address']")).Text; City_Zip = driver.FindElement(By.XPath("//*[@id='PropertyInformationTable']/tbody/tr[3]/td[2]")).Text; Jurisdiction = driver.FindElement(By.XPath("//*[@id='Jurisdiction']")).Text; TaxRateAreaCode = driver.FindElement(By.XPath("//*[@id='TaxRateAreaCodeLink']")).Text; CountySupervisorDistrict = driver.FindElement(By.XPath("//*[@id='SupervisorDistrictLink']")).Text; try { ByVisibleElement(driver.FindElement(By.XPath("//*[@id='EffectiveYearBuiltRow']/td[1]"))); } catch { } Thread.Sleep(1000); Yearbuilt = driver.FindElement(By.Id("YearBuilt")).Text; gc.CreatePdf(orderno, parcelNumber, "Year built", driver, "CA", "Sacramento"); driver.FindElement(By.XPath("//*[@id='AssessorPortlet']/h3")).Click(); //gc.CreatePdf(orderno, parcelNumber, "Input Passed Tax Search", driver, "CA", "El Dorado"); Thread.Sleep(1000); ApproxParcelArea = driver.FindElement(By.XPath("//*[@id='LotSize']")).Text; string ProperTyDetail = PropertyAddress + "~" + City_Zip + "~" + Jurisdiction + "~" + TaxRateAreaCode + "~" + CountySupervisorDistrict + "~" + ApproxParcelArea + "~" + Yearbuilt; gc.insert_date(orderno, parcelNumber, 368, ProperTyDetail, 1, DateTime.Now); string TaxRollYear = "", LandValue = "", ImprovementValue = "", PersonalPropertyValue = "", Fixtures = "", HomeownerExemption = "", OtherExemption = "", NetAssessedValue = ""; //gc.CreatePdf(orderno, parcelNumber, "Assessment", driver, "CA", "Sacramento"); //ByVisibleElement(driver.FindElement(By.XPath("//*[@id='AssessorRollPortlet']/h3/a"))); //gc.CreatePdf(orderno, parcelNumber, "Assessment1", driver, "CA", "Sacramento"); TaxRollYear = driver.FindElement(By.XPath("//*[@id='RollYear']")).Text; LandValue = driver.FindElement(By.XPath("//*[@id='ValueLand']")).Text; ImprovementValue = driver.FindElement(By.XPath("//*[@id='ValueStructure']")).Text; PersonalPropertyValue = driver.FindElement(By.XPath("//*[@id='ValuePersonalProperty']")).Text; Fixtures = driver.FindElement(By.XPath("//*[@id='ValueFixtures']")).Text; HomeownerExemption = driver.FindElement(By.XPath("//*[@id='ValueHomeOwnersException']")).Text; OtherExemption = driver.FindElement(By.XPath("//*[@id='ValueOtherExemption']")).Text; NetAssessedValue = driver.FindElement(By.XPath("//*[@id='ValueTotal']")).Text; string Assessment = TaxRollYear + "~" + LandValue + "~" + ImprovementValue + "~" + PersonalPropertyValue + "~" + Fixtures + "~" + HomeownerExemption + "~" + OtherExemption + "~" + NetAssessedValue; gc.insert_date(orderno, parcelNumber, 369, Assessment, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://eproptax.saccounty.net/"); Thread.Sleep(5000); try { IWebElement IAddressSearch1 = driver.FindElement(By.XPath("//*[@id='parcelLookup']/div[1]/a")); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", IAddressSearch1); Thread.Sleep(3000); // driver.FindElement(By.XPath("//*[@id='parcelLookup']/div[1]/a")).Click(); } catch { } string Pa1 = "", Pa2 = "", Pa3 = "", Pa4 = ""; Pa1 = parcelNumber.Substring(0, 3); Pa2 = parcelNumber.Substring(3, 4); Pa3 = parcelNumber.Substring(7, 3); Pa4 = parcelNumber.Substring(10, 4); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='parcel1']")).SendKeys(Pa1); driver.FindElement(By.XPath("//*[@id='parcel2']")).SendKeys(Pa2); driver.FindElement(By.XPath("//*[@id='parcel3']")).SendKeys(Pa3); driver.FindElement(By.XPath("//*[@id='parcel4']")).SendKeys(Pa4); Thread.Sleep(3000); gc.CreatePdf(orderno, parcelNumber, "Tax Search", driver, "CA", "Sacramento"); try { IWebElement IAddressSearch1 = driver.FindElement(By.XPath("//*[@id='PopupDisclaimerDiv']/div/div/div[3]/button[2]")); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", IAddressSearch1); Thread.Sleep(2000); // driver.FindElement(By.XPath("//*[@id='PopupDisclaimerDiv']/div/div/div[3]/button[2]")).Click(); } catch { } driver.FindElement(By.XPath("//*[@id='btnSubmit']")).Click(); //gc.CreatePdf(orderno, parcelNumber, "Input Passed Tax Search", driver, "CA", "El Dorado"); Thread.Sleep(3000); int I = 0; gc.CreatePdf(orderno, parcelNumber, "Tax Detail", driver, "CA", "Sacramento"); string TaxID = driver.FindElement(By.Id("parcelGlobal")).Text.Replace("Parcel Number ", "").Trim(); amc.TaxId = TaxID; string FirstAmount = "", SecondAmount = "", FirstDelinquent = "", SecondDelinquent = "", FirstPenalty = "", SecondPenalty = "", FirstStatus = "", SecondStatus = ""; IWebElement CurrentTaxHistoryTB1 = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody[1]")); IList <IWebElement> CurrentTaxHistoryTR1 = CurrentTaxHistoryTB1.FindElements(By.TagName("tr")); IList <IWebElement> CurrentTaxHistoryTD1; string BillNumber = "", Billtype = "", DirectLevyPortion = "", OriginalbillAmount = ""; try { CurrentTaxHistoryTB1 = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody[1]")); CurrentTaxHistoryTR1 = CurrentTaxHistoryTB1.FindElements(By.TagName("tr")); foreach (IWebElement row1 in CurrentTaxHistoryTR1) { CurrentTaxHistoryTD1 = row1.FindElements(By.TagName("td")); if (CurrentTaxHistoryTD1.Count != 0 && CurrentTaxHistoryTD1.Count != 1) { BillNumber = CurrentTaxHistoryTD1[0].Text; Roll.Add(BillNumber); if (row1.Text.Contains("Secured Supplemental") || row1.Text.Contains("Cancelled") || row1.Text.Contains("Secured Additional")) { amc.IsDelinquent = "Yes"; } ////driver.FindElement(By.XPath("//*[@id='navIcons']/li[3]/a")).Click(); ////Thread.Sleep(2000); } } } catch { } try { IWebElement IPirorYear = driver.FindElement(By.XPath("//*[@id='parcelMessages ']")); if (IPirorYear.Text.Contains("Prior Years Taxes Are Outstanding")) { amc.IsDelinquent = "Yes"; } } catch { } foreach (string Go in Roll) { //driver.Navigate().GoToUrl("https://eproptax.saccounty.net/#BillDetail/" + Go + ""); driver.Navigate().GoToUrl("https://eproptax.saccounty.net/#secured/BillDetail/" + Go + ""); Thread.Sleep(5000); string SecuredAnnual = "", FirstInstallment = "", SecondInstallment = "", TaxRate = ""; CreatePdf(orderno, parcelNumber, "Tax Detail" + I, driver, "CA", "Sacramento"); IWebElement CurrentTaxHistoryTB = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody")); IList <IWebElement> CurrentTaxHistoryTR = CurrentTaxHistoryTB.FindElements(By.TagName("tr")); IList <IWebElement> CurrentTaxHistoryTD; I++; foreach (IWebElement row in CurrentTaxHistoryTR) { CurrentTaxHistoryTD = row.FindElements(By.TagName("td")); if (CurrentTaxHistoryTD.Count != 0 && row.Text.Trim() != "" && !row.Text.Contains("There is a fee") && CurrentTaxHistoryTD.Count > 2) { TaxRate = driver.FindElement(By.XPath("//*[@id='taxRateGlobal']/a/span")).Text; SecuredAnnual = CurrentTaxHistoryTD[0].Text; FirstInstallment = CurrentTaxHistoryTD[1].Text; SecondInstallment = CurrentTaxHistoryTD[2].Text; string Deliquent = Billtype + "~" + TaxRate + "~" + SecuredAnnual + "~" + FirstInstallment + "~" + SecondInstallment; gc.insert_date(orderno, parcelNumber, 371, Deliquent, 1, DateTime.Now); } try { if (CurrentTaxHistoryTD.Count != 0 && row.Text.Contains("Amount:")) { amc.Instamount1 = CurrentTaxHistoryTD[1].Text.Trim(); amc.Instamount2 = CurrentTaxHistoryTD[2].Text.Trim(); } if (CurrentTaxHistoryTD.Count != 0 && row.Text.Contains("Delinquent Date:")) { FirstDelinquent = CurrentTaxHistoryTD[1].Text.Trim(); SecondDelinquent = CurrentTaxHistoryTD[2].Text.Trim(); } if (CurrentTaxHistoryTD.Count != 0 && row.Text.Contains("Penalty:")) { FirstPenalty = CurrentTaxHistoryTD[1].Text.Trim(); SecondPenalty = CurrentTaxHistoryTD[2].Text.Trim(); } if (CurrentTaxHistoryTD.Count != 0 && row.Text.Contains("Status:")) { FirstStatus = CurrentTaxHistoryTD[1].Text.Trim(); SecondStatus = CurrentTaxHistoryTD[2].Text.Trim(); } } catch { } } driver.Navigate().Back(); Thread.Sleep(2000); } //try //{ // CurrentTaxHistoryTB1 = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody[1]")); // CurrentTaxHistoryTR1 = CurrentTaxHistoryTB1.FindElements(By.TagName("tr")); // foreach (IWebElement row1 in CurrentTaxHistoryTR1) // { // CurrentTaxHistoryTD1 = row1.FindElements(By.TagName("td")); // if (CurrentTaxHistoryTD1.Count != 0) // { // BillNumber = CurrentTaxHistoryTD1[0].Text; // Billtype = CurrentTaxHistoryTD1[1].Text; // DirectLevyPortion = CurrentTaxHistoryTD1[2].Text; // OriginalbillAmount = CurrentTaxHistoryTD1[3].Text; // if (DirectLevyPortion.Trim() != "") // { // CurrentTaxHistoryTD1[I].Click(); // Thread.Sleep(2000); // } // // CurrentTaxHistoryTR1.Clear(); // driver.FindElement(By.XPath("//*[@id='navIcons']/li[3]/a")).Click(); // Thread.Sleep(2000); // } // } //} //catch { I++; } //Amrock Installment if (amc.IsDelinquent != "Yes" || amc.IsDelinquent == "No") { if (FirstPenalty.Contains("$0.00") && FirstPenalty != "") { if (FirstStatus.Contains("Paid")) { amc.InstPaidDue1 = "Paid"; amc.IsDelinquent = "No"; } if (FirstStatus.Contains("Unpaid")) { amc.InstPaidDue1 = "Due"; amc.IsDelinquent = "No"; } } else if (!FirstPenalty.Contains("$0.00") && FirstPenalty != "") { if (FirstStatus.Contains("Paid") || FirstStatus.Contains("Unpaid")) { amc.IsDelinquent = "Yes"; } } if (SecondPenalty.Contains("$0.00") && SecondPenalty != "") { if (SecondStatus.Contains("Paid")) { amc.InstPaidDue2 = "Paid"; amc.IsDelinquent = "No"; } if (SecondStatus.Contains("Unpaid")) { amc.InstPaidDue2 = "Due"; amc.IsDelinquent = "No"; } } else if (!SecondPenalty.Contains("$0.00") && SecondPenalty != "") { if (SecondStatus.Contains("Paid") || SecondStatus.Contains("Unpaid")) { amc.IsDelinquent = "Yes"; } } } driver.FindElement(By.XPath("//*[@id='navIcons']/li[3]/a")).Click(); Thread.Sleep(2000); try { listurl.Clear(); CurrentTaxHistoryTB1 = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody[1]")); CurrentTaxHistoryTR1 = CurrentTaxHistoryTB1.FindElements(By.TagName("tr")); foreach (IWebElement row1 in CurrentTaxHistoryTR1) { CurrentTaxHistoryTD1 = row1.FindElements(By.TagName("td")); if (CurrentTaxHistoryTD1.Count != 0 && CurrentTaxHistoryTD1.Count != 1 && row1.Text.Trim() != "" && !row1.Text.Contains("There is a fee")) { listurl.Add(CurrentTaxHistoryTD1[0].Text); } } foreach (string bill in listurl) { // https://eproptax.saccounty.net/#secured/DirectLevy/18107260 driver.Navigate().GoToUrl("https://eproptax.saccounty.net/#secured/DirectLevy/" + bill + ""); Thread.Sleep(6000); CreatePdf(orderno, parcelNumber, "Tax Detail" + bill, driver, "CA", "Sacramento"); IWebElement CurrentPayHistoryTB = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody")); //*[@id="billDetailGrid"]/table/tbody IList <IWebElement> CurrentPayHistoryTR = CurrentPayHistoryTB.FindElements(By.TagName("tr")); IList <IWebElement> CurrentPayHistoryTD; string DirectLevyNumber = "", LevyName = "", LevyAmount = "", Bond = ""; foreach (IWebElement row2 in CurrentPayHistoryTR) { CurrentPayHistoryTD = row2.FindElements(By.TagName("td")); if (CurrentPayHistoryTD.Count != 0 && row2.Text.Trim() != "" && !row2.Text.Contains("There is a fee")) { // string TaxRate1 = driver.FindElement(By.XPath("//*[@id='taxRateGlobal']/a/span")).Text; DirectLevyNumber = CurrentPayHistoryTD[0].Text; Bond = CurrentPayHistoryTD[1].Text; LevyName = CurrentPayHistoryTD[2].Text; LevyAmount = CurrentPayHistoryTD[3].Text; string taxlevy = DirectLevyNumber + "~" + Bond + "~" + LevyName + "~" + LevyAmount; gc.insert_date(orderno, parcelNumber, 372, taxlevy, 1, DateTime.Now); } } } } catch { } driver.FindElement(By.XPath("//*[@id='navIcons']/li[3]/a")).Click(); Thread.Sleep(2000); listurl.Clear(); try { gc.CreatePdf(orderno, parcelNumber, "Tax Bill", driver, "CA", "Sacramento"); CurrentTaxHistoryTB1 = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody[1]")); CurrentTaxHistoryTR1 = CurrentTaxHistoryTB1.FindElements(By.TagName("tr")); foreach (IWebElement row1 in CurrentTaxHistoryTR1) { CurrentTaxHistoryTD1 = row1.FindElements(By.TagName("td")); if (CurrentTaxHistoryTD1.Count != 0 && CurrentTaxHistoryTD1.Count != 1 && row1.Text.Trim() != "" && !row1.Text.Contains("There is a fee")) { BillNumber = CurrentTaxHistoryTD1[0].Text; Billtype = CurrentTaxHistoryTD1[1].Text; DirectLevyPortion = CurrentTaxHistoryTD1[2].Text; OriginalbillAmount = CurrentTaxHistoryTD1[3].Text; string Tax = BillNumber + "~" + Billtype + "~" + DirectLevyPortion + "~" + OriginalbillAmount + "~" + CurrentTaxHistoryTD1[4].Text; gc.insert_date(orderno, parcelNumber, 370, Tax, 1, DateTime.Now); } } } catch { } driver.FindElement(By.XPath("//*[@id='navIcons']/li[4]/a")).Click(); Thread.Sleep(5000); gc.CreatePdf(orderno, parcelNumber, "Tax History", driver, "CA", "Sacramento"); try { ByVisibleElement(driver.FindElement(By.XPath("//*[@id='navIcons']/li[6]/a"))); gc.CreatePdf(orderno, parcelNumber, "Tax History1", driver, "CA", "Sacramento"); } catch { } try { ByVisibleElement(driver.FindElement(By.XPath("//*[@id='applicationHost']/div/div/div/div[2]/h3"))); gc.CreatePdf(orderno, parcelNumber, "Tax History2", driver, "CA", "Sacramento"); } catch { } string BillYear = "", TaxBillNumber = "", BillType = "", PayByDate = "", Amount = "", PaidDate = ""; IWebElement PayHistoryTB = driver.FindElement(By.XPath("//*[@id='billDetailGrid']/table/tbody")); IList <IWebElement> PayHistoryTR = PayHistoryTB.FindElements(By.TagName("tr")); IList <IWebElement> PayHistoryTD; foreach (IWebElement row2 in PayHistoryTR) { PayHistoryTD = row2.FindElements(By.TagName("td")); if (PayHistoryTD.Count != 0 && PayHistoryTD.Count == 6) { BillYear = PayHistoryTD[0].Text; TaxBillNumber = PayHistoryTD[1].Text; BillType = PayHistoryTD[2].Text; PayByDate = PayHistoryTD[3].Text; Amount = PayHistoryTD[4].Text; PaidDate = PayHistoryTD[5].Text; string TaxHistory = BillYear + "~" + TaxBillNumber + "~" + BillType + "~" + PayByDate + "~" + Amount + "~" + PaidDate; gc.insert_date(orderno, parcelNumber, 373, TaxHistory, 1, DateTime.Now); } try { if (amc.IsDelinquent != "Yes" || amc.IsDelinquent == "No") { if (FirstDelinquent == PayHistoryTD[3].Text.Trim()) { amc.TaxYear = PayHistoryTD[0].Text; amc.Instamountpaid1 = PayHistoryTD[3].Text.Trim(); } if (SecondDelinquent == PayHistoryTD[3].Text.Trim()) { amc.TaxYear = PayHistoryTD[0].Text; amc.Instamountpaid2 = PayHistoryTD[3].Text.Trim(); } } } catch { } } if (amc.IsDelinquent == "Yes") { gc.InsertAmrockTax(orderno, amc.TaxId, null, null, null, null, null, null, null, null, null, null, null, null, amc.IsDelinquent); } if (amc.IsDelinquent == "No") { gc.InsertAmrockTax(orderno, amc.TaxId, amc.Instamount1, amc.Instamount2, amc.Instamount3, amc.Instamount4, amc.Instamountpaid1, amc.Instamountpaid2, amc.Instamountpaid3, amc.Instamountpaid4, amc.InstPaidDue1, amc.InstPaidDue2, amc.instPaidDue3, amc.instPaidDue4, amc.IsDelinquent); } // gc.CreatePdf(orderno, parcelNumber, "Tax History Detail", driver, "CA", "El Dorado"); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderno, "CA", "Sacramento", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderno, "CA", "Sacramento"); //gc.MMREM_Template(orderno, parcelNumber, "", driver, "CA", "Sacramento", "10", "4"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderno); throw ex; } } }
public string FTP_ArapahoeCO(string streetno, string direction, string streetname, string city, string streettype, string unitnumber, string ownernm, 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 = ""; string Parcel_number = "", Tax_Authority = "", Year = "", Taxresult1 = "", taxresult2 = "", taxresult3 = "", Firsthalf = "", Secondhalf = "", fullhalf = "", prepayresult1 = "", prepayresult2 = "", prepayresult3 = "", paiedamt = "", prepayment = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new ChromeDriver()) //PhantomJSDriver { //rdp try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://parcelsearch.arapahoegov.com"); if (searchType == "titleflex") { string address = streetno + " " + direction + " " + streetname + " " + streettype + " " + unitnumber; gc.TitleFlexSearch(orderNumber, "", ownernm, address.Trim(), "CO", "Arapahoe"); 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_ArapahoeCO"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.Id("txtAddressNumFrom")).SendKeys(streetno); driver.FindElement(By.Id("txtAddressStreet")).SendKeys(streetname); try { driver.FindElement(By.Id("txtAddressUnit")).SendKeys(unitnumber); } catch { } driver.FindElement(By.Id("btnAddressSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { IWebElement addressmultitable = driver.FindElement(By.XPath("//*[@id='dataGrdList']/tbody")); IList <IWebElement> addressmultirow = addressmultitable.FindElements(By.TagName("tr")); IList <IWebElement> Addressid; foreach (IWebElement Addressmulti in addressmultirow) { Addressid = Addressmulti.FindElements(By.TagName("td")); if (Addressid.Count != 0 && !Addressmulti.Text.Contains("Type")) { string AddressmultiresultAie = Addressid[1].Text; string Addressmultiresult = Addressid[2].Text + "~" + Addressid[3].Text; gc.insert_date(orderNumber, AddressmultiresultAie, 883, Addressmultiresult, 1, DateTime.Now); } } if (addressmultirow.Count != 0 && addressmultirow.Count < 26) { HttpContext.Current.Session["multiParcel_Arapahoe"] = "Maximum"; gc.CreatePdf_WOP(orderNumber, "Multiple Parcel", driver, "CO", "Arapahoe"); driver.Quit(); return("MultiParcel"); } if (addressmultirow.Count != 0 && addressmultirow.Count > 25) { HttpContext.Current.Session["multiParcel_Arapahoe_Multicount"] = "Maximum"; gc.CreatePdf_WOP(orderNumber, "MultyAddressSearch", driver, "CO", "Arapahoe"); driver.Quit(); return("Maximum"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.Id("txtPIN")).SendKeys(parcelNumber); driver.FindElement(By.Id("btnParcelSearchPIN")).Click(); Thread.Sleep(2000); } if (searchType == "unitnumber") { driver.FindElement(By.Id("txtAIN")).SendKeys(unitnumber); driver.FindElement(By.Id("btnParcelSearchAIN")).Click(); Thread.Sleep(2000); } try { IWebElement Inodata = driver.FindElement(By.Id("lblNoResults")); if (Inodata.Text.Contains("No matching records were found.") || Inodata.Text.Contains("No matching records were found for")) { HttpContext.Current.Session["Nodata_ArapahoeCO"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } IWebElement propertydetailtable = driver.FindElement(By.XPath("//*[@id='shadedTable']/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td/table[1]/tbody/tr[3]/td/table/tbody")); Parcel_number = driver.FindElement(By.Id("ucParcelHeader_lblPinTxt")).Text; string AIN = driver.FindElement(By.Id("ucParcelHeader_lblAinTxt")).Text; string OwnerName = driver.FindElement(By.Id("ucParcelHeader_lblFullOwnerListTxt")).Text; string Property_Address1 = driver.FindElement(By.Id("ucParcelHeader_lblSitusAddressTxt")).Text; string Property_Address2 = driver.FindElement(By.Id("ucParcelHeader_lblSitusCityTxt")).Text; string Property_Address = Property_Address1 + Property_Address2; string MailingAddress1 = driver.FindElement(By.Id("ucParcelHeader_lblOwnerAddressTxt")).Text; string mailingaddress2 = driver.FindElement(By.Id("ucParcelHeader_lblOwnerCSZTxt")).Text; string mailingaddress = MailingAddress1 + mailingaddress2; string legalDescription = driver.FindElement(By.Id("ucParcelHeader_lblLegalDescTxt")).Text; try { IWebElement yearbuildtable = driver.FindElement(By.XPath("//*[@id='shadedTable']/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td/table[4]/tbody/tr/td/table/tbody")); Year = gc.Between(yearbuildtable.Text, "Year Built", "Roof"); } catch { } string Landuse = driver.FindElement(By.Id("ucParcelHeader_lblLandUseTxt")).Text; string MillLevy = driver.FindElement(By.XPath("//*[@id='ucParcelValue_lnkLevy']")).Text; string propertyresult = AIN + "~" + OwnerName + "~" + Property_Address + "~" + mailingaddress + "~" + legalDescription + "~" + Year + "~" + Landuse + "~" + MillLevy; gc.insert_date(orderNumber, Parcel_number, 852, propertyresult, 1, DateTime.Now); gc.CreatePdf(orderNumber, Parcel_number, "Property Search Result", driver, "CO", "Arapahoe"); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); IWebElement Assessmenttable = driver.FindElement(By.XPath("//*[@id='shadedTable']/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td/table[2]/tbody")); IList <IWebElement> assessmentrow = Assessmenttable.FindElements(By.TagName("tr")); IList <IWebElement> Assessmentid; foreach (IWebElement assessment in assessmentrow) { Assessmentid = assessment.FindElements(By.TagName("td")); if (Assessmentid.Count != 0 && !assessment.Text.Contains("Total") && !assessment.Text.Contains("Mill Levy") && Assessmentid.Count != 1) { string assessmentresult = Assessmentid[0].Text + "~" + Assessmentid[1].Text + "~" + Assessmentid[2].Text + "~" + Assessmentid[3].Text; gc.insert_date(orderNumber, Parcel_number, 854, assessmentresult, 1, DateTime.Now); } if (assessment.Text.Contains("Mill Levy")) { break; } } Amrock amc = new Amrock(); string RemainingAmount1 = "", RemainingAmount2 = "", AssessedTax1 = "", AssessedTax2 = "", SpecialAssess1 = "", SpecialAssess2 = "", PaidAmount1 = "", PaidAmount2 = ""; driver.Navigate().GoToUrl("https://taxsearch.arapahoegov.com/"); driver.FindElement(By.Id("ContentPlaceHolder1_txtPIN")).SendKeys(Parcel_number); gc.CreatePdf(orderNumber, Parcel_number, "Tax search before", driver, "CO", "Arapahoe"); driver.FindElement(By.Id("ContentPlaceHolder1_btnByPIN")).Click(); Thread.Sleep(2000); TaxTime = DateTime.Now.ToString("HH:mm:ss"); string tax_owner = driver.FindElement(By.Id("ContentPlaceHolder1_lblOwner")).Text; string tax_city = driver.FindElement(By.Id("ContentPlaceHolder1_lblCity")).Text; string tax_aie = driver.FindElement(By.Id("ContentPlaceHolder1_lblAIN")).Text; string tax_pin = driver.FindElement(By.Id("ContentPlaceHolder1_lblPIN")).Text; amc.TaxId = tax_pin; IWebElement payyear1 = driver.FindElement(By.Id("ContentPlaceHolder1_lblPayable")); string payyear = gc.Between(payyear1.Text, "for", "Payable").Trim(); amc.TaxYear = payyear; string fullpaymentdue = driver.FindElement(By.Id("ContentPlaceHolder1_lblDueFull")).Text; string firsthalfpayment = driver.FindElement(By.Id("ContentPlaceHolder1_lblDue1st")).Text; string sendhalfpayment = driver.FindElement(By.Id("ContentPlaceHolder1_lblDue2nd")).Text; IWebElement taxauthorityrow = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Table4']/tbody/tr[13]/td/p[3]")); Tax_Authority = gc.Between(taxauthorityrow.Text, "Payments can be mailed to:", "If using").Trim(); IWebElement Tax_instaltable = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Table4']/tbody")); IList <IWebElement> Tax_instalrow = Tax_instaltable.FindElements(By.TagName("tr")); IList <IWebElement> tax_instalid; foreach (IWebElement tax_instal in Tax_instalrow) { tax_instalid = tax_instal.FindElements(By.TagName("td")); if (tax_instalid.Count != 0 && tax_instal.Text.Contains("1st Half Amounts")) { Firsthalf = tax_instalid[1].Text; Secondhalf = tax_instalid[2].Text; fullhalf = tax_instalid[3].Text.Replace("/", " "); } if (tax_instalid.Count != 0 && tax_instal.Text.Contains("Assessed Tax:") || tax_instal.Text.Contains("Special Assessment:") || tax_instal.Text.Contains("Fees:") || tax_instal.Text.Contains("Interest:") || tax_instal.Text.Contains("Payments:") || tax_instal.Text.Contains("Total Due:")) { Taxresult1 += tax_instalid[1].Text.Trim() + "~"; taxresult2 += tax_instalid[2].Text.Trim() + "~"; taxresult3 += tax_instalid[3].Text.Trim() + "~"; } if (tax_instalid.Count != 0 && tax_instal.Text.Contains("Assessed Tax:")) { AssessedTax1 = tax_instalid[1].Text.Replace("$", "").Trim(); AssessedTax2 = tax_instalid[2].Text.Replace("$", "").Trim(); } if (tax_instalid.Count != 0 && tax_instal.Text.Contains("Special Assessment:")) { SpecialAssess1 = tax_instalid[1].Text.Replace("$", "").Trim(); SpecialAssess2 = tax_instalid[2].Text.Replace("$", "").Trim(); } if (tax_instalid.Count != 0 && tax_instal.Text.Contains("Payments:")) { PaidAmount1 = tax_instalid[1].Text.Replace("$", "").Trim(); PaidAmount2 = tax_instalid[2].Text.Replace("$", "").Trim(); } if (tax_instalid.Count != 0 && tax_instal.Text.Contains("Total Due:")) { RemainingAmount1 = tax_instalid[1].Text.Replace("$", "").Trim(); RemainingAmount2 = tax_instalid[2].Text.Replace("$", "").Trim(); } } string taxresult1 = payyear + "~" + tax_owner + "~" + tax_city + "~" + tax_aie + "~" + Firsthalf + "~" + Taxresult1.Remove(Taxresult1.Length - 1) + "~" + firsthalfpayment + "~" + Tax_Authority; string Taxresult2 = payyear + "~" + tax_owner + "~" + tax_city + "~" + tax_aie + "~" + Secondhalf + "~" + taxresult2.Remove(taxresult2.Length - 1) + "~" + sendhalfpayment + "~" + Tax_Authority; string Taxresult3 = payyear + "~" + tax_owner + "~" + tax_city + "~" + tax_aie + "~" + fullhalf + "~" + taxresult3.Remove(taxresult3.Length - 1) + "~" + fullpaymentdue + "~" + Tax_Authority; gc.insert_date(orderNumber, Parcel_number, 856, taxresult1, 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_number, 856, Taxresult2, 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_number, 856, Taxresult3, 1, DateTime.Now); gc.CreatePdf(orderNumber, Parcel_number, "Tax search After", driver, "CO", "Arapahoe"); string strinstAmount1 = Convert.ToString(Convert.ToDouble(AssessedTax1) + Convert.ToDouble(SpecialAssess1)); string strinstAmount2 = Convert.ToString(Convert.ToDouble(AssessedTax2) + Convert.ToDouble(SpecialAssess2)); amc.Instamountpaid1 = "$" + strinstAmount1; amc.Instamountpaid2 = "$" + strinstAmount2; amc.Instamount1 = "$" + PaidAmount1; amc.Instamount2 = "$" + PaidAmount2; if (RemainingAmount1 == "0.00" && PaidAmount1 != "0.00") { amc.InstPaidDue1 = "Paid"; } if (RemainingAmount1 != "0.00" && PaidAmount1 == "0.00") { amc.InstPaidDue1 = "Due"; } if (RemainingAmount2 != "0.00" && PaidAmount2 != "0.00") { amc.InstPaidDue2 = "Paid"; } if (RemainingAmount2 != "0.00" && PaidAmount2 == "0.00") { amc.InstPaidDue2 = "Due"; } amc.Remainingbalance1 = "$" + RemainingAmount1; amc.Remainingbalance2 = "$" + RemainingAmount2; //amg amount string PriorYeardue = driver.FindElement(By.Id("ContentPlaceHolder1_lblPriorYear")).Text; if (PriorYeardue.Trim() == "Y") { amc.IsDelinquent = "Yes"; } if (PriorYeardue.Trim() == "N") { amc.IsDelinquent = "No"; } string Bankruptcy = driver.FindElement(By.Id("ContentPlaceHolder1_lblBankruptcy")).Text; string Treasurer_assessment = driver.FindElement(By.Id("ContentPlaceHolder1_lblTreasAssess")).Text; string TaxLiens = driver.FindElement(By.Id("ContentPlaceHolder1_lblTaxLien")).Text; string Treasurer_deed = driver.FindElement(By.Id("ContentPlaceHolder1_lblTreasDeed")).Text; string amgresult = PriorYeardue + "~" + Bankruptcy + "~" + Treasurer_assessment + "~" + TaxLiens + "~" + Treasurer_deed; gc.insert_date(orderNumber, Parcel_number, 859, amgresult, 1, DateTime.Now); //previous year string current = driver.CurrentWindowHandle; driver.FindElement(By.Id("ContentPlaceHolder1_aPrevYear")).Click(); Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); gc.CreatePdf(orderNumber, Parcel_number, "previous year", driver, "CO", "Arapahoe"); try { IWebElement paymentyearweb = driver.FindElement(By.Id("ContentPlaceHolder1_lblPayable")); prepayment = gc.Between(paymentyearweb.Text, "for", "Payable").Trim(); } catch { } try { IWebElement prepaytable = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Table2']/tbody")); IList <IWebElement> prepayrow = prepaytable.FindElements(By.TagName("tr")); IList <IWebElement> prepayid; foreach (IWebElement prepay in prepayrow) { prepayid = prepay.FindElements(By.TagName("td")); if (prepayid.Count != 0 && prepay.Text.Contains("Original Amount")) { prepayresult1 = prepayid[1].Text; paiedamt = prepayid[2].Text; } if (prepayid.Count != 0 && !prepay.Text.Contains("Original Amount") && !prepayid[1].Text.Contains(" ")) { prepayresult2 += prepayid[1].Text + "~"; prepayresult3 += prepayid[2].Text + "~"; } } string preresultorg = prepayment + "~" + prepayresult1 + "~" + prepayresult2.Remove(prepayresult2.Length - 1); string preresultpaied = prepayment + "~" + paiedamt + "~" + prepayresult3.Remove(prepayresult3.Length - 1); gc.insert_date(orderNumber, Parcel_number, 869, preresultorg, 1, DateTime.Now); gc.insert_date(orderNumber, Parcel_number, 869, preresultpaied, 1, DateTime.Now); } catch { } gc.InsertAmrockTax(orderNumber, amc.TaxId, amc.Instamount1, amc.Instamount2, amc.Instamount3, amc.Instamount4, amc.Instamountpaid1, amc.Instamountpaid2, amc.Instamountpaid3, amc.Instamountpaid4, amc.InstPaidDue1, amc.InstPaidDue2, amc.instPaidDue3, amc.instPaidDue4, amc.IsDelinquent); //driver.Quit(); driver.SwitchTo().Window(current); try { var chromeOptions = new ChromeOptions(); var downloadDirectory = ConfigurationManager.AppSettings["AutoPdf"]; chromeOptions.AddUserProfilePreference("download.default_directory", downloadDirectory); chromeOptions.AddUserProfilePreference("download.prompt_for_download", false); chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true"); chromeOptions.AddUserProfilePreference("plugins.always_open_pdf_externally", true); var driver1 = new ChromeDriver(chromeOptions); string fileName = ""; driver1.Navigate().GoToUrl(driver.Url); IWebElement printable = driver1.FindElement(By.Id("ContentPlaceHolder1_aTaxNotice")); fileName = AIN + ".pdf"; // fileName = "abc"; IJavaScriptExecutor js1 = driver1 as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", printable); Thread.Sleep(4000); driver1.SwitchTo().Window(driver1.WindowHandles.Last()); fileName = AIN + ".pdf"; Thread.Sleep(2000); //2073-10-2-05-012 gc.AutoDownloadFile(orderNumber, Parcel_number, "Arapahoe", "CO", fileName); driver1.Quit(); } catch (Exception ex) { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "CO", "Arapahoe", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "CO", "Arapahoe"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_Duval(string streetno, string streetname, string streettype, string unitnumber, string ownername, string parcelNumber, string searchType, string orderNumber) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; //GlobalClass.global_county = county; string outparcelno = "", siteaddr = "", mail_addr = "", owner1 = "", tax_dist = "", legal_desc = "", year_built = "", subdivision = "", propuse = ""; string valued_year = "", tax_year = "", assess_land = "", ass_improve = "", ass_total = "", tax_value = "", exem = "", pathid = "", Total_taxes = ""; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://paopropertysearch.coj.net/Basic/Search.aspx"); if (searchType == "titleflex") { string titleaddress = streetno + " " + streetname + " " + streettype + " " + unitnumber; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "FL", "Duval"); 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_DuvalFL"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.Id("ctl00_cphBody_tbStreetNumber")).SendKeys(streetno); driver.FindElement(By.Id("ctl00_cphBody_tbStreetName")).SendKeys(streetname); driver.FindElement(By.Id("ctl00_cphBody_tbStreetUnit")).SendKeys(unitnumber); gc.CreatePdf_WOP(orderNumber, "Input Passed Address Search", driver, "FL", "Duval"); driver.FindElement(By.Id("ctl00_cphBody_bSearch")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Address Search Results", driver, "FL", "Duval"); string reccount = driver.FindElement(By.Id("ctl00_cphBody_lblResultsCount")).Text.Trim().Replace(",", ""); reccount = reccount.Replace(" properties found", ""); int count = Int32.Parse(reccount); if (count > 1) { multiparcel(orderNumber); driver.Quit(); return("MultiParcel"); } try { string nodata = driver.FindElement(By.XPath("//*[@id='noResults']/h3")).Text; if (nodata.Contains("No Results Found")) { HttpContext.Current.Session["Nodata_DuvalFL"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); } if (GlobalClass.titleparcel.Contains(".") || GlobalClass.titleparcel.Contains("-")) { parcelNumber = GlobalClass.titleparcel; } //ctl00_cphBody_tbRE6 //ctl00_cphBody_tbRE4 var Parsplit = parcelNumber.Split('-'); int count = parcelNumber.Replace("-", "").Count(); string Pa1 = ""; string Pa2 = ""; if (count == 10) { Pa1 = Parsplit[0]; Pa2 = Parsplit[1]; driver.FindElement(By.Id("ctl00_cphBody_tbRE6")).SendKeys(Pa1); driver.FindElement(By.Id("ctl00_cphBody_tbRE4")).SendKeys(Pa2); gc.CreatePdf_WOP(orderNumber, "Input Passed Parcel Search", driver, "FL", "Duval"); driver.FindElement(By.Id("ctl00_cphBody_bSearch")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Parcel Search Results", driver, "FL", "Duval"); string reccount = driver.FindElement(By.Id("ctl00_cphBody_lblResultsCount")).Text.Trim().Replace(",", ""); reccount = reccount.Replace(" properties found", ""); int count1 = Int32.Parse(reccount); if (count1 > 1) { multiparcel(orderNumber); driver.Quit(); return("MultiParcel"); } try { string nodata = driver.FindElement(By.XPath("//*[@id='noResults']/h3")).Text; if (nodata.Contains("No Results Found")) { HttpContext.Current.Session["Nodata_DuvalFL"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } } if (searchType == "ownername") { driver.FindElement(By.Id("ctl00_cphBody_tbName")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "Input Passed Ownername Search", driver, "FL", "Duval"); driver.FindElement(By.Id("ctl00_cphBody_bSearch")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Ownername Search Results", driver, "FL", "Duval"); string reccount = driver.FindElement(By.Id("ctl00_cphBody_lblResultsCount")).Text.Trim().Replace(",", ""); reccount = reccount.Replace(" properties found", ""); int count = Int32.Parse(reccount); if (count > 1) { multiparcel(orderNumber); driver.Quit(); return("MultiParcel"); } try { string nodata = driver.FindElement(By.XPath("//*[@id='noResults']/h3")).Text; if (nodata.Contains("No Results Found")) { HttpContext.Current.Session["Nodata_DuvalFL"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } Amrock amc = new Amrock(); //property details Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='ctl00_cphBody_gridResults']/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, outparcelno, "Assessment Details", driver, "FL", "Duval"); ownername = driver.FindElement(By.Id("ctl00_cphBody_repeaterOwnerInformation_ctl00_lblOwnerName")).Text.Trim(); try { ownername += ","; ownername += driver.FindElement(By.Id("ctl00_cphBody_repeaterOwnerInformation_ctl01_lblOwnerName")).Text.Trim(); } catch { } siteaddr = driver.FindElement(By.XPath("//*[@id='primaryAddr']/div")).Text.Trim().Replace("\r\n", ","); outparcelno = driver.FindElement(By.Id("ctl00_cphBody_lblRealEstateNumber")).Text.Trim(); amc.TaxId = outparcelno; tax_dist = driver.FindElement(By.Id("ctl00_cphBody_lblTaxDistrict")).Text.Trim(); propuse = driver.FindElement(By.Id("ctl00_cphBody_lblPropertyUse")).Text.Trim(); subdivision = driver.FindElement(By.Id("ctl00_cphBody_lblSubdivision")).Text.Trim(); try { //amc Year Built year_built = driver.FindElement(By.Id("ctl00_cphBody_repeaterBuilding_ctl00_lblYearBuilt")).Text.Trim(); } catch { } gc.CreatePdf(orderNumber, outparcelno, "Assessment Details", driver, "FL", "Duval"); //legaldesc IWebElement legaldes = driver.FindElement(By.Id("ctl00_cphBody_gridLegal")); IList <IWebElement> legaldesRow = legaldes.FindElements(By.TagName("tr")); int rowcount = legaldesRow.Count; IList <IWebElement> legaldesRowTD; int a = 0; foreach (IWebElement rowid in legaldesRow) { legaldesRowTD = rowid.FindElements(By.TagName("td")); if (legaldesRowTD.Count != 0 && !rowid.Text.Contains("LN")) { if (a == 0) { legal_desc = legaldesRowTD[1].Text; } else { legal_desc += ","; legal_desc += legaldesRowTD[1].Text; } a++; } } string property = siteaddr + "~" + ownername + "~" + tax_dist + "~" + propuse + "~" + legal_desc + "~" + subdivision + "~" + year_built; gc.insert_date(orderNumber, outparcelno, 331, property, 1, DateTime.Now); //valuation Information IWebElement valuetableElement = driver.FindElement(By.XPath("//*[@id='propValue']/table")); IList <IWebElement> valuetableRow = valuetableElement.FindElements(By.TagName("tr")); IList <IWebElement> valuerowTD; IList <IWebElement> valuerowTH; List <string> history = new List <string>(); List <string> ValueMethod = new List <string>(); List <string> TotalBuildingValue = new List <string>(); List <string> ExtraFeatureValue = new List <string>(); List <string> LandValue_Market = new List <string>(); List <string> LandValue_Agric = new List <string>(); List <string> Just_MarketValue = new List <string>(); List <string> AssessedValue = new List <string>(); List <string> Cap_DiffPortability_Amt = new List <string>(); List <string> Exemptions = new List <string>(); List <string> TaxableValue = new List <string>(); int i = 0; foreach (IWebElement row in valuetableRow) { valuerowTH = row.FindElements(By.TagName("th")); valuerowTD = row.FindElements(By.TagName("td")); if (i == 0) { if (valuerowTH.Count != 0) { history.Add(valuerowTH[1].Text.Trim().Replace("\r\n", " ")); history.Add(valuerowTH[2].Text.Trim().Replace("\r\n", " ")); } } if (valuerowTD.Count != 0) { if (i == 1) { ValueMethod.Add(valuerowTD[0].Text); ValueMethod.Add(valuerowTD[1].Text); } else if (i == 2) { TotalBuildingValue.Add(valuerowTD[0].Text); TotalBuildingValue.Add(valuerowTD[1].Text); } else if (i == 3) { ExtraFeatureValue.Add(valuerowTD[0].Text); ExtraFeatureValue.Add(valuerowTD[1].Text); } else if (i == 4) { LandValue_Market.Add(valuerowTD[0].Text); LandValue_Market.Add(valuerowTD[1].Text); } else if (i == 5) { LandValue_Agric.Add(valuerowTD[0].Text); LandValue_Agric.Add(valuerowTD[1].Text); } else if (i == 6) { Just_MarketValue.Add(valuerowTD[0].Text); Just_MarketValue.Add(valuerowTD[1].Text); } else if (i == 7) { AssessedValue.Add(valuerowTD[0].Text); //amc.TotalAssessedValue = valuerowTD[0].Text; AssessedValue.Add(valuerowTD[1].Text); } else if (i == 8) { Cap_DiffPortability_Amt.Add(valuerowTD[0].Text.Trim().Replace("\r\n", ",")); Cap_DiffPortability_Amt.Add(valuerowTD[1].Text.Trim().Replace("\r\n", ",")); } else if (i == 9) { Exemptions.Add(valuerowTD[0].Text); Exemptions.Add(valuerowTD[1].Text); } else if (i == 10) { TaxableValue.Add(valuerowTD[0].Text); TaxableValue.Add(valuerowTD[1].Text); } } i++; } string value1 = history[0] + "~" + ValueMethod[0] + "~" + TotalBuildingValue[0] + "~" + ExtraFeatureValue[0] + "~" + LandValue_Market[0] + "~" + LandValue_Agric[0] + "~" + Just_MarketValue[0] + "~" + AssessedValue[0] + "~" + Cap_DiffPortability_Amt[0] + "~" + Exemptions[0] + "~" + TaxableValue[0]; gc.insert_date(orderNumber, outparcelno, 332, value1, 1, DateTime.Now); string value2 = history[1] + "~" + ValueMethod[1] + "~" + TotalBuildingValue[1] + "~" + ExtraFeatureValue[1] + "~" + LandValue_Market[1] + "~" + LandValue_Agric[1] + "~" + Just_MarketValue[1] + "~" + AssessedValue[1] + "~" + Cap_DiffPortability_Amt[1] + "~" + Exemptions[1] + "~" + TaxableValue[1]; gc.insert_date(orderNumber, outparcelno, 332, value2, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Details string tax_type = "", tlegal_desc = "", curr_tax_status = "", curr_delinq_status = "", unpaid_tax = "", strTaxYear = "", strTaxFolio = "", strTaxCertificateYear = "", strTaxCertificateNo = "", strTaxCertifcateName = "", strTaxTDANo = "", strTaxTCertificateYear = "", strTaxTCertificateNo = "", strTaxTCertifcateName = "", strTaxTTDANo = "", strTaxAmountDue = "", strTaxTotalDue = "", strUnpaidType = ""; driver.Navigate().GoToUrl("http://fl-duval-taxcollector.publicaccessnow.com/PropertyTaxSearch.aspx"); driver.FindElement(By.Id("fldSearchFor")).SendKeys(outparcelno); gc.CreatePdf(orderNumber, outparcelno, "Input Passed TaxSearch", driver, "FL", "Duval"); driver.FindElement(By.Name("btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, outparcelno, "TaxSearch Result", driver, "FL", "Duval"); //*[@id="MVPQuickSearch"]/div[2]/div[1]/div[1]/ul[2]/li[1]/a driver.FindElement(By.XPath("//*[@id='MVPQuickSearch']/div[2]/div[1]/div[1]/ul[2]/li[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, outparcelno, "Tax History Details", driver, "FL", "Duval"); //current year tax tax_type = driver.FindElement(By.XPath("//*[@id='lxT449']/table/tbody/tr[2]/td[2]")).Text.Trim(); mail_addr = driver.FindElement(By.XPath("//*[@id='lxT449']/table/tbody/tr[3]/td/table/tbody/tr[1]/td[1]")).Text.Trim().Replace("\r\n", ",").Replace("Mailing Address:", ""); tlegal_desc = driver.FindElement(By.XPath("//*[@id='lxT449']/table/tbody/tr[5]/td")).Text.Trim(); curr_tax_status = driver.FindElement(By.Id("dnn_ctr444_ModuleContent")).Text.Trim(); try { IWebElement IdeliquentPay = driver.FindElement(By.Id("dnn_ctr445_ModuleContent")); if (IdeliquentPay.Text.Contains("No delinquent payment due for this account.")) { curr_delinq_status = IdeliquentPay.Text.Trim(); } } catch { } try { IWebElement IUnpaid = driver.FindElement(By.XPath("//*[@id='lxT531']")); if (IUnpaid.Text.Contains("No Records Found")) { unpaid_tax = IUnpaid.Text.Trim(); } } catch { } string currtax = tax_type + "~" + siteaddr + "~" + mail_addr + "~" + tlegal_desc + "~" + curr_tax_status + "~" + curr_delinq_status + "~" + unpaid_tax; gc.insert_date(orderNumber, outparcelno, 334, currtax, 1, DateTime.Now); //bill history List <string> listurl = new List <string>(); IWebElement billhistory = driver.FindElement(By.XPath("//*[@id='443']/table")); IList <IWebElement> billhistoryRow = billhistory.FindElements(By.TagName("tr")); int billrowcount = billhistoryRow.Count; IList <IWebElement> billhistoryRowTD; IList <IWebElement> billhistoryRowTA; int b = 0; foreach (IWebElement rowid in billhistoryRow) { billhistoryRowTD = rowid.FindElements(By.TagName("td")); billhistoryRowTA = rowid.FindElements(By.TagName("a")); if (billhistoryRowTD.Count != 0 && !rowid.Text.Contains("Tax Year")) { if (b <= 3) { try { listurl.Add(billhistoryRowTA[0].GetAttribute("href")); } catch { } } if (b < billrowcount - 1) { //Tax Year~Date Paid~Folio~Paid By~Ownername~Amount Due~Amount Paid string billhis = billhistoryRowTD[0].Text + "~" + "" + "~" + billhistoryRowTD[1].Text + "~" + "" + "~" + billhistoryRowTD[2].Text + "~" + billhistoryRowTD[3].Text + "~" + ""; gc.insert_date(orderNumber, outparcelno, 335, billhis, 1, DateTime.Now); } if (b == billrowcount - 1) { string billhis = "Total" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + billhistoryRowTD[0].Text + "~" + ""; gc.insert_date(orderNumber, outparcelno, 335, billhis, 1, DateTime.Now); } } b++; } try { IWebElement IUnpaidtable = driver.FindElement(By.XPath("//*[@id='531']/table[1]/tbody[1]")); IList <IWebElement> IUnpaidRow = IUnpaidtable.FindElements(By.XPath("tr")); IList <IWebElement> IUnpaidTd; foreach (IWebElement unpaid in IUnpaidRow) { IUnpaidTd = unpaid.FindElements(By.XPath("td")); if (IUnpaidTd.Count != 0) { strTaxYear = IUnpaidTd[0].Text; amc.TaxYear = IUnpaidTd[0].Text; strTaxFolio = IUnpaidTd[1].Text; strTaxCertificateYear = IUnpaidTd[2].Text; strTaxCertificateNo = IUnpaidTd[3].Text; strTaxCertifcateName = IUnpaidTd[4].Text; strTaxTDANo = IUnpaidTd[5].Text; string UnpaidDetails = strTaxYear + "~" + strTaxFolio + "~" + strTaxCertificateYear + "~" + strTaxCertificateNo + "~" + strTaxCertifcateName + "~" + strTaxTDANo + "~" + "-"; gc.insert_date(orderNumber, outparcelno, 535, UnpaidDetails, 1, DateTime.Now); } } } catch { } foreach (string URL in listurl) { driver.Navigate().GoToUrl(URL); Thread.Sleep(3000); tax_year = driver.FindElement(By.XPath("//*[@id='lxT451']/table/tbody/tr[2]/td[3]")).Text.Trim(); gc.CreatePdf(orderNumber, outparcelno, "Tax History Details" + tax_year, driver, "FL", "Duval"); try { exem = driver.FindElement(By.XPath("//*[@id='lxT451']/table/tbody/tr[3]/td/table/tbody/tr[2]/td[1]")).Text.Trim().Replace("Exemptions", "").Replace("\r\n", " "); } catch { } //add valorem Tax IWebElement valoremtable = driver.FindElement(By.XPath("//*[@id='lxT500']/table/tbody")); IList <IWebElement> valoremtableRow = valoremtable.FindElements(By.TagName("tr")); int valoremtablerowcount = valoremtableRow.Count; IList <IWebElement> valoremtablerowTD; int d = 0; foreach (IWebElement rowid in valoremtableRow) { valoremtablerowTD = rowid.FindElements(By.TagName("td")); if (valoremtablerowTD.Count != 0) { string valoremtax = ""; if (d < valoremtablerowcount - 1) { //Tax Year~Exemptions~Tax_Type~Taxing Code~Taxing Authority~Assessed Value~Exemption Amount~Taxable Value~Millage Rate~Taxes valoremtax = tax_year + "~" + exem + "~" + "Ad Valorem Taxes" + "~" + valoremtablerowTD[0].Text + "~" + valoremtablerowTD[1].Text + "~" + valoremtablerowTD[2].Text + "~" + valoremtablerowTD[3].Text + "~" + valoremtablerowTD[4].Text + "~" + valoremtablerowTD[5].Text + "~" + valoremtablerowTD[6].Text; gc.insert_date(orderNumber, outparcelno, 333, valoremtax, 1, DateTime.Now); } else if (d < valoremtablerowcount) { valoremtax = tax_year + "~" + exem + "~" + "Ad Valorem Taxes" + "~" + "" + "~" + "Total" + "~" + "" + "~" + "" + "~" + "" + "~" + valoremtablerowTD[3].Text + "~" + valoremtablerowTD[4].Text; gc.insert_date(orderNumber, outparcelno, 333, valoremtax, 1, DateTime.Now); } } d++; } //Non Ad-Valorems try { IWebElement nonvaloremtable = driver.FindElement(By.XPath("//*[@id='lxT501']/table")); IList <IWebElement> nonvaloremtableRow = nonvaloremtable.FindElements(By.TagName("tr")); int nonvaloremtablerowcount = nonvaloremtableRow.Count; IList <IWebElement> nonvaloremtablerowTD; int e = 0; foreach (IWebElement rowid in nonvaloremtableRow) { nonvaloremtablerowTD = rowid.FindElements(By.TagName("td")); if (nonvaloremtablerowTD.Count != 0) { string valoremtax = ""; if (e < nonvaloremtablerowcount - 1) { //Tax Year~Exemptions~Tax_Type~Taxing Code~Taxing Authority~Assessed Value~Exemption Amount~Taxable Value~Millage Rate~Taxes valoremtax = tax_year + "~" + exem + "~" + "Non Ad Valorem Taxes" + "~" + nonvaloremtablerowTD[0].Text + "~" + nonvaloremtablerowTD[1].Text + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + nonvaloremtablerowTD[2].Text; gc.insert_date(orderNumber, outparcelno, 333, valoremtax, 1, DateTime.Now); } else if (e < nonvaloremtablerowcount) { valoremtax = tax_year + "~" + exem + "~" + "Non Ad Valorem Taxes" + "~" + "Total" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + nonvaloremtablerowTD[0].Text; gc.insert_date(orderNumber, outparcelno, 333, valoremtax, 1, DateTime.Now); } } e++; } } catch { } //If Paid By try { IWebElement taxdettable = driver.FindElement(By.XPath("//*[@id='539']/table/tbody")); IList <IWebElement> taxdettableRow = taxdettable.FindElements(By.TagName("tr")); int taxdettablecount = taxdettableRow.Count; IList <IWebElement> taxdettablerowTD; int f = 0; foreach (IWebElement rowid in taxdettableRow) { taxdettablerowTD = rowid.FindElements(By.TagName("td")); if (taxdettablerowTD.Count != 0) { string taxdue = ""; if (f < rowcount - 1) { //Folio~Taxes~Fees~Interest~Discount~Paid~Due Date~Amount Due taxdue = tax_year + "~" + "" + "~" + taxdettablerowTD[0].Text + "~" + taxdettablerowTD[1].Text + "~" + taxdettablerowTD[2].Text + "~" + taxdettablerowTD[3].Text + "~" + "" + "~" + taxdettablerowTD[4].Text + "~" + taxdettablerowTD[5].Text; gc.insert_date(orderNumber, outparcelno, 341, taxdue, 1, DateTime.Now); } } f++; } } catch { } try { IWebElement priortaxdettable = driver.FindElement(By.XPath("//*[@id='lxT453']/table")); IList <IWebElement> priortaxdettableRow = priortaxdettable.FindElements(By.TagName("tr")); int priortaxdettablecount = priortaxdettableRow.Count; IList <IWebElement> priortaxdettablerowTD; int f = 0; foreach (IWebElement rowid in priortaxdettableRow) { priortaxdettablerowTD = rowid.FindElements(By.TagName("td")); if (priortaxdettablerowTD.Count != 0) { string taxdue = ""; if (f < rowcount - 1) { taxdue = tax_year + "~" + priortaxdettablerowTD[1].Text + "~" + priortaxdettablerowTD[2].Text + "~" + priortaxdettablerowTD[3].Text + "~" + priortaxdettablerowTD[4].Text + "~" + priortaxdettablerowTD[5].Text + "~" + priortaxdettablerowTD[6].Text + "~" + priortaxdettablerowTD[7].Text + "~" + priortaxdettablerowTD[8].Text; gc.insert_date(orderNumber, outparcelno, 341, taxdue, 1, DateTime.Now); amc.Instamount1 = priortaxdettablerowTD[2].Text; amc.Instamountpaid1 = priortaxdettablerowTD[6].Text; if (!priortaxdettablerowTD[6].Text.Contains("$0.00")) { amc.InstPaidDue1 = "Paid"; } if (priortaxdettablerowTD[6].Text.Contains("$0.00")) { amc.InstPaidDue1 = "Due"; } } } f++; } } catch { } //payment history try { try { histaxdettable = driver.FindElement(By.XPath("//*[@id='lxT454']/table/tbody")); } catch { } try { if (histaxdettable == null) { histaxdettable = driver.FindElement(By.XPath("//*[@id='539']/table[2]/tbody")); } } catch { } IList <IWebElement> histaxdettableRow = histaxdettable.FindElements(By.TagName("tr")); int histaxdettablecount = histaxdettableRow.Count; IList <IWebElement> histaxdettablerowTD; int f = 0; foreach (IWebElement rowid in histaxdettableRow) { histaxdettablerowTD = rowid.FindElements(By.TagName("td")); if (histaxdettablerowTD.Count != 0) { string taxhis = ""; if (f < rowcount - 1) { //Tax Year~Date Paid~Folio~Paid By~Ownername~Amount Due~Amount Paid taxhis = histaxdettablerowTD[1].Text + "~" + histaxdettablerowTD[0].Text + "~" + histaxdettablerowTD[2].Text + "~" + histaxdettablerowTD[3].Text + "~" + "" + "~" + "" + "~" + histaxdettablerowTD[4].Text; gc.insert_date(orderNumber, outparcelno, 335, taxhis, 1, DateTime.Now); } } f++; } } catch { } //UnPaid if Avilable try { strUnpaidType = driver.FindElement(By.Id("dnn_ctr504_dnnTITLE_lblTitle")).Text; } catch { } try { IWebElement Iunpaid = driver.FindElement(By.XPath("//*[@id='504']/table/tbody")); IList <IWebElement> IunpaidRow = Iunpaid.FindElements(By.XPath("tr")); IList <IWebElement> IunpaidTd; foreach (IWebElement unpaid in IunpaidRow) { IunpaidTd = unpaid.FindElements(By.XPath("td")); if (IunpaidTd.Count != 0) { strTaxTCertificateYear = IunpaidTd[0].Text; strTaxTCertificateNo = IunpaidTd[1].Text; strTaxTCertifcateName = IunpaidTd[2].Text; strTaxTTDANo = IunpaidTd[3].Text; strTaxAmountDue = IunpaidTd[4].Text; string UnpaidTotalDetails = "-" + "~" + "-" + "~" + strTaxTCertificateYear + "~" + strTaxTCertificateNo + "~" + strTaxTCertifcateName + "~" + strTaxTTDANo + "~" + strTaxAmountDue; gc.insert_date(orderNumber, outparcelno, 535, UnpaidTotalDetails, 1, DateTime.Now); } } } catch { } try { IWebElement IunTotalpaid = driver.FindElement(By.XPath("//*[@id='504']/table/tfoot")); IList <IWebElement> IunpaidTotalRow = IunTotalpaid.FindElements(By.XPath("tr")); IList <IWebElement> IunpaidTotalTd; foreach (IWebElement unpaid in IunpaidTotalRow) { IunpaidTotalTd = unpaid.FindElements(By.XPath("td")); if (IunpaidTotalTd.Count != 0) { strTaxTotalDue = IunpaidTotalTd[0].Text; string UnpaidTotalDetails = "-" + "~" + "Total" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + strTaxTotalDue; gc.insert_date(orderNumber, outparcelno, 535, UnpaidTotalDetails, 1, DateTime.Now); } } } catch { } } gc.InsertAmrockTax(orderNumber, amc.TaxId, amc.Instamount1, amc.Instamount2, amc.Instamount3, amc.Instamount4, amc.Instamountpaid1, amc.Instamountpaid2, amc.Instamountpaid3, amc.Instamountpaid4, amc.InstPaidDue1, amc.InstPaidDue2, amc.instPaidDue3, amc.instPaidDue4, amc.IsDelinquent); TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Quit(); gc.mergpdf(orderNumber, "FL", "Duval"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "FL", "Duval", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_Harrison(string houseno, string sname, string sttype, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel, string account) { string NAME = "", PROPERTY = "", ADDRESS = "", PARCEL = ""; string Parcel_No = "-", Owner_Name = "-", Property_Address = "-", Legal_Description = "-", Exempt_Code = "-", Homestead_Code = "-", PPIN = "-", Section = "-", Township = "-", Range = "-"; string Tax_Year = "-", Assessed_Land_Value = "-", Assessed_Improvement_Value = "-", Total_Value = "-", Assessed = "-"; List <string> Li = new List <string>(); IWebElement link; string mp = ""; GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; Amrock amck = new Amrock(); string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string addr = sname + " " + sttype; string address = houseno + addr; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (HttpContext.Current.Session["MobileTax_harrison"] == null) { if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "MS", "Harrison"); 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_HarrisonMS"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://www.deltacomputersystems.com/MS/MS24DELTA/plinkquerym.html"); driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/table/tbody/tr[2]/td[2]/input[1]")).SendKeys(houseno); driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/table/tbody/tr[2]/td[2]/input[2]")).SendKeys(addr); gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "MS", "Harrison"); driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/input[1]")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Address Search Result", driver, "MS", "Harrison"); Thread.Sleep(3000); IWebElement tb = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody")); IList <IWebElement> TR = tb.FindElements(By.TagName("tr")); string Address = houseno + " " + addr; int a = 1; bool value = false; foreach (IWebElement row1 in TR) { if ((row1.Text.Contains(Address.ToUpper().Trim())) && (!row1.Text.Contains("PROPERTY"))) { mp = "/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[1]/a"; value = true; //multiparcel NAME = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[3]/font")).Text; ADDRESS = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[1]/a/font")).Text; PARCEL = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[2]/font")).Text; Li.Add(NAME); string multi = NAME + "~" + ADDRESS; gc.insert_date(orderNumber, PARCEL, 87, multi, 1, DateTime.Now); //break; } a++; } //Multi parcel if (Li.Count > 1) { HttpContext.Current.Session["multiparcel_harrison"] = "Yes"; gc.CreatePdf_WOP(orderNumber, "Address MultiParcel", driver, "MS", "Harrison"); driver.Quit(); return("MultiParcel"); } else if (mp != "") { link = driver.FindElement(By.XPath(mp)); link.SendKeys(Keys.Enter); } if (!value) { int b = 1; driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/a[1]")).SendKeys(Keys.Enter); IWebElement tb1 = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody")); IList <IWebElement> TR1 = tb1.FindElements(By.TagName("tr")); foreach (IWebElement row2 in TR1) { if ((row2.Text.Contains(Address.ToUpper().Trim())) && (!row2.Text.Contains("PROPERTY"))) { driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + b + "]/td[1]/a")).SendKeys(Keys.Enter); break; } b++; } } } else if (searchType == "parcel") { driver.Navigate().GoToUrl("http://www.deltacomputersystems.com/MS/MS24DELTA/plinkquerym.html"); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "MS", "Harrison"); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", "").Trim(); } if (parcelNumber.Contains(".")) { parcelNumber = parcelNumber.Replace(".", "").Trim(); } string first = parcelNumber.Substring(0, 5); string second = parcelNumber.Substring(5, 2); string third = parcelNumber.Substring(7, 3); string fourth = parcelNumber.Substring(10, 3); parcelNumber = first + "-" + second + "-" + third + "." + fourth; driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/table/tbody/tr[3]/td[2]/input")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "MS", "Harrison"); Thread.Sleep(3000); driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(3000); IWebElement tb = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody")); IList <IWebElement> TR = tb.FindElements(By.TagName("tr")); int a = 1; foreach (IWebElement row1 in TR) { if ((row1.Text.Contains(parcelNumber.Trim())) && (!row1.Text.Contains("PROPERTY"))) { driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[1]/a")).SendKeys(Keys.Enter); break; } a++; } } else if (searchType == "ownername") { HttpContext.Current.Session["multiparcel_harrison"] = "Yes"; driver.Navigate().GoToUrl("http://www.deltacomputersystems.com/MS/MS24DELTA/plinkquerym.html"); gc.CreatePdf_WOP(orderNumber, "Owner Search", driver, "MS", "Harrison"); string[] on = ownername.Split(' '); string first = on[0]; string second = on[1]; ownername = first + " " + second; driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/table/tbody/tr[1]/td[2]/input[4]")).SendKeys(ownername); Thread.Sleep(3000); driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/input[1]")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Owner Search result", driver, "MS", "Harrison"); Thread.Sleep(3000); IWebElement tb = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody")); IList <IWebElement> TR = tb.FindElements(By.TagName("tr")); int a = 1; foreach (IWebElement row1 in TR) { if ((row1.Text.Contains(ownername.ToUpper().Trim())) && (!row1.Text.Contains("PROPERTY"))) { NAME = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[1]/a/font")).Text; PROPERTY = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[2]/font")).Text; ADDRESS = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[3]/font")).Text; PARCEL = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + a + "]/td[4]/font")).Text; ADDRESS = PROPERTY + ADDRESS; string multi = NAME + "~" + ADDRESS; gc.insert_date(orderNumber, PARCEL, 87, multi, 1, DateTime.Now); } a++; } driver.Quit(); return("MultiParcel"); } Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Property and Tax details result", driver, "MS", "Harrison"); //Property Details Parcel_No = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[6]/td[2]/font")).Text.Trim(); amck.TaxId = Parcel_No; Owner_Name = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[1]/td[2]/font")).Text.Trim(); Property_Address = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[7]/td[2]/font")).Text.Trim(); Legal_Description = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[1]/td[4]/font")).Text.Trim(); string ab = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[2]/td[4]/font")).Text.Trim(); string ac = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[3]/td[4]/font")).Text.Trim(); string ad = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[4]/td[4]/font")).Text.Trim(); Legal_Description = Legal_Description + ab + ac + ad.Trim(); Exempt_Code = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[2]/td[2]/font")).Text.Trim(); Homestead_Code = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[3]/td[2]/font")).Text.Trim(); PPIN = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[4]/td[2]/font")).Text.Trim(); Section = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[5]/td[2]/font")).Text.Trim(); Township = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[6]/td[2]/font")).Text.Trim(); Range = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table/tbody/tr[7]/td[2]/font")).Text.Trim(); string prop = Owner_Name + "~" + Property_Address + "~" + Legal_Description + "~" + Exempt_Code + "~" + Homestead_Code + "~" + PPIN + "~" + Section + "~" + Township + "~" + Range; gc.insert_date(orderNumber, Parcel_No, 88, prop, 1, DateTime.Now); //Assessment details Tax_Year = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[1]/tbody/tr[3]/td[2]/font[1]/b")).Text; Tax_Year = WebDriverTest.After(Tax_Year, "Year "); amck.TaxYear = Tax_Year; Assessed_Land_Value = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[2]/td[4]/font")).Text; Assessed_Improvement_Value = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[3]/td[4]/font")).Text; Total_Value = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[4]/td[4]/font")).Text; Assessed = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[2]/td/table/tbody/tr[5]/td[4]/font")).Text; string assessment = Tax_Year + "~" + Assessed_Land_Value + "~" + Assessed_Improvement_Value + "~" + Total_Value + "~" + Assessed; gc.insert_date(orderNumber, Parcel_No, 89, assessment, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax details string YEAR_2017 = "-", TAX_DUE = "-", PAID = "-", BALANCE = "-", Mail_Payments_To = "-", LAST_PAYMENT_DATE = "-"; try { Mail_Payments_To = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[4]/td/table/tbody/tr[6]/td[4]/font/b/p")).Text; } catch { } try { LAST_PAYMENT_DATE = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[4]/td/table/tbody/tr[7]/td[2]/font")).Text; } catch { } try { if (Mail_Payments_To.Trim() == "") { Mail_Payments_To = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[4]/td/table/tbody/tr[7]/td[4]/font/b/p")).Text; } } catch { } try { if (LAST_PAYMENT_DATE.Trim() == "") { LAST_PAYMENT_DATE = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[4]/td/table/tbody/tr[8]/td[2]/font")).Text; } } catch { } if (Mail_Payments_To.Contains("\r\n")) { Mail_Payments_To = Mail_Payments_To.Replace("\r\n", ""); } IWebElement TBTax = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[4]/td/table/tbody")); IList <IWebElement> TRTax = TBTax.FindElements(By.TagName("tr")); IList <IWebElement> TDTax; // int count = TRTax.Count - 2; int i = 0; foreach (IWebElement row1 in TRTax) { if (!row1.Text.Contains("YEAR") && !row1.Text.Contains("Mail") && !row1.Text.Contains("LAST PAYMENT DATE") && !row1.Text.Contains("DELINQUENT PRIOR")) { TDTax = row1.FindElements(By.TagName("td")); YEAR_2017 = TDTax[0].Text; TAX_DUE = TDTax[1].Text; PAID = TDTax[2].Text.Trim(); BALANCE = TDTax[3].Text; if (YEAR_2017 == "PENALTY & OTHER") { i++; amck.IsDelinquent = "Yes"; } if (YEAR_2017 == "TOTAL") { if (PAID == "0.00") { amck.Instamount1 = TAX_DUE; amck.InstPaidDue1 = "Due"; } else { amck.Instamount1 = TAX_DUE; amck.Instamountpaid1 = PAID; amck.InstPaidDue1 = "Paid"; } if (BALANCE.Contains("Penalty") && i == 0) { amck.IsDelinquent = "Yes"; } else { if (i == 0) { amck.IsDelinquent = "No"; } } } string tax = Owner_Name + "~" + Tax_Year + "~" + YEAR_2017 + "~" + TAX_DUE + "~" + PAID + "~" + BALANCE + "~" + Mail_Payments_To + "~" + LAST_PAYMENT_DATE; gc.insert_date(orderNumber, Parcel_No, 90, tax, 1, DateTime.Now); } // i++; } if (amck.IsDelinquent != "Yes") { 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 { gc.InsertAmrockTax(orderNumber, amck.TaxId, null, null, null, null, null, null, null, null, null, null, null, null, amck.IsDelinquent); } //tax history details string Year = "-", Owner = "-", Total_Tax = "=", PaidYN = "-", Last_Payment_Date = "-"; IWebElement TBTax_History = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[6]/td/table")); IList <IWebElement> TRTax_History = TBTax_History.FindElements(By.TagName("tr")); IList <IWebElement> TDTax_History; foreach (IWebElement row1 in TRTax_History) { if (row1.Text.Contains("LAST PAYMENT DATE")) { TDTax_History = row1.FindElements(By.TagName("td")); Year = TDTax_History[0].Text; Owner = TDTax_History[1].Text; Total_Tax = TDTax_History[2].Text; PaidYN = TDTax_History[3].Text; Last_Payment_Date = WebDriverTest.After(PaidYN, "DATE "); PaidYN = WebDriverTest.Before(PaidYN, "LAST"); if (PaidYN.Contains("\r\n")) { PaidYN = PaidYN.Replace("\r\n", "").Trim(); } string tax_history = Year + "~" + Owner + "~" + Total_Tax + "~" + PaidYN + "~" + Last_Payment_Date; gc.insert_date(orderNumber, Parcel_No, 91, tax_history, 1, DateTime.Now); } } } //Mobile tax string ACCOUNT = "", Mobile_tax_Onwer_NAME = "", MAKE = "", strTaxesFees = ""; string Account = "-", Receipt = "-", Due_Date = "-", Landroll_PPIN = "-", Court_Code = "-", Court_Lot = "-", Trailer_Make = "-", Number_of_Stories = "-", Number_of_Owners = "-", Width = "-", Length = "-", Model_Year = "-", Color = "-", MobileTax_Owner_Name = "-", MobileTax_Address = "-"; string Millage_Tax_Year = "-", Value_Table_Year = "-", Tax_District1 = "-", Tax_District2 = "-", Tax_District3 = "-", Judicial_District = "-", Full_Value = "-", MobileTax_Total_Value = "-", Prorated_Value = "-", County_Tax_Rate = "-", County_Tax_Due = "-", City_Tax_Rate = "-", City_Tax_Due = "-", School_Tax_Due = "-", School_Tax_Rate = "-", Total_Due = "-", TAXES_PAID = "-", Estimated_Balance_Due = "-"; driver.Navigate().GoToUrl("http://www.deltacomputersystems.com/MS/MS24DELTA/mhinquirym2.html"); gc.CreatePdf_WOP(orderNumber, "Mobile Tax", driver, "MS", "Harrison"); if (Parcel_No == "-") { driver.FindElement(By.XPath("//*[@id='HTMPARCEL']")).SendKeys(parcelNumber); } else { driver.FindElement(By.XPath("//*[@id='HTMPARCEL']")).SendKeys(Parcel_No); } driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/form/div/table/tbody/tr[9]/td[2]/input[1]")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Mobile Homes Result", driver, "MS", "Harrison"); IWebElement TB_mobiletax = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody")); IList <IWebElement> TRmobiletax = TB_mobiletax.FindElements(By.TagName("tr")); IList <IWebElement> TDmobiletax; if (account == "") { foreach (IWebElement row2 in TRmobiletax) { if (!row2.Text.Contains("ACCOUNT") && row2.Text.Contains(Parcel_No)) { TDmobiletax = row2.FindElements(By.TagName("td")); ACCOUNT = TDmobiletax[0].Text; Mobile_tax_Onwer_NAME = TDmobiletax[1].Text; MAKE = TDmobiletax[2].Text; HttpContext.Current.Session["MobileTax_harrison"] = "Yes"; string mb = ACCOUNT + "~" + Mobile_tax_Onwer_NAME + "~" + MAKE; gc.insert_date(orderNumber, Parcel_No, 92, mb, 1, DateTime.Now); try { string deli = TDmobiletax[7].Text; if (deli.Contains("Delinquent")) { HttpContext.Current.Session["deliquent_harrison"] = "Yes"; } } catch { } } } } else { int d = 1; string mobile_Prop = ""; string mobile_tax = ""; foreach (IWebElement row2 in TRmobiletax) { if (row2.Text.Contains(account)) { IWebElement element = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody/tr[" + d + "]/td[1]/a/font")); IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", element); gc.CreatePdf_WOP(orderNumber, "Mobile Homes Tax and property Result", driver, "MS", "Harrison"); Thread.Sleep(3000); //Mobile tax property details IWebElement TB_mobile = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/table[3]/tbody")); IList <IWebElement> TRmobile = TB_mobile.FindElements(By.TagName("tr")); IList <IWebElement> TDmobile; foreach (IWebElement row3 in TRmobile) { TDmobile = row3.FindElements(By.TagName("td")); if (row3.Text.Contains("Account")) { Account = TDmobile[2].Text.ToString(); Account = WebDriverTest.Before(Account, " Year"); } if (row3.Text.Contains("Receipt")) { Receipt = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Due Date")) { Due_Date = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Landroll PPIN")) { Landroll_PPIN = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Court Code")) { Court_Code = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Court Lot")) { Court_Lot = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Trailer Make")) { Trailer_Make = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Number of Stories")) { Number_of_Stories = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Number of Owners")) { Number_of_Owners = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Width")) { Width = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Length")) { Length = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Model Year")) { Model_Year = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Color")) { Color = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Name")) { MobileTax_Owner_Name = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Address 1")) { MobileTax_Address = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Zip")) { string city1 = TDmobile[2].Text.ToString(); MobileTax_Address = MobileTax_Address + city1; } mobile_Prop = Account + "~" + Receipt + "~" + Due_Date + "~" + Landroll_PPIN + "~" + Court_Code + "~" + Court_Lot + "~" + Trailer_Make + "~" + Number_of_Stories + "~" + Number_of_Owners + "~" + Width + "~" + Length + "~" + Model_Year + "~" + Color + "~" + MobileTax_Owner_Name + "~" + MobileTax_Address; //Mobile Home Current Tax & Fees Details if (row3.Text.Contains("TAXES & FEES")) { strTaxesFees = "TAXES & FEES"; } if (row3.Text.Contains("Millage")) { Millage_Tax_Year = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Value Table Year")) { Value_Table_Year = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Tax District 1")) { Tax_District1 = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Tax District 2")) { Tax_District2 = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Tax District 3")) { Tax_District3 = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Judicial District")) { Judicial_District = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Full Value")) { Full_Value = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Total Value")) { MobileTax_Total_Value = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("Prorated Value")) { Prorated_Value = TDmobile[2].Text.ToString(); } if (row3.Text.Contains("County")) { County_Tax_Rate = TDmobile[2].Text.ToString(); County_Tax_Due = TDmobile[3].Text.ToString(); } if (row3.Text.Contains("City") && strTaxesFees == "TAXES & FEES") { City_Tax_Rate = TDmobile[2].Text.ToString(); City_Tax_Due = TDmobile[3].Text.ToString(); } if (row3.Text.Contains("School")) { School_Tax_Due = TDmobile[2].Text.ToString(); School_Tax_Rate = TDmobile[3].Text.ToString(); } if (row3.Text.Contains("Total Due")) { Total_Due = TDmobile[3].Text.ToString(); } if (row3.Text.Contains("Taxes Paid")) { TAXES_PAID = TDmobile[3].Text.ToString(); } if (row3.Text.Contains("Estimated Balance Due")) { Estimated_Balance_Due = TDmobile[3].Text.ToString(); } mobile_tax = Millage_Tax_Year + "~" + Value_Table_Year + "~" + Tax_District1 + "~" + Tax_District2 + "~" + Tax_District3 + "~" + Judicial_District + "~" + Full_Value + "~" + MobileTax_Total_Value + "~" + Prorated_Value + "~" + County_Tax_Rate + "~" + County_Tax_Due + "~" + City_Tax_Rate + "~" + City_Tax_Due + "~" + School_Tax_Due + "~" + School_Tax_Rate + "~" + Total_Due + "~" + TAXES_PAID + "~" + Estimated_Balance_Due; } gc.insert_date(orderNumber, parcelNumber, 94, mobile_Prop, 1, DateTime.Now); gc.insert_date(orderNumber, parcelNumber, 95, mobile_tax, 1, DateTime.Now); break; } d++; } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "MS", "Harrison", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "MS", "Harrison"); return("Data Inserted Successfully"); } catch (NoSuchElementException ex1) { driver.Quit(); throw ex1; } } }
public string FTP_ElPaso_TX(string streetno, string direction, string streetname, string streettype, string unitnumber, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel) { Amrock amck = new Amrock(); GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; //var driverService = PhantomJSDriverService.CreateDefaultService(); //driverService.HideCommandPromptWindow = true; //driver = new ChromeDriver(); //driver = new PhantomJSDriver(); string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string address = "", yearBuilt = "", Parcel_number = "", Yearhref = ""; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://www.epcad.org/Search"); int currentyear = DateTime.Now.Year; if (searchType == "titleflex") { string straddress = ""; if (direction != "") { straddress = streetno + " " + direction + " " + streetname + " " + streettype + " " + unitnumber; } else { straddress = streetno + " " + streetname + " " + streettype + " " + unitnumber; } gc.TitleFlexSearch(orderNumber, parcelNumber, ownername, straddress, "TX", "El Paso"); 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["ElPaso_Zero"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } IWebElement propertyyeartable = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div[1]/div/form/div[1]/div/ul")); IList <IWebElement> propertyyearrow = propertyyeartable.FindElements(By.TagName("li")); IList <IWebElement> propertyyearid; foreach (IWebElement propertyyearclick in propertyyearrow) { propertyyearid = propertyyearclick.FindElements(By.TagName("a")); if (propertyyearid.Count != 0) { string yearclick = propertyyearid[0].GetAttribute("href"); Yearhref = GlobalClass.After(yearclick, "Year="); if (Yearhref == Convert.ToString(currentyear)) { driver.Navigate().GoToUrl(yearclick); break; } } } if (searchType == "address") { if (direction.Trim() != "" && streettype.Trim() != "") { address = streetno + " " + direction.Trim() + " " + streetname.Trim() + " " + streettype.Trim(); } if (direction.Trim() != "" && streettype.Trim() == "") { address = streetno + " " + direction.Trim() + " " + streetname.Trim(); } if (streettype.Trim() != "" && direction.Trim() == "") { address = streetno + " " + streetname.Trim() + " " + streettype.Trim(); } if (streettype.Trim() == "" && direction.Trim() == "") { address = streetno + " " + streetname.Trim(); } driver.FindElement(By.Id("Keywords")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Adderess before search", driver, "TX", "El Paso"); driver.FindElement(By.XPath("//*[@id='remote']/span[2]/button")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Adderess After search", driver, "TX", "El Paso"); IWebElement pagecountst = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div[2]/p[1]")); string pagecount = gc.Between(pagecountst.Text, "Found", "results").Trim(); if (pagecount == "1") { IWebElement detailclick = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody/tr/td/div/div[4]/div[1]/div/a")); string href = detailclick.GetAttribute("href"); driver.Navigate().GoToUrl(href); } if (pagecount != "1" && pagecount != "0") { try { int max = 0; gc.CreatePdf_WOP(orderNumber, "MultyAddressSearch", driver, "TX", "El Paso"); //IWebElement Multiparceltable = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody")); //IList<IWebElement> Multiparcelrow = Multiparceltable.FindElements(By.TagName("tr")); for (int i = 1; i <= Convert.ToInt16(pagecount); i++) { string multiparceltd = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody/tr[" + i + "]")).Text; string Type = gc.Between(multiparceltd, "Type", "Property ID:").Trim(); string PropertIdMulti = gc.Between(multiparceltd, "Property ID:", "Geographic ID:").Trim(); string Name = gc.Between(multiparceltd, "Name:", "Address:").Trim(); string AddressMulti = gc.Between(multiparceltd, "Name:", "Appraised Value:").Trim(); string Multiaddress = Type + "~" + Name + "~" + AddressMulti; gc.insert_date(orderNumber, PropertIdMulti, 1149, Multiaddress, 1, DateTime.Now); max++; } if (max > 1 && max < 26) { HttpContext.Current.Session["multiparcel_ElPaso"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (max < 25) { HttpContext.Current.Session["multiParcel_ElPaso_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } if (pagecount == "0") { HttpContext.Current.Session["ElPaso_Zero"] = "Zero"; driver.Quit(); return("No Data Found"); } } if (searchType == "parcel") { driver.FindElement(By.Id("Keywords")).SendKeys(parcelNumber); gc.CreatePdf_WOP(orderNumber, "Adderess Parcel search", driver, "TX", "El Paso"); driver.FindElement(By.XPath("//*[@id='remote']/span[2]/button")).Click(); gc.CreatePdf_WOP(orderNumber, "Adderess Parcel search", driver, "TX", "El Paso"); Thread.Sleep(2000); IWebElement pagecountst = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div[2]/p[1]")); string pagecount = gc.Between(pagecountst.Text, "Found", "results").Trim(); if (pagecount == "1") { IWebElement detailclick = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody/tr/td/div/div[4]/div[1]/div/a")); string href = detailclick.GetAttribute("href"); driver.Navigate().GoToUrl(href); } } if (searchType == "unitnumber") { driver.FindElement(By.Id("Keywords")).SendKeys(unitnumber); gc.CreatePdf_WOP(orderNumber, "Adderess Unit search", driver, "TX", "El Paso"); driver.FindElement(By.XPath("//*[@id='remote']/span[2]/button")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Adderess Unit search", driver, "TX", "El Paso"); IWebElement pagecountst = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div[2]/p[1]")); string pagecount = gc.Between(pagecountst.Text, "Found", "results").Trim(); if (pagecount == "1") { IWebElement detailclick = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody/tr/td/div/div[4]/div[1]/div/a")); string href = detailclick.GetAttribute("href"); driver.Navigate().GoToUrl(href); } } if (searchType == "ownername") { driver.FindElement(By.Id("Keywords")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "Ownername before click", driver, "TX", "El Paso"); driver.FindElement(By.XPath("//*[@id='remote']/span[2]/button")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Ownername After click", driver, "TX", "El Paso"); IWebElement pagecountst = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div[2]/p[1]")); string pagecount = gc.Between(pagecountst.Text, "Found", "results").Trim(); if (pagecount == "1") { IWebElement detailclick = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody/tr/td/div/div[4]/div[1]/div/a")); string href = detailclick.GetAttribute("href"); driver.Navigate().GoToUrl(href); } if (pagecount != "1") { try { int max = 0; for (int i = 1; i <= Convert.ToInt16(pagecount); i++) { string multiparceltd = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/table/tbody/tr[" + i + "]")).Text; string Type = gc.Between(multiparceltd, "Type", "Property ID:").Trim(); string PropertIdMulti = gc.Between(multiparceltd, "Property ID:", "Geographic ID:").Trim(); string Name = gc.Between(multiparceltd, "Name:", "Address:").Trim(); string AddressMulti = gc.Between(multiparceltd, "Name:", "Appraised Value:").Trim(); string Multiaddress = Type + "~" + Name + "~" + AddressMulti; gc.insert_date(orderNumber, PropertIdMulti, 1149, Multiaddress, 1, DateTime.Now); max++; } if (max > 1 && max < 26) { HttpContext.Current.Session["multiparcel_ElPaso"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (max < 25) { HttpContext.Current.Session["multiParcel_ElPaso_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } } try { IWebElement Inodata = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div/div[3]")); if (Inodata.Text.Contains("No more results")) { HttpContext.Current.Session["ElPaso_Zero"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } string propertytable = driver.FindElement(By.XPath("//*[@id='property']/div/div[2]/div")).Text.Replace("\r\n", ""); string type = gc.Between(propertytable, "AccountType:", "Property ID:"); Parcel_number = gc.Between(propertytable, "Property ID:", "Geographic ID:"); string PropertyUseCode = gc.Between(propertytable, "Agent Code:", "Legal Description:"); string GeographicID = gc.Between(propertytable, "Geographic ID:", "Agent Code:"); amck.TaxId = GeographicID; string LegalDescription = gc.Between(propertytable, "Legal Description:", "Property Use Code:"); string PropertyUse_Description = GlobalClass.After(propertytable, "Property Use Description:"); IWebElement Locationrow = driver.FindElement(By.XPath("//*[@id='property']/div/div[3]/div")); string PropertyAddress = gc.Between(Locationrow.Text, "Address:", "Neighborhood:"); string MapID = GlobalClass.After(Locationrow.Text, "Map ID:").Trim(); IWebElement owenrnametable = driver.FindElement(By.XPath("//*[@id='property']/div/div[4]/div")); string OwnerName = gc.Between(owenrnametable.Text, "Name:", "Mailing Address:").Trim(); string MailingAddress = gc.Between(owenrnametable.Text, "Mailing Address:", "Owner ID:"); string OwnerID = gc.Between(owenrnametable.Text, "Owner ID:", "Ownership (%):").Trim(); string OwnershipPercentage = gc.Between(owenrnametable.Text, "Ownership (%):", "Exemptions"); string Exemptions = GlobalClass.After(owenrnametable.Text, "Exemptions").Trim(); gc.CreatePdf(orderNumber, Parcel_number, "Property detail", driver, "TX", "El Paso"); IWebElement Improvementclicktable = driver.FindElement(By.Id("detail-tabs")); IList <IWebElement> improvementclickrow = Improvementclicktable.FindElements(By.TagName("a")); IList <IWebElement> improvementid; foreach (IWebElement iprovementyear in improvementclickrow) { string strcheck = iprovementyear.GetAttribute("href"); if (strcheck.Contains("improvement")) { IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", iprovementyear); break; } } Thread.Sleep(2000); try { gc.CreatePdf(orderNumber, Parcel_number, "Year", driver, "TX", "El Paso"); yearBuilt = driver.FindElement(By.XPath("//*[@id='improvement']/div/div[2]/div[2]/div/table/tbody/tr[2]/td[5]")).Text; } catch { } string propertresult = type + "~" + PropertyUseCode + "~" + GeographicID + "~" + LegalDescription + "~" + PropertyUse_Description + "~" + PropertyAddress + "~" + MapID + "~" + OwnerName + "~" + MailingAddress + "~" + OwnerID + "~" + OwnershipPercentage + "~" + Exemptions + "~" + yearBuilt; gc.insert_date(orderNumber, Parcel_number, 1129, propertresult, 1, DateTime.Now); IWebElement Improvementclicktable1 = driver.FindElement(By.Id("detail-tabs")); IList <IWebElement> improvementclickrow1 = Improvementclicktable1.FindElements(By.TagName("a")); IList <IWebElement> improvementid1; foreach (IWebElement iprovementyear1 in improvementclickrow1) { string strcheck1 = iprovementyear1.GetAttribute("href"); if (strcheck1.Contains("values")) { //iprovementyear.SendKeys(Keys.Enter); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", iprovementyear1); break; } } Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "values", driver, "TX", "El Paso"); string Novalues = ""; try { Novalues = driver.FindElement(By.XPath("//*[@id='values']/div/div[2]/div/div")).Text; } catch { } if (Novalues == "") { string valuestab = driver.FindElement(By.XPath("//*[@id='values']/div/div[2]")).Text.Replace("\r\n", ""); string ImprovementHomesiteValue = gc.Between(valuestab, "Improvement Homesite Value:+", "(+) Improvement Non Homesite Value").Trim(); string ImprovementNon = gc.Between(valuestab, "(+) Improvement Non Homesite Value:+", "(+) Land Homesite Value"); string LandHomesiteValue = gc.Between(valuestab, "(+) Land Homesite Value:+", "(+) Land Non Homesite Value"); string LandNonHomesiteValue = gc.Between(valuestab, " Land Non Homesite Value:+", "(+) Agricultural Market"); string AgriculturalMarketValuation = gc.Between(valuestab, "Agricultural Market Valuation:+", "(+) Timber Market Valuation:"); string TimberMarketValuation = GlobalClass.After(valuestab, "Timber Market Valuation:+").Trim(); string Marketvaluetable = driver.FindElement(By.XPath("//*[@id='values']/div/div[3]")).Text.Replace("\r\n", ""); string MarketValue = gc.Between(Marketvaluetable, "Market Value:=", "(-) Agricultural Or"); string AgriculturalTimberReduction = GlobalClass.After(Marketvaluetable, "Value Reduction:-"); string appricealvaluetable = driver.FindElement(By.XPath("//*[@id='values']/div/div[4]")).Text.Replace("\r\n", ""); string AppraisedValue = gc.Between(appricealvaluetable, "Appraised Value:=", "(-) HS Cap:"); string HSCap = GlobalClass.After(appricealvaluetable, "HS Cap:-"); string Assessmenttable = driver.FindElement(By.XPath("//*[@id='values']/div/div[5]")).Text.Replace("\r\n", ""); string AssessedValue = GlobalClass.After(Assessmenttable, "(=) Assessed Value:=").Trim(); string Assessmentresult = Yearhref + "~" + ImprovementHomesiteValue + "~" + ImprovementNon + "~" + LandHomesiteValue + "~" + LandNonHomesiteValue + "~" + AgriculturalMarketValuation + "~" + TimberMarketValuation + "~" + MarketValue + "~" + AgriculturalTimberReduction + "~" + AppraisedValue + "~" + HSCap + "~" + AssessedValue; gc.insert_date(orderNumber, Parcel_number, 1130, Assessmentresult, 1, DateTime.Now); } //Values if (Novalues.Contains("No values are currently available")) { currentyear--; IWebElement propertyyeartable1 = driver.FindElement(By.XPath("/html/body/div[2]/div[1]/div/div[1]/div/ul")); IList <IWebElement> propertyyearrow1 = propertyyeartable1.FindElements(By.TagName("li")); IList <IWebElement> propertyyearid1; foreach (IWebElement propertyyearclick1 in propertyyearrow1) { propertyyearid1 = propertyyearclick1.FindElements(By.TagName("a")); if (propertyyearid1.Count != 0) { string yearclick = propertyyearid1[0].GetAttribute("href"); Yearhref = GlobalClass.After(yearclick, "/"); if (Yearhref == Convert.ToString(currentyear)) { driver.Navigate().GoToUrl(yearclick); break; } } } IWebElement Improvementclicktable11 = driver.FindElement(By.Id("detail-tabs")); IList <IWebElement> improvementclickrow11 = Improvementclicktable11.FindElements(By.TagName("a")); IList <IWebElement> improvementid11; foreach (IWebElement iprovementyear11 in improvementclickrow11) { string strcheck1 = iprovementyear11.GetAttribute("href"); if (strcheck1.Contains("values")) { //iprovementyear.SendKeys(Keys.Enter); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", iprovementyear11); break; } } Thread.Sleep(3000); string valuestab = driver.FindElement(By.XPath("//*[@id='values']/div/div[2]")).Text.Replace("\r\n", ""); string ImprovementHomesiteValue = gc.Between(valuestab, "Improvement Homesite Value:+", "(+) Improvement Non Homesite Value").Trim(); string ImprovementNon = gc.Between(valuestab, "(+) Improvement Non Homesite Value:+", "(+) Land Homesite Value"); string LandHomesiteValue = gc.Between(valuestab, "(+) Land Homesite Value:+", "(+) Land Non Homesite Value"); string LandNonHomesiteValue = gc.Between(valuestab, " Land Non Homesite Value:+", "(+) Agricultural Market"); string AgriculturalMarketValuation = gc.Between(valuestab, "Agricultural Market Valuation:+", "(+) Timber Market Valuation:"); string TimberMarketValuation = GlobalClass.After(valuestab, "Timber Market Valuation:+").Trim(); string Marketvaluetable = driver.FindElement(By.XPath("//*[@id='values']/div/div[3]")).Text.Replace("\r\n", ""); string MarketValue = gc.Between(Marketvaluetable, "Market Value:=", "(-) Agricultural Or"); string AgriculturalTimberReduction = GlobalClass.After(Marketvaluetable, "Value Reduction:-"); string appricealvaluetable = driver.FindElement(By.XPath("//*[@id='values']/div/div[4]")).Text.Replace("\r\n", ""); string AppraisedValue = gc.Between(appricealvaluetable, "Appraised Value:=", "(-) HS Cap:"); string HSCap = GlobalClass.After(appricealvaluetable, "HS Cap:-"); string Assessmenttable = driver.FindElement(By.XPath("//*[@id='values']/div/div[5]")).Text.Replace("\r\n", ""); string AssessedValue = GlobalClass.After(Assessmenttable, "(=) Assessed Value:=").Trim(); string Assessmentresult = Yearhref + "~" + ImprovementHomesiteValue + "~" + ImprovementNon + "~" + LandHomesiteValue + "~" + LandNonHomesiteValue + "~" + AgriculturalMarketValuation + "~" + TimberMarketValuation + "~" + MarketValue + "~" + AgriculturalTimberReduction + "~" + AppraisedValue + "~" + HSCap + "~" + AssessedValue; gc.insert_date(orderNumber, Parcel_number, 1130, Assessmentresult, 1, DateTime.Now); } //jurisdiction IWebElement Improvementclicktable2 = driver.FindElement(By.Id("detail-tabs")); IList <IWebElement> improvementclickrow2 = Improvementclicktable2.FindElements(By.TagName("a")); IList <IWebElement> improvementid2; foreach (IWebElement iprovementyear2 in improvementclickrow2) { string strcheck2 = iprovementyear2.GetAttribute("href"); if (strcheck2.Contains("tax-jurisdiction")) { //iprovementyear.SendKeys(Keys.Enter); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", iprovementyear2); break; } } Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_number, "tax jurisdiction", driver, "TX", "El Paso"); IWebElement Taxingjurisdictiontable = driver.FindElement(By.XPath("//*[@id='tax-jurisdiction']/div/div[2]/div[2]/table/tbody")); IList <IWebElement> Taxingjurisdictionrow = Taxingjurisdictiontable.FindElements(By.TagName("tr")); IList <IWebElement> Taxingid; foreach (IWebElement taxingjuris in Taxingjurisdictionrow) { Taxingid = taxingjuris.FindElements(By.TagName("td")); if (Taxingid.Count != 0 && taxingjuris.Text.Trim() != "") { string Taxingresult = Taxingid[0].Text + "~" + Taxingid[1].Text + "~" + Taxingid[2].Text + "~" + Taxingid[3].Text + "~" + Taxingid[4].Text + "~" + Taxingid[5].Text + "~" + Taxingid[6].Text; gc.insert_date(orderNumber, Parcel_number, 1131, Taxingresult, 1, DateTime.Now); } } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //tax Site driver.Navigate().GoToUrl("https://actweb.acttax.com/act_webdev/elpaso/index.jsp"); Thread.Sleep(3000); IWebElement PropertyInformation = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/div[2]/table/tbody/tr/td/center/form/table/tbody/tr[3]/td[2]/div[3]/select")); SelectElement PropertyInformationSelect = new SelectElement(driver.FindElement(By.Name("searchby"))); PropertyInformationSelect.SelectByValue("4"); Thread.Sleep(2000); driver.FindElement(By.Id("criteria")).SendKeys(GeographicID.Trim()); gc.CreatePdf(orderNumber, Parcel_number, "tax search", driver, "TX", "El Paso"); driver.FindElement(By.Name("submit")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "tax search result", driver, "TX", "El Paso"); driver.FindElement(By.XPath("//*[@id='data-block']/table/tbody/tr/td/table/tbody/tr/td[2]/h3/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "tax search result details", driver, "TX", "El Paso"); //Jurisdiction Information Details Table: string year = "", account = "", ExemptionsJ = ""; driver.FindElement(By.LinkText("Taxes Due Detail by Year and Jurisdiction")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Taxes Due Detail by Year and Jurisdiction", driver, "TX", "El Paso"); //Taxes Due Detail by Year Details Table: //Account No~Appr. Dist. No~Active Lawsuits~Year~Base Tax Due~Penalty, Interest, and ACC* Due(end of July )~Total Due July~Penalty, Interest, and ACC* Due(end of August )~Total Due August~Penalty, Interest, and ACC*Due(end of September)~Total Due September string accountno = "", distno = "", ActiveLawsuits = ""; IWebElement multitableElement31 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/table/tbody/tr/td/table/tbody")); IList <IWebElement> multitableRow31 = multitableElement31.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD31; foreach (IWebElement row in multitableRow31) { multirowTD31 = row.FindElements(By.TagName("td")); if (multirowTD31.Count == 8 && !row.Text.Contains("Base Tax Due")) { string TaxesDue = multirowTD31[0].Text.Trim() + "~" + multirowTD31[1].Text.Trim() + "~" + multirowTD31[2].Text.Trim() + "~" + multirowTD31[3].Text.Trim() + "~" + multirowTD31[4].Text.Trim() + "~" + multirowTD31[5].Text.Trim() + "~" + multirowTD31[6].Text.Trim() + "~" + multirowTD31[7].Text.Trim(); gc.insert_date(orderNumber, Parcel_number, 1134, TaxesDue, 1, DateTime.Now); } if (multirowTD31.Count == 1) { string TaxesDue = multirowTD31[0].Text.Trim() + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, Parcel_number, 1134, TaxesDue, 1, DateTime.Now); } if (multirowTD31.Count == 4) { string TaxesDue = "" + "~" + "" + "~" + multirowTD31[1].Text.Trim() + "~" + "" + "~" + multirowTD31[2].Text.Trim() + "~" + "" + "~" + multirowTD31[3].Text.Trim() + "~" + ""; gc.insert_date(orderNumber, Parcel_number, 1134, TaxesDue, 1, DateTime.Now); } } driver.FindElement(By.LinkText("Return to the Previous Page")).Click(); Thread.Sleep(2000); //Tax Payment Details Table: driver.FindElement(By.LinkText("Payment Information & Receipts")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number, "Payment Information", driver, "TX", "El Paso"); //Account Number~Paid Date~Amount~Tax Year~Description~Paid By string accountnos = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/h3")).Text.Replace("Account No.:", ""); try { IWebElement multitableElement32 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/table/tbody")); IList <IWebElement> multitableRow32 = multitableElement32.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD32; foreach (IWebElement row in multitableRow32) { multirowTD32 = row.FindElements(By.TagName("td")); if (multirowTD32.Count != 0 && !row.Text.Contains("Receipt Date")) { string TaxesDue = accountnos + "~" + multirowTD32[0].Text.Trim() + "~" + multirowTD32[1].Text.Trim() + "~" + multirowTD32[2].Text.Trim() + "~" + multirowTD32[3].Text.Trim() + "~" + multirowTD32[4].Text.Trim(); gc.insert_date(orderNumber, Parcel_number, 1137, TaxesDue, 1, DateTime.Now); } } } catch { } driver.FindElement(By.LinkText("Return to the Previous Page")).Click(); Thread.Sleep(2000); string jurd = "", pendingpayment = "", accountNo = "", AppraisalDistrict = "", OwnerNametax = "", OwnerAddress = "", PropertyAddresstax = "", legal = "", CurrentTax = "", CurrentAmount = "", PriorYearAmount = "", TotalAmount = "", LastPaymentAmount = "", LastPayer = "", LastPaymentDate = "", ActiveLawsuitsTax = "", GrossValue = "", LandValue = "", ImprovementValue = "", CappedValue = "", AgriculturalValue = "", ExemptionsTax = ""; string taxyeartax1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td/center[1]/table/tbody/tr/td/h5/b")).Text; string taxyear = gc.Between(taxyeartax1, "information for", ". All").Trim(); amck.TaxYear = taxyear; string fullTaxeBill1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td/center[2]/table/tbody/tr/td[1]")).Text.Replace("\r\n", " "); accountno = gc.Between(fullTaxeBill1, "Account Number:", "Prop. Id."); string market = ""; OwnerAddress = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td/center[2]/table/tbody/tr/td[1]/h3[3]")).Text.Trim(); string[] Ownersplit = OwnerAddress.Split('\r'); OwnerNametax = Ownersplit[1].Replace("\n", "").Trim(); PropertyAddress = gc.Between(fullTaxeBill1, "Property Site Address:", " Legal Description:"); //legal = gc.Between(fullTaxeBill1, "Legal Description:", " Current Tax Levy:"); CurrentTax = gc.Between(fullTaxeBill1, " Current Tax Levy:", "Current Amount Due:"); CurrentAmount = gc.Between(fullTaxeBill1, "Current Amount Due:", "Prior Year Amount Due:"); PriorYearAmount = gc.Between(fullTaxeBill1, "Prior Year Amount Due:", "Total Amount Due:"); TotalAmount = gc.Between(fullTaxeBill1, "Total Amount Due:", "Last Payment Amount:"); LastPaymentAmount = gc.Between(fullTaxeBill1, "Last Payment Amount:", "Last Payer:"); LastPayer = gc.Between(fullTaxeBill1, "Last Payer:", "Last Payment Date:"); LastPaymentDate = gc.Between(fullTaxeBill1, "Last Payment Date:", "Active Lawsuits:"); // string tax_year = driver.FindElement(By.XPath("//*[@id='pageContent']/table/tbody/tr/td/table/tbody/tr[1]/td/table[1]/tbody/tr/td/h5/b")).Text; // tax_year = gc.Between(tax_year, " tax information for", ". All amounts"); ActiveLawsuitsTax = GlobalClass.After(fullTaxeBill1, "Active Lawsuits:"); string fullTaxbill2 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td/center[2]/table/tbody/tr/td[2]")).Text.Replace("\r\n", " "); pendingpayment = gc.Between(fullTaxbill2, " PendingCredit / PINless Debit Card or eCheckPayments:", "(Pay single or"); market = gc.Between(fullTaxbill2, "Market Value:", "Land Value:"); LandValue = gc.Between(fullTaxbill2, "Land Value:", "Improvement Value:"); ImprovementValue = gc.Between(fullTaxbill2, "Improvement Value:", "Capped Value:"); CappedValue = gc.Between(fullTaxbill2, "Capped Value:", "Agricultural Value:"); AgriculturalValue = gc.Between(fullTaxbill2, "Agricultural Value:", "Exemptions:"); ExemptionsTax = gc.Between(fullTaxbill2, "Exemptions:", "Exemption and Tax Rate"); // string lastCertified = gc.Between(fullTaxbill2, "Last Certified Date: ", "Taxes Due Detail by Year and Jurisdiction "); //Account Number~Owner Information~Property Site Address~Legal Description~Current Tax Levy~Current Amount Due~Prior Year Amount Due~Total Amount Due~Last Payment Amount for Current Year Taxes~Active Lawsuits~market~Land Value~Improvement Value~Capped Value~Agricultural Value~Exemptions~Last Certified Date~Tax Authority string Taxauthority = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[1]/td/h3/font/i/b")).Text; string taxbill = taxyear + "~" + accountno + "~" + OwnerNametax + "~" + PropertyAddress + "~" + TotalAmount + "~" + CurrentAmount + "~" + PriorYearAmount + "~" + TotalAmount + "~" + LastPaymentAmount + "~" + LastPayer + "~" + LastPaymentDate + "~" + ActiveLawsuitsTax + "~" + pendingpayment + "~" + market + "~" + LandValue + "~" + ImprovementValue + "~" + CappedValue + "~" + AgriculturalValue + "~" + ExemptionsTax + "~" + Taxauthority; gc.insert_date(orderNumber, Parcel_number, 1138, taxbill, 1, DateTime.Now); if (TotalAmount.Trim() == "$0.00") { if (CurrentTax == LastPaymentAmount) { amck.Instamount1 = CurrentTax; amck.Instamountpaid1 = LastPaymentAmount; amck.InstPaidDue1 = "Paid"; amck.IsDelinquent = "No"; } else { amck.IsDelinquent = "Yes"; } } else { if (CurrentTax == TotalAmount) { amck.Instamount1 = CurrentTax; amck.InstPaidDue1 = "Due"; amck.IsDelinquent = "No"; } else { amck.IsDelinquent = "Yes"; } } if (amck.IsDelinquent != "Yes") { 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 { gc.InsertAmrockTax(orderNumber, amck.TaxId, null, null, null, null, null, null, null, null, null, null, null, null, amck.IsDelinquent); } IWebElement Itaxstmt1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td/center[2]/table/tbody/tr/td[2]/h3[2]/a")); Thread.Sleep(2000); string stmt11 = Itaxstmt1.GetAttribute("href"); driver.Navigate().GoToUrl(stmt11); Thread.Sleep(4000); IWebElement Itaxstmt = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[3]/td/div/h3/a")); string stmt1 = Itaxstmt.GetAttribute("href"); gc.downloadfile(stmt1, orderNumber, Parcel_number, "Tax statement", "TX", "El Paso"); Thread.Sleep(2000); driver.Navigate().Back(); Thread.Sleep(2000); try { driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td/center[2]/table/tbody/tr/td[2]/h3[10]/a[1]")).Click(); Thread.Sleep(2000); //Jurisdiction Information for ~Account No~Exemptions~Jurisdictions~Market Value~Exemption Value~Taxable Value~Tax Rate~Levy string accountnosjur = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/table/tbody/tr[1]/td/h3[2]")).Text.Replace("Account No.:", ""); string jurdinfoYear = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/table/tbody/tr[1]/td/h3[1]/b")).Text.Replace("Jurisdiction Information for", ""); string exemptions = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/table/tbody/tr[1]/td/h3[3]")).Text.Replace("Exemptions:", ""); gc.CreatePdf(orderNumber, Parcel_number, "Jurisdiction Information", driver, "TX", "El Paso"); IWebElement multitableElement6 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/center/table/tbody/tr[2]/td/table/tbody")); IList <IWebElement> multitableRow6 = multitableElement6.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD6; foreach (IWebElement row in multitableRow6) { multirowTD6 = row.FindElements(By.TagName("td")); if (multirowTD6.Count != 0 && !row.Text.Contains("Jurisdictions")) { string TaxesDue = jurdinfoYear + "~" + accountnosjur + "~" + exemptions + "~" + multirowTD6[0].Text.Trim() + "~" + multirowTD6[1].Text.Trim() + "~" + multirowTD6[2].Text.Trim() + "~" + multirowTD6[3].Text.Trim() + "~" + multirowTD6[4].Text.Trim() + "~" + multirowTD6[5].Text.Trim(); gc.insert_date(orderNumber, Parcel_number, 1139, TaxesDue, 1, DateTime.Now); } } driver.FindElement(By.LinkText("Return to the Previous Page")).Click(); Thread.Sleep(2000); } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "TX", "El Paso", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "TX", "El Paso"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_STLouis(string houseno, string sname, string sttype, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; IWebElement iframeElement1; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string locator_no = "-", owner_name = "-", taxing_address = "-", city_name = "-", subdivison_name = "-", legal_description = "-", year_built = "-"; string locator_num = "-", prop_location = "-", tax_authority = "St. Louis County Government,41 South Central, Clayton, Missouri 63105", dele_status = "-"; try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string address = houseno + " " + sname; gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "SC", "Charleston"); 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_WilliamsonTX"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://revenue.stlouisco.com/IAS/"); //find ifram using xpath IWebElement iframeElement = driver.FindElement(By.XPath("/html/frameset/frameset/frame[1]")); //now use the switch command driver.SwitchTo().Frame(iframeElement); Thread.Sleep(3000); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[1]/div[3]/span/label")).Click(); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='tboxAddrNum']")).SendKeys(houseno); driver.FindElement(By.XPath("//*[@id='tboxStreet']")).SendKeys(sname); driver.FindElement(By.XPath("//*[@id='butFind']")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "MO", "Saint Louis"); //multi parecl driver.SwitchTo().DefaultContent(); iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frameset/frame[2]")); driver.SwitchTo().Frame(iframeElement1); Thread.Sleep(3000); string count = driver.FindElement(By.XPath("//*[@id='labelTotalRows']")).Text.Trim(); if (count != "1 Record Found") { Multi_Parcel_Search(orderNumber); driver.Quit(); return("MultiParcel"); } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='panelData']")).Text; if (nodata.Contains("No records were found")) { HttpContext.Current.Session["Nodata_StLouis"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } else if (searchType == "parcel") { driver.Navigate().GoToUrl("http://revenue.stlouisco.com/IAS/"); //find ifram using xpath IWebElement iframeElement = driver.FindElement(By.XPath("/html/frameset/frameset/frame[1]")); //now use the switch command driver.SwitchTo().Frame(iframeElement); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='tboxLocatorNum']")).SendKeys(parcelNumber); driver.FindElement(By.XPath("//*[@id='butFind']")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "MO", "Saint Louis"); driver.SwitchTo().DefaultContent(); iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frameset/frame[2]")); driver.SwitchTo().Frame(iframeElement1); try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='panelData']")).Text; if (nodata.Contains("No records were found")) { HttpContext.Current.Session["Nodata_StLouis"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } else if (searchType == "ownername") { driver.Navigate().GoToUrl("http://revenue.stlouisco.com/IAS/"); //find ifram using xpath IWebElement iframeElement = driver.FindElement(By.Name("SearchInput")); //now use the switch command driver.SwitchTo().Frame(iframeElement); Thread.Sleep(3000); driver.FindElement(By.Id("rbutName")).Click(); Thread.Sleep(3000); string firstname = "", lastname = ""; if (ownername.Contains(" ")) { string[] name = ownername.Split(' '); firstname = name[0]; lastname = name[1]; driver.FindElement(By.XPath("//*[@id='tboxLastName']")).SendKeys(firstname); driver.FindElement(By.XPath("//*[@id='tboxFirstName']")).SendKeys(lastname); driver.FindElement(By.XPath("//*[@id='butFind']")).SendKeys(Keys.Enter); } else { driver.FindElement(By.XPath("//*[@id='tboxLastName']")).SendKeys(ownername); driver.FindElement(By.XPath("//*[@id='butFind']")).SendKeys(Keys.Enter); } gc.CreatePdf_WOP(orderNumber, "Owner Search", driver, "MO", "Saint Louis"); driver.SwitchTo().DefaultContent(); iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frameset/frame[2]")); driver.SwitchTo().Frame(iframeElement1); Thread.Sleep(3000); try { string count = driver.FindElement(By.XPath("//*[@id='labelTotalRows']")).Text.Trim(); string getcount = WebDriverTest.Before(count, "Record Found").Trim(); int igetcount = Convert.ToInt16(getcount); if (igetcount <= 10) { if (count != "1 Record Found") { Multi_Parcel_Search(orderNumber); driver.Quit(); return("MultiParcel"); } } else { HttpContext.Current.Session["multiparcel_StLouis_count"] = "Maximum"; return("Maximum"); } } catch { } try { string count = driver.FindElement(By.XPath("//*[@id='labelTotalRows']")).Text.Trim(); string getcount = WebDriverTest.Before(count, "Records Found").Trim(); int igetcount = Convert.ToInt16(getcount); if (igetcount <= 10) { if (count != "1 Records Found") { Multi_Parcel_Search(orderNumber); driver.Quit(); return("MultiParcel"); } } else { HttpContext.Current.Session["multiparcel_StLouis_count"] = "Maximum"; return("Maximum"); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='panelData']")).Text; if (nodata.Contains("No records were found")) { HttpContext.Current.Session["Nodata_StLouis"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Amrock Mapping Amrock amc = new Amrock(); //Thread.Sleep(3000); //driver.SwitchTo().DefaultContent(); //iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frameset/frame[2]")); //driver.SwitchTo().Frame(iframeElement1); driver.FindElement(By.XPath("/html/body/form/div[3]/center/table/tbody/tr[3]/td/table/tbody/tr[2]/td[3]/img")).Click(); driver.SwitchTo().DefaultContent(); Thread.Sleep(1000); //owner ship and legal information // Property Details Table. IWebElement iframeElement2 = driver.FindElement(By.XPath("/html/frameset/frame")); driver.SwitchTo().Frame(iframeElement2); Thread.Sleep(3000); //assessment details locator_no = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_OwnLeg_labLocatorNum']")).Text; amc.TaxId = locator_no; int k = 0, j = 0; IWebElement TBAssessment = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[3]/td/form/table/tbody/tr/td[2]/div[3]/div[4]/div[2]/div[1]/div[2]/table/tbody")); IList <IWebElement> TRAssessment = TBAssessment.FindElements(By.TagName("tr")); IList <IWebElement> TDAssessment; foreach (IWebElement row1 in TRAssessment) { TDAssessment = row1.FindElements(By.TagName("td")); if (TDAssessment.Count != 0 && !row1.Text.Contains("Appraised Values") && !row1.Text.Contains("Year")) { try { //click expnad the year IList <IWebElement> expand = TBAssessment.FindElements(By.XPath("//tr[contains(@id,'trAsmt')]/td[1]/img")); foreach (IWebElement exe in expand) { if (j > 0 && j < 3) { IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", exe); Thread.Sleep(1000); } j++; } } catch { } //store the values IList <IWebElement> residential_values = TBAssessment.FindElements(By.XPath("//tr[contains(@id,'trAsmt')]")); foreach (IWebElement rv in residential_values) { try { if (k > 0 && k < 4) { //insert details TDAssessment = rv.FindElements(By.TagName("td")); string assessment_details = TDAssessment[1].Text.Trim() + "~" + TDAssessment[3].Text.Trim() + "~" + TDAssessment[4].Text.Trim() + "~" + TDAssessment[5].Text.Trim() + "~" + TDAssessment[7].Text.Trim() + "~" + TDAssessment[8].Text.Trim() + "~" + TDAssessment[9].Text.Trim(); gc.insert_date(orderNumber, locator_no, 23, assessment_details, 1, DateTime.Now); } k++; } catch (Exception e) { } } gc.CreatePdf(orderNumber, locator_no, "Assessment Details", driver, "MO", "Saint Louis"); } } // Property Details Table. owner_name = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_OwnLeg_labOwnerName']")).Text; taxing_address = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_OwnLeg_labTaxAddr']")).Text; city_name = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_OwnLeg_labCityName']")).Text; subdivison_name = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_OwnLeg_labSubdivisionName']")).Text; legal_description = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_OwnLeg_labLegalDesc']")).Text; driver.FindElement(By.ClassName("RevDeptContentLink")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, locator_no, "PropertyDetails", driver, "MO", "Saint Louis"); Thread.Sleep(2000); try { year_built = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_DwellingDataRes_labYearBuilt']")).Text; } catch { } string property_details = owner_name + "~" + taxing_address + "~" + city_name + "~" + subdivison_name + "~" + legal_description + "~" + year_built; if (property_details.Contains("\r\n")) { property_details = property_details.Replace("\r\n", ""); gc.insert_date(orderNumber, locator_no, 22, property_details, 1, DateTime.Now); //db.ExecuteQuery("insert into data_value_master (Order_no,parcel_no,Data_Field_Text_Id,Data_Field_value,Is_Table) values ('" + orderNumber + "','" + multirowTD[0].Text.Trim() + "',19 ,'" + multi + "',1)"); } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); Thread.Sleep(2000); //Tax amount due driver.FindElement(By.XPath("//*[@id='ctl00_LeftMargin_MarginLinks_aTaxDue']")).SendKeys(Keys.Enter); Thread.Sleep(3000); //need to add tax authority try { IWebElement TBTaxDue = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[3]/td/form/table/tbody/tr/td[2]/div[5]/div[2]/div[1]/table/tbody/tr[2]/td/table/tbody")); IList <IWebElement> TRTaxDue = TBTaxDue.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxDue; int i = 0; int count = TRTaxDue.Count; //Amcrock int assess = 0; //if condition used for display two tables foreach (IWebElement row1 in TRTaxDue) { if (!row1.Text.Contains("Locator Number") && !row1.Text.Contains("Tax Year")) { TDTaxDue = row1.FindElements(By.TagName("td")); int TDcount = TDTaxDue.Count(); if (TDcount == 8) { //insert details string Tax_details = TDTaxDue[0].Text.Trim() + "~" + TDTaxDue[1].Text.Trim() + "~" + TDTaxDue[2].Text.Trim() + "~" + TDTaxDue[3].Text.Trim() + "~" + TDTaxDue[4].Text.Trim() + "~" + TDTaxDue[5].Text.Trim() + "~" + TDTaxDue[6].Text.Trim() + "~" + TDTaxDue[7].Text.Trim() + "~" + "-" + "~" + "-"; gc.insert_date(orderNumber, locator_no, 24, Tax_details, 1, DateTime.Now); //Amcrock if (assess < 2 && row1.Text.Contains("Total:")) { assess++; if (assess == 1) { //amc.Land = TDTaxDue[5].Text.Trim(); //amc.Building = TDTaxDue[6].Text.Trim(); //amc.Assess = TDTaxDue[7].Text.Trim(); } } } if (TDcount == 6 || TDcount == 2) { if (i < count - 3) { //insert details string Tax_details = TDTaxDue[0].Text.Trim() + "~" + TDTaxDue[1].Text.Trim() + "~" + TDTaxDue[2].Text.Trim() + "~" + TDTaxDue[3].Text.Trim() + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + TDTaxDue[4].Text.Trim() + "~" + TDTaxDue[5].Text.Trim(); gc.insert_date(orderNumber, locator_no, 24, Tax_details, 1, DateTime.Now); } if (i == count - 3) { //insert details string Tax_details = TDTaxDue[0].Text.Replace(">>", "").Trim() + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + TDTaxDue[1].Text.Trim(); gc.insert_date(orderNumber, locator_no, 24, Tax_details, 1, DateTime.Now); } i++; } } } gc.CreatePdf(orderNumber, locator_no, "tax Details", driver, "MO", "Saint Louis"); } catch (Exception e) { } driver.Navigate().Back(); Thread.Sleep(3000); //Tax History driver.SwitchTo().DefaultContent(); Thread.Sleep(3000); IWebElement iframeElement21 = driver.FindElement(By.XPath("/html/frameset/frame")); driver.SwitchTo().Frame(iframeElement21); Thread.Sleep(3000); driver.FindElement(By.Id("ctl00_LeftMargin_MarginLinks_aTaxHistory")).SendKeys(Keys.Enter); Thread.Sleep(3000); locator_num = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_RealEstateHistoryData1_labelLocatorNum']")).Text; owner_name = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_RealEstateHistoryData1_labelOwner']")).Text; prop_location = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_RealEstateHistoryData1_labelLocation']")).Text; IWebElement TBTax_History = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_RealEstateHistoryData1_tableTaxHistory']/tbody")); IList <IWebElement> TRTax_History = TBTax_History.FindElements(By.TagName("tr")); IList <IWebElement> TDTax_History; int a = 0; foreach (IWebElement row1 in TRTax_History) { if (!row1.Text.Contains("Tax Year")) { if (a < 3) { TDTax_History = row1.FindElements(By.TagName("td")); //insert details string TaxHistory_details = owner_name + "~" + prop_location + "~" + TDTax_History[0].Text.Trim() + "~" + TDTax_History[2].Text.Trim() + "~" + TDTax_History[3].Text.Trim() + "~" + TDTax_History[4].Text.Trim() + "~" + TDTax_History[5].Text.Trim() + "~" + TDTax_History[6].Text.Trim() + "~" + TDTax_History[7].Text.Trim() + "~" + tax_authority + "~" + "-"; gc.insert_date(orderNumber, locator_num, 25, TaxHistory_details, 1, DateTime.Now); } a++; } } driver.Navigate().Back(); Thread.Sleep(3000); //Tax Due driver.SwitchTo().DefaultContent(); Thread.Sleep(3000); IWebElement iframeEle = driver.FindElement(By.XPath("/html/frameset/frame")); driver.SwitchTo().Frame(iframeEle); Thread.Sleep(3000); driver.FindElement(By.Id("ctl00_LeftMargin_MarginLinks_aTaxDue")).SendKeys(Keys.Enter); Thread.Sleep(3000); //Amcrock Tax Details string TaxesDueStatus = driver.FindElement(By.Id("ctl00_MainContent_TaxesDueData1_labelPageHeader")).Text; int countdue = 0; IWebElement ITaxes = null; try { ITaxes = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_TaxesDueData1_tableTaxPaidRE']/tbody")); } catch { } try { ITaxes = driver.FindElement(By.Id("ctl00_MainContent_TaxesDueData1_panelTaxesDueRE")); } catch { } IList <IWebElement> TRITaxes = ITaxes.FindElements(By.TagName("tr")); IList <IWebElement> TDITaxes; foreach (IWebElement row1 in TRITaxes) { TDITaxes = row1.FindElements(By.XPath("td")); if (!row1.Text.Contains("Tax Year") && TDITaxes.Count != 0 && TDITaxes.Count == 8 && TRITaxes.Count == 3) { string taxyear = TDITaxes[0].Text; string Interest = TDITaxes[2].Text; string penality = TDITaxes[3].Text; if (Interest == ("$0.00") && penality == ("$0.00")) { amc.Instamount1 = TDITaxes[5].Text; //Total Tax amc.Instamountpaid1 = TDITaxes[6].Text; //Amount Paid } if (TaxesDueStatus.Contains("No Taxes Are Due")) { amc.InstPaidDue1 = "Paid"; amc.IsDelinquent = "No"; } } if (!row1.Text.Contains("Tax Year") && TDITaxes.Count != 0 && TDITaxes.Count == 6 && TRITaxes.Count >= 3) { string Interest = TDITaxes[2].Text; string penality = TDITaxes[3].Text; string total = TDITaxes[5].Text; if (Interest != ("$0.00") && penality != ("$0.00") && !total.Contains("$0.00")) { countdue++; } } if (!row1.Text.Contains("Tax Year") && TDITaxes.Count != 0 && TDITaxes.Count == 6 && TRITaxes.Count == 3) { string Interest = TDITaxes[2].Text; string penality = TDITaxes[3].Text; string total = TDITaxes[5].Text; if (Interest == ("$0.00") && penality == ("$0.00") && !total.Contains("$0.00")) { amc.Instamountpaid1 = TDITaxes[6].Text; //Amount Paid amc.InstPaidDue1 = "Due"; amc.IsDelinquent = "No"; } } if (!row1.Text.Contains("Tax Year") && TDITaxes.Count != 0 && TDITaxes.Count == 8 && TRITaxes.Count == 3) { string Interest = TDITaxes[2].Text; string penality = TDITaxes[3].Text; if (Interest != ("$0.00") && penality != ("$0.00") && TaxesDueStatus.Contains("No Taxes Are Due")) { amc.IsDelinquent = "Yes"; } } } if (countdue > 0) { amc.IsDelinquent = "Yes"; } if (amc.IsDelinquent == "Yes") { gc.InsertAmrockTax(orderNumber, amc.TaxId, null, null, null, null, null, null, null, null, null, null, null, null, amc.IsDelinquent); } if (amc.IsDelinquent == "No") { gc.InsertAmrockTax(orderNumber, amc.TaxId, amc.Instamount1, amc.Instamount2, amc.Instamount3, amc.Instamount4, amc.Instamountpaid1, amc.Instamountpaid2, amc.Instamountpaid3, amc.Instamountpaid4, amc.InstPaidDue1, amc.InstPaidDue2, amc.instPaidDue3, amc.instPaidDue4, amc.IsDelinquent); } gc.CreatePdf(orderNumber, locator_no, "Tax_History", driver, "MO", "Saint Louis"); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "MO", "Saint Louis", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "MO", "Saint Louis"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }