public void taxTRA() { //try //{ // string Nodata = driver.FindElement(By.XPath("//*[@id='ResultDiv']/div")).Text; // if (Nodata.Contains("Sorry,")&& listurldistinct.Count==0) // { // HttpContext.Current.Session["CASanJoaquin_Zero"] = "Zero"; // driver.Quit(); // Tax++; // } //} //catch { } try { strtaxTRA = driver.FindElement(By.XPath("//*[@id='ResultDiv']/div[1]/div/div/p")).Text; if (strtaxTRA.Contains("TRA : ")) { string strtaxdetails = driver.FindElement(By.XPath("//*[@id='ResultDiv']/div[1]/div/div/p")).Text; strTRA = WebDriverTest.Between(strtaxdetails, "TRA : ", "\r\nRoll Cat."); } } catch { } }
public void securedDetais(string orderNumber, string parcelNumber) { try { Tax_Year = driver.FindElement(By.Id("PaymentApplicationContent_divTaxBillYear")).Text; Current_Owner = driver.FindElement(By.Id("CurrentOwner")).Text; Current_Owner = WebDriverTest.After(Current_Owner, "OWNER"); Tax_Type = driver.FindElement(By.Id("display-section-header")).Text; Secured_Details = Current_Owner + "~" + Tax_Year + "~" + Tax_Type + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, parcelNumber, 952, Secured_Details, 1, DateTime.Now); IWebElement TaxHistoryTB = driver.FindElement(By.XPath("//*[@id='PaymentApplicationContent_dataTableSecured']/tbody")); IList <IWebElement> TaxHistoryTR = TaxHistoryTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxHistoryTD; foreach (IWebElement TaxHistory in TaxHistoryTR) { TaxHistoryTD = TaxHistory.FindElements(By.TagName("td")); if (TaxHistoryTD.Count != 0 && !TaxHistory.Text.Contains("Parcel Number") && TaxHistoryTD.Count != 6) { Parcel_No = TaxHistoryTD[0].Text; Installment = TaxHistoryTD[1].Text; Installment_Amount = TaxHistoryTD[2].Text; Deliquent_After = TaxHistoryTD[3].Text; Status = TaxHistoryTD[4].Text; Amount_Due = TaxHistoryTD[5].Text; Total_Due = TaxHistoryTD[6].Text; Secured_Details1 = "" + "~" + "" + "~" + "" + "~" + Installment + "~" + Installment_Amount + "~" + Deliquent_After + "~" + Status + "~" + Amount_Due + "~" + Total_Due; gc.insert_date(orderNumber, Parcel_No, 952, Secured_Details1, 1, DateTime.Now); } if (TaxHistoryTD.Count == 6) { Installment1 = TaxHistoryTD[0].Text; Installment_Amount1 = TaxHistoryTD[1].Text; Deliquent_After1 = TaxHistoryTD[2].Text; Status1 = TaxHistoryTD[3].Text; Amount_Due1 = TaxHistoryTD[4].Text; Total_Due1 = TaxHistoryTD[5].Text; Secured_Details2 = "" + "~" + "" + "~" + "" + "~" + Installment1 + "~" + Installment_Amount1 + "~" + Deliquent_After1 + "~" + Status1 + "~" + Amount_Due1 + "~" + Total_Due1; gc.CreatePdf(orderNumber, Parcel_No, "Secured Details" + Tax_Year, driver, "CA", "San Diego"); gc.insert_date(orderNumber, Parcel_No, 952, Secured_Details2, 1, DateTime.Now); } } } catch { } }
private string BuildTextNotFoundExceptionText(string textToFind, WebDriverTest ext) { StringBuilder sb = new StringBuilder(); string customLoggingMessage = String.Format("#### The text: {0} ####\n ####WAS NOT FOUND!####", textToFind); sb.AppendLine(customLoggingMessage); string cuurentUrlMessage = String.Format("The URL when the test failed was: {0}", ext.Browser.Url); sb.AppendLine(cuurentUrlMessage); return(sb.ToString()); }
private string BuildElementStillVisibleExceptionText(By by, WebDriverTest ext) { StringBuilder sb = new StringBuilder(); string customLoggingMessage = String.Format("#### The element with the location strategy: {0} ####\n ####IS STILL VISIBLE!####", by.ToString()); sb.AppendLine(customLoggingMessage); string cuurentUrlMessage = String.Format("The URL when the test failed was: {0}", ext.Browser.Url); sb.AppendLine(cuurentUrlMessage); return(sb.ToString()); }
private string BuildNotCheckedExceptionText(By by, WebDriverTest ext) { StringBuilder sb = new StringBuilder(); string customLoggingMessage = String.Format("#### The element with the location strategy: {0} ####\n ####WAS NOT CHECKED!####", by.ToString()); sb.AppendLine(customLoggingMessage); string cuurentUrlMessage = String.Format("The URL when the test failed was: {0}", ext.Browser.Url); sb.AppendLine(cuurentUrlMessage); return(sb.ToString()); }
public void CreatePdf_WOP(string orderno, string pdfName) { outputPath = ""; outputPath = ConfigurationManager.AppSettings["screenShotPath-la"]; outputPath = outputPath + orderno + "\\"; if (!Directory.Exists(outputPath)) { Directory.CreateDirectory(outputPath); } string img = outputPath + pdfName + ".png"; string pdf = outputPath + pdfName + ".pdf"; driver.Manage().Window.Maximize(); driver.TakeScreenshot().SaveAsFile(img, ScreenshotImageFormat.Png); WebDriverTest.ConvertImageToPdf(img, pdf); if (File.Exists(img)) { File.Delete(img); } }
public void CreatePdf(string orderno, string parcelno, string pdfName, IWebDriver driver, string sname, string cname) { GlobalClass Pdf = new GlobalClass(); string outputPath = Pdf.ReturnPath(sname, cname); outputPath = outputPath + orderno + "\\" + parcelno + "\\"; if (!Directory.Exists(outputPath)) { Directory.CreateDirectory(outputPath); } string img = outputPath + pdfName + ".png"; string pdf = outputPath + pdfName + ".pdf"; //driver.Manage().Window.Maximize(); driver.TakeScreenshot().SaveAsFile(img, ScreenshotImageFormat.Png); WebDriverTest.ConvertImageToPdf(img, pdf); if (File.Exists(img)) { File.Delete(img); } }
public void CreatePdf_WOP(string orderno, string pdfName) { string outputPath = ""; MySqlConnection con = new MySqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString); string query = "SELECT Storage_Path FROM state_county_master where State_Name = '" + GlobalClass.sname + "' and County_Name='" + GlobalClass.cname + "'"; MySqlCommand cmd = new MySqlCommand(query, con); con.Open(); MySqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { outputPath = dr["Storage_Path"].ToString(); } dr.Close(); con.Close(); outputPath = outputPath + orderno + "\\"; if (!Directory.Exists(outputPath)) { Directory.CreateDirectory(outputPath); } string img = outputPath + pdfName + ".png"; string pdf = outputPath + pdfName + ".pdf"; // driver.Manage().Window.Maximize(); //driver.TakeScreenshot().SaveAsFile(img, ScreenshotImageFormat.Png); ITakesScreenshot screenshotDriver = driver as ITakesScreenshot; Screenshot screenshot = screenshotDriver.GetScreenshot(); screenshot.SaveAsFile(img, ScreenshotImageFormat.Png); WebDriverTest.ConvertImageToPdf(img, pdf); if (File.Exists(img)) { File.Delete(img); } }
public NotCheckedException(By by, WebDriverTest ext) { string message = this.BuildNotCheckedExceptionText(by, ext); throw new ApplicationException(message); }
public string FTP_placer(string houseno, string sname, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel) { string address1 = "", Assess = "", fee_parcel = "", Tra = ""; string Assessment = "", Parcel_Number = "", Roll_Category = "", Address = "", Tax_year = "", First_Installment_Paid_Status = "", First_Installment_Paid_Date = "", First_Installment_Total_Due = "", First_Installment_Total_Paid = "", First_Installment_Balance = "", Second_Installment_Paid_Status = "", Second_Installment_Paid_Date = "", Second_Installment_Total_Due = "", Second_Installment_Total_Paid = "", Second_Installment_Balance = "", FirstandSecondInstallment_Total_Due = "", FirstandSecondInstallment_Total_Paid = "", FirstandSecondInstallment_Total_Balance = ""; string roll_cat = ""; string Assessor_ID_Number = "", Tax_Rate_Area = "", Situs_Address = "", Acres = "", Lot_Size = "", Asmt_Description = "", Year_Built = ""; string ASMT = "", PARCEL = "", YEAR = "", Default_Number = "", Pay_Plan_in_Effect = "", Annual_Payment = "", Balance = ""; string tax_add1, tax_add2, tax_add3, tax_add; GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string address = houseno + " " + sname; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new PhantomJSDriver(); //driver = new ChromeDriver(); using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://www.placer.ca.gov/departments/assessor/assessment-inquiry"); Thread.Sleep(4000); driver.FindElement(By.Id("agreeyes")).Click(); Thread.Sleep(4000); IWebElement iframeElement = driver.FindElement(By.XPath("//*[@id='remoteform']/iframe")); driver.SwitchTo().Frame(iframeElement); Thread.Sleep(2000); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "CA", "Placer"); 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_CAPlacer"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { var Select = driver.FindElement(By.Id("idSitus")); var selectElement1 = new SelectElement(Select); selectElement1.SelectByText("Begins with"); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[4]/td[3]/input")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "CA", "Placer"); driver.FindElement(By.XPath("/html/body/form/p/input[1]")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Address search result", driver, "CA", "Placer"); Thread.Sleep(6000); IWebElement tbmulti = driver.FindElement(By.XPath("/html/body/form/table/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); int l = 0; if (TRmulti.Count > 6) { IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (l <= 25) { if (!row.Text.Contains("Asmt")) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count == 3 && TDmulti[0].Text.Trim() != "") { Assess = TDmulti[0].Text; fee_parcel = TDmulti[1].Text; Tra = TDmulti[2].Text; } if (TDmulti.Count == 1 && TDmulti[0].Text.Trim() != "") { address1 = TDmulti[0].Text; string multi1 = Assess + "~" + fee_parcel + "~" + Tra + "~" + address1; gc.insert_date(orderNumber, fee_parcel, 180, multi1, 1, DateTime.Now); } } l++; } } if (TRmulti.Count > 25) { HttpContext.Current.Session["multiParcel_Placer_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiParcel_Placer"] = "Yes"; } driver.Quit(); gc.mergpdf(orderNumber, "CA", "Placer"); return("MultiParcel"); } } else if (searchType == "parcel") { var Select = driver.FindElement(By.Id("idfeeparcel")); var selectElement1 = new SelectElement(Select); selectElement1.SelectByText("Begins with"); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", ""); } string a = parcelNumber.Substring(0, 3); string b = parcelNumber.Substring(3, 3); string c = parcelNumber.Substring(6, 3); string d = parcelNumber.Substring(9, 3); parcelNumber = a + "-" + b + "-" + c + "-" + d; driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[3]/input")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "CA", "Placer"); driver.FindElement(By.XPath("/html/body/form/p/input[1]")).SendKeys(Keys.Enter); } else if (searchType == "block") { var Select = driver.FindElement(By.Id("idasmt")); var selectElement1 = new SelectElement(Select); selectElement1.SelectByText("Begins with"); if (assessment_id.Contains("-")) { assessment_id = assessment_id.Replace("-", ""); } string a = assessment_id.Substring(0, 3); string b = assessment_id.Substring(3, 3); string c = assessment_id.Substring(6, 3); string d = assessment_id.Substring(9, 3); assessment_id = a + "-" + b + "-" + c + "-" + d; driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[3]/td[3]/input")).SendKeys(assessment_id); gc.CreatePdf_WOP(orderNumber, "Assessment search result", driver, "CA", "Placer"); driver.FindElement(By.XPath("/html/body/form/p/input[1]")).SendKeys(Keys.Enter); } Thread.Sleep(6000); IWebElement runButton = driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[1]/a")); runButton.Click(); Thread.Sleep(4000); //property details string fulltabletext = driver.FindElement(By.XPath(" /html/body/form/table/tbody")).Text.Trim().Replace("\r\n", " "); string Land = "", Structure = "", Fixtures = "", Growing = "", TotalLand_and_Improvements = "", Manufactured_Home = "", Personal_Property = "", Homeowners_Exemption = "", Other_Exemption = "", Net_Assessment = ""; Assessor_ID_Number = gc.Between(fulltabletext, "Assessor ID Number", "Tax Rate Area").Trim(); gc.CreatePdf(orderNumber, Assessor_ID_Number, "Assessment search result", driver, "CA", "Placer"); Tax_Rate_Area = gc.Between(fulltabletext, "Tax Rate Area (TRA)", "Last Recording Date").Trim(); Situs_Address = gc.Between(fulltabletext, "Situs Address", "Acres").Trim(); Acres = gc.Between(fulltabletext, "Acres", "Lot Size").Trim(); Lot_Size = gc.Between(fulltabletext, "Lot Size(SqFt)", "Asmt Description").Trim(); Asmt_Description = gc.Between(fulltabletext, "Asmt Description", "Asmt Status").Trim(); Year_Built = gc.Between(fulltabletext, "Year Built", "Bedrooms").Trim(); string prop = Tax_Rate_Area + "~" + Situs_Address + "~" + Acres + "~" + Lot_Size + "~" + Asmt_Description + "~" + Year_Built; gc.insert_date(orderNumber, Assessor_ID_Number, 155, prop, 1, DateTime.Now); //Assessment details Land = gc.Between(fulltabletext, "Land", "Structure").Trim(); Structure = gc.Between(fulltabletext, "Structure", "Fixtures").Trim(); Fixtures = gc.Between(fulltabletext, "Fixtures", "Growing").Trim(); Growing = gc.Between(fulltabletext, "Growing", "Total Land and Improvements").Trim(); TotalLand_and_Improvements = gc.Between(fulltabletext, "Total Land and Improvements", "Manufactured Home").Trim(); Manufactured_Home = gc.Between(fulltabletext, "Manufactured Home", "Personal Property").Trim(); Personal_Property = gc.Between(fulltabletext, "Personal Property", "Homeowners Exemption").Trim(); Homeowners_Exemption = gc.Between(fulltabletext, "Homeowners Exemption", "Other Exemption").Trim(); Other_Exemption = gc.Between(fulltabletext, "Other Exemption", "Net Assessment").Trim(); Net_Assessment = gc.Between(fulltabletext, "Net Assessment", "Building Description(s)").Trim(); string assess = Land + "~" + Structure + "~" + Fixtures + "~" + Growing + "~" + TotalLand_and_Improvements + "~" + Manufactured_Home + "~" + Personal_Property + "~" + Homeowners_Exemption + "~" + Other_Exemption + "~" + Net_Assessment; gc.insert_date(orderNumber, Assessor_ID_Number, 157, assess, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax details driver.Navigate().GoToUrl("https://common3.mptsweb.com/mbc/placer/tax/search"); for (int k = 1; k < 4; k++) { if (k == 1) { //select year var year = driver.FindElement(By.Id("SelTaxYear")); var selectElement1 = new SelectElement(year); selectElement1.SelectByIndex(0); //searchBy var searchby = driver.FindElement(By.Id("SearchVal")); var selectElement2 = new SelectElement(searchby); selectElement2.SelectByText("FEE PARCEL"); driver.FindElement(By.XPath("//*[@id='SearchValue']")).SendKeys(Assessor_ID_Number); driver.FindElement(By.XPath("//*[@id='SearchSubmit']")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Assessor_ID_Number, "Tax search", driver, "CA", "Placer"); } else if (k == 2) { //select year var year = driver.FindElement(By.Id("SelTaxYear")); var selectElement1 = new SelectElement(year); selectElement1.SelectByIndex(1); //searchBy var searchby = driver.FindElement(By.Id("SearchVal")); var selectElement2 = new SelectElement(searchby); selectElement2.SelectByText("FEE PARCEL"); driver.FindElement(By.XPath("//*[@id='SearchSubmit']")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Assessor_ID_Number, "Tax search1", driver, "CA", "Placer"); } else if (k == 3) { //select year var year = driver.FindElement(By.Id("SelTaxYear")); var selectElement1 = new SelectElement(year); selectElement1.SelectByIndex(2); //searchBy var searchby = driver.FindElement(By.Id("SearchVal")); var selectElement2 = new SelectElement(searchby); selectElement2.SelectByText("FEE PARCEL"); driver.FindElement(By.XPath("//*[@id='SearchSubmit']")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Assessor_ID_Number, "Tax search2", driver, "CA", "Placer"); } int j; //Current Tax Details Table try { int divCount = driver.FindElements(By.XPath("//*[@id='ResultDiv']/div")).Count; for (j = 1; j <= divCount; j++) { IWebElement Itaxstmt = driver.FindElement(By.XPath("//*[@id='ResultDiv']/div[" + j + "]/div/div/div/a")); string stmt1 = Itaxstmt.GetAttribute("href"); strTaxRealestate1.Add(stmt1); } } catch { } } foreach (string real in strTaxRealestate1) { driver.Navigate().GoToUrl(real); Thread.Sleep(4000); tax_add1 = driver.FindElement(By.XPath(" //*[@id='footer']/div[1]/div/div[1]/div[2]/div/ul/li[2]")).Text; tax_add2 = driver.FindElement(By.XPath("//*[@id='footer']/div[1]/div/div[1]/div[2]/div/ul/li[3]")).Text; tax_add3 = driver.FindElement(By.XPath("//*[@id='footer']/div[1]/div/div[1]/div[2]/div/ul/li[4]")).Text; tax_add = tax_add1 + " " + tax_add2 + " " + tax_add3; string pdfassess = driver.FindElement(By.XPath(" /html/body/div[2]/section/div/div/div/div[6]/div/div[1]/div[1]/div[2]")).Text; string pdfyear = driver.FindElement(By.XPath("/html/body/div[2]/section/div/div/div/div[6]/div/div[1]/div[3]/div[2]")).Text; string pdf = pdfassess + " " + pdfyear; string fulltabletextTax1 = driver.FindElement(By.XPath("//*[@id='h2tab1']/div[1]/div[1]/dl")).Text.Trim().Replace("\r\n", ""); if (fulltabletextTax1.Contains("Delinq. Date")) { First_Installment_Paid_Status = gc.Between(fulltabletextTax1, "Paid Status", "Delinq. Date").Trim(); First_Installment_Paid_Date = gc.Between(fulltabletextTax1, "Delinq. Date", "Total Due").Trim(); } else { First_Installment_Paid_Status = gc.Between(fulltabletextTax1, "Paid Status", "Paid Date").Trim(); First_Installment_Paid_Date = gc.Between(fulltabletextTax1, "Paid Date", "Total Due").Trim(); } First_Installment_Total_Due = gc.Between(fulltabletextTax1, "Total Due", "Total Paid").Trim(); First_Installment_Total_Paid = gc.Between(fulltabletextTax1, "Total Paid", "Balance").Trim(); First_Installment_Balance = WebDriverTest.After(fulltabletextTax1, "Balance"); string fulltabletextTax2 = driver.FindElement(By.XPath("//*[@id='h2tab1']/div[1]/div[2]/dl")).Text.Trim().Replace("\r\n", ""); if (fulltabletextTax2.Contains("Delinq. Date")) { Second_Installment_Paid_Status = gc.Between(fulltabletextTax2, "Paid Status", "Delinq. Date").Trim(); Second_Installment_Paid_Date = gc.Between(fulltabletextTax2, "Delinq. Date", "Total Due").Trim(); } else { Second_Installment_Paid_Status = gc.Between(fulltabletextTax2, "Paid Status", "Paid Date").Trim(); Second_Installment_Paid_Date = gc.Between(fulltabletextTax2, "Paid Date", "Total Due").Trim(); } Second_Installment_Total_Due = gc.Between(fulltabletextTax2, "Total Due", "Total Paid").Trim(); Second_Installment_Total_Paid = gc.Between(fulltabletextTax2, "Total Paid", "Balance").Trim(); Second_Installment_Balance = WebDriverTest.After(fulltabletextTax2, "Balance"); string fulltabletextTax3 = driver.FindElement(By.XPath("//*[@id='h2tab1']/div[2]/dl")).Text.Trim().Replace("\r\n", ""); FirstandSecondInstallment_Total_Due = gc.Between(fulltabletextTax3, "Total Due", "Total Paid").Trim(); FirstandSecondInstallment_Total_Paid = gc.Between(fulltabletextTax3, "Total Paid", "Total Balance").Trim(); FirstandSecondInstallment_Total_Balance = WebDriverTest.After(fulltabletextTax3, "Total Balance"); gc.CreatePdf(orderNumber, Assessor_ID_Number, "Taxes" + pdf, driver, "CA", "Placer"); driver.FindElement(By.XPath("/html/body/div[2]/section/div/div[1]/div/div[6]/ul/li[2]/a")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Assessor_ID_Number, "Assess info" + pdf, driver, "CA", "Placer"); string fulltabletextTax4 = driver.FindElement(By.XPath("//*[@id='h2tab2']/dl")).Text.Trim().Replace("\r\n", ""); string assessment = gc.Between(fulltabletextTax4, "Assessment", "Taxyear").Trim(); Tax_year = gc.Between(fulltabletextTax4, "Taxyear", "Parcel Number").Trim(); Roll_Category = gc.Between(fulltabletextTax4, "Roll Category", "Doc Num").Trim(); Address = WebDriverTest.After(fulltabletextTax4, "Address"); string tax = assessment + "~" + Roll_Category + "~" + Address + "~" + Tax_year + "~" + First_Installment_Paid_Status + "~" + First_Installment_Paid_Date + "~" + First_Installment_Total_Due + "~" + First_Installment_Total_Paid + "~" + First_Installment_Balance + "~" + Second_Installment_Paid_Status + "~" + Second_Installment_Paid_Date + "~" + Second_Installment_Total_Due + "~" + Second_Installment_Total_Paid + "~" + Second_Installment_Balance + "~" + FirstandSecondInstallment_Total_Due + "~" + FirstandSecondInstallment_Total_Paid + "~" + FirstandSecondInstallment_Total_Balance + "~" + tax_add; gc.insert_date(orderNumber, Assessor_ID_Number, 165, tax, 1, DateTime.Now); // Assessment~Roll Category~Address~Tax year~First Installment Paid Status~First Installment Paid Date~First Installment Total Due~First Installment Total Paid~First Installment Balance~Second Installment Paid Status~Second Installment Paid Date~Second Installment Total Due~Second Installment Total Paid~Second Installment Balance~First and Second Installment Total Due~First and Second Installment Total Paid~First and Second Installment Total Balance //download taxbill IWebElement Itaxbill = driver.FindElement(By.XPath("/html/body/div[2]/section/div/div[1]/div/div[6]/div/div[1]/div[4]/div/a")); string URL1 = Itaxbill.GetAttribute("href"); gc.downloadfile(URL1, orderNumber, Assessor_ID_Number, "TaxBill" + pdf, "CA", "Placer"); //Tax Year~Tax Code~Description~Rate~1st Installment~2nd Installment~Total~Phone //Default Tax try { driver.FindElement(By.XPath("/html/body/div[2]/section/div/div[1]/div/div[6]/ul/li[4]/a")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Assessor_ID_Number, "Default Tax" + pdf, driver, "CA", "Placer"); Default_Number = driver.FindElement(By.XPath("//*[@id='h2tab4']/div[2]/div[1]/div[2]")).Text; Pay_Plan_in_Effect = driver.FindElement(By.XPath("//*[@id='h2tab4']/div[2]/div[2]/div[2]")).Text; Annual_Payment = driver.FindElement(By.XPath("//*[@id='h2tab4']/div[2]/div[3]/div[2]")).Text; Balance = driver.FindElement(By.XPath("//*[@id='h2tab4']/div[2]/div[4]/div[2]")).Text; string default_tax = assessment + "~" + Tax_year + "~" + Default_Number + "~" + Pay_Plan_in_Effect + "~" + Annual_Payment + "~" + Balance; // string default_tax = Tax_year + "~" + Default_Number + "~" + Pay_Plan_in_Effect + "~" + Annual_Payment + "~" + Balance; gc.insert_date(orderNumber, Assessor_ID_Number, 166, default_tax, 1, DateTime.Now); } //Tax Year~Default Number~Pay Plan in Effect~Annual Payment~Balance catch { } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "CA", "Placer", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); driver.Dispose(); gc.mergpdf(orderNumber, "CA", "Placer"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); driver.Dispose(); throw ex; } } }
public string FTP_Summit(string Address, string account, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string ParcellNumber = ""; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { string AlterNateID = "", PropertyAddress = "", LegalDescriptoin = "", YearBuilt = ""; string Route = "", address = "", parcel = "", owner = ""; try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string straddress = Address + " " + account; gc.TitleFlexSearch(orderNumber, "", "", straddress, "OH", "Summit"); 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_OHSummit"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://fiscaloffice.summitoh.net/index.php/property-tax-search"); Thread.Sleep(2000); IWebElement iframeElement = driver.FindElement(By.XPath("//*[@id='blockrandom']")); //now use the switch command driver.SwitchTo().Frame(iframeElement); driver.FindElement(By.XPath("//*[@id='wrapper']/table/tbody/tr[3]/td/table/tbody/tr[4]/td[2]/input")).SendKeys(Address); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "OH", "Summit"); driver.FindElement(By.XPath("//*[@id='wrapper']/table/tbody/tr[3]/td/table/tbody/tr[6]/td/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "OH", "Summit"); Thread.Sleep(1000); int multi = 0; IList <IWebElement> Propertytable = driver.FindElements(By.XPath("/html/body/table[4]/tbody/tr")); int rowcount = Propertytable.Count; for (int i = 2; i <= rowcount; i++) { try { address = driver.FindElement(By.XPath("/html/body/table[4]/tbody/tr[" + i + "]/td[4]")).Text; string ChkCondition = address; var ChkSplit = ChkCondition.Split(' '); ChkCondition = ChkSplit[0] + " " + ChkSplit[1]; IWebElement pa = driver.FindElement(By.XPath("/html/body/table[4]/tbody/tr[" + i + "]/td[2]/input")); parcel = pa.GetAttribute("value"); Route = driver.FindElement(By.XPath("/html/body/table[4]/tbody/tr[" + i + "]/td[3]")).Text; address = driver.FindElement(By.XPath("/html/body/table[4]/tbody/tr[" + i + "]/td[4]")).Text; owner = driver.FindElement(By.XPath("/html/body/table[4]/tbody/tr[" + i + "]/td[5]")).Text; string multiparcedata = Route + "~" + address + "~" + owner; gc.insert_date(orderNumber, parcel, 121, multiparcedata, 1, DateTime.Now); if (address.Contains(ChkCondition.ToUpper())) { multi++; pa.Click(); break; } //if(multi!=1 && multi > 1) // { // HttpContext.Current.Session["multiParcel_Summit"] = "Yes"; // driver.Quit(); // return "MultiParcel"; //} } catch { } } } else if (searchType == "parcel") { driver.Navigate().GoToUrl("http://fiscaloffice.summitoh.net/index.php/property-tax-search"); Thread.Sleep(2000); IWebElement iframeElement = driver.FindElement(By.XPath("//*[@id='blockrandom']")); //now use the switch command driver.SwitchTo().Frame(iframeElement); driver.FindElement(By.XPath("//*[@id='wrapper']/table/tbody/tr[3]/td/table/tbody/tr[2]/td[2]/input")).SendKeys(parcelNumber); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "M_Parcel Number Search", driver, "OH", "Summit"); // gc.CreatePdf_WOP(orderNumber, "Parcel search",driver, "OH", "Summit"); driver.FindElement(By.XPath("//*[@id='wrapper']/table/tbody/tr[3]/td/table/tbody/tr[6]/td/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "M_Parcel Number Search", driver, "OH", "Summit"); try { IWebElement iframeElement3 = driver.FindElement(By.XPath("/html/frameset/frame[2]")); driver.SwitchTo().Frame(iframeElement3); owner = driver.FindElement(By.XPath("/html/body/table/tbody/tr[9]/td[2]/font")).Text; PropertyAddress = driver.FindElement(By.XPath("/html/body/table/tbody/tr[11]/td[2]/font")).Text; parcelNumber = driver.FindElement(By.XPath("/html/body/table/tbody/tr[7]/td[2]/font")).Text; AlterNateID = driver.FindElement(By.XPath("/html/body/table/tbody/tr[8]/td[2]/font")).Text; LegalDescriptoin = driver.FindElement(By.XPath("/html/body/table/tbody/tr[12]/td[2]/font")).Text; YearBuilt = driver.FindElement(By.XPath("/html/body/table/tbody/tr[25]/td[2]/font")).Text; if (YearBuilt.Contains("\r\n")) { YearBuilt = ""; } string PropertyDetail = AlterNateID + "~" + PropertyAddress + "~" + owner + "~" + LegalDescriptoin + "~" + YearBuilt.Replace("\r\n", ""); gc.insert_date(orderNumber, parcelNumber, 120, PropertyDetail, 1, DateTime.Now); } catch { } } else if (searchType == "ownername") { driver.Navigate().GoToUrl("http://fiscaloffice.summitoh.net/index.php/property-tax-search"); Thread.Sleep(2000); IWebElement iframeElement = driver.FindElement(By.XPath("//*[@id='blockrandom']")); //now use the switch command driver.SwitchTo().Frame(iframeElement); driver.FindElement(By.XPath("//*[@id='wrapper']/table/tbody/tr[3]/td/table/tbody/tr[5]/td[2]/input")).SendKeys(ownername); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "OwnerName search", driver, "OH", "Summit"); driver.FindElement(By.XPath("//*[@id='wrapper']/table/tbody/tr[3]/td/table/tbody/tr[6]/td/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Ownername search Result", driver, "OH", "Summit"); Thread.Sleep(1000); try { IWebElement iframeElement3 = driver.FindElement(By.XPath("/html/frameset/frame[2]")); driver.SwitchTo().Frame(iframeElement3); owner = driver.FindElement(By.XPath("/html/body/table/tbody/tr[9]/td[2]/font")).Text; PropertyAddress = driver.FindElement(By.XPath("/html/body/table/tbody/tr[11]/td[2]/font")).Text; parcelNumber = driver.FindElement(By.XPath("/html/body/table/tbody/tr[7]/td[2]/font")).Text; } catch { } try { IWebElement MultiOwnerTable = driver.FindElement(By.XPath("/html/body/table[4]")); IList <IWebElement> MultiOwnerRow = MultiOwnerTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiOwnerTD; int i = 2; //string AlterNateID = "", PropertyAddress = "", LegalDescriptoin = "", YearBuilt = ""; foreach (IWebElement row1 in MultiOwnerRow) { string ChkMulti = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/th")).Text; ChkMulti = WebDriverTest.After(ChkMulti, "New Search"); ChkMulti = ChkMulti.Replace("\r\n", ""); if (ChkMulti == "1 Records Found") { driver.FindElement(By.XPath("/html/body/table[4]/tbody/tr[" + i + "]/td[2]/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); iframeElement = driver.FindElement(By.XPath("/html/frameset/frame[2]")); driver.SwitchTo().Frame(iframeElement); parcelNumber = driver.FindElement(By.XPath("/html/body/table/tbody/tr[7]/td[2]/font")).Text; AlterNateID = driver.FindElement(By.XPath("/html/body/table/tbody/tr[8]/td[2]/font")).Text; PropertyAddress = driver.FindElement(By.XPath("/html/body/table/tbody/tr[11]/td[2]/font")).Text; LegalDescriptoin = driver.FindElement(By.XPath("/html/body/table/tbody/tr[12]/td[2]/font")).Text; YearBuilt = driver.FindElement(By.XPath("/html/body/table/tbody/tr[25]/td[2]/font")).Text; owner = driver.FindElement(By.XPath("/html/body/table/tbody/tr[9]/td[2]/font")).Text; string PropertyDetail = AlterNateID + "~" + PropertyAddress + "~" + owner + "~" + LegalDescriptoin + "~" + YearBuilt; gc.insert_date(orderNumber, parcelNumber, 120, PropertyDetail, 1, DateTime.Now); break; } else { try { IWebElement pa = driver.FindElement(By.XPath("/html/body/table[4]/tbody/tr[" + i + "]/td[2]/input")); parcel = pa.GetAttribute("value"); Route = driver.FindElement(By.XPath("/html/body/table[4]/tbody/tr[" + i + "]/td[3]")).Text; address = driver.FindElement(By.XPath("/html/body/table[4]/tbody/tr[" + i + "]/td[4]")).Text; owner = driver.FindElement(By.XPath("/html/body/table[4]/tbody/tr[" + i + "]/td[5]")).Text; string multiparcedata = Route + "~" + address + "~" + owner; gc.insert_date(orderNumber, parcel, 121, multiparcedata, 1, DateTime.Now); i++; } catch { HttpContext.Current.Session["multiParcel_Summit"] = "Yes"; driver.Quit(); return("MultiParcel"); } } } } catch { } } try { IWebElement INodata = driver.FindElement(By.XPath("/html/body/center/font")); if (INodata.Text.Contains("No records")) { HttpContext.Current.Session["Nodata_OHSummit"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } if (searchType == "address") { IWebElement iframeElement3 = driver.FindElement(By.XPath("/html/frameset/frame[2]")); driver.SwitchTo().Frame(iframeElement3); owner = driver.FindElement(By.XPath("/html/body/table/tbody/tr[9]/td[2]/font")).Text; PropertyAddress = driver.FindElement(By.XPath("/html/body/table/tbody/tr[11]/td[2]/font")).Text; parcelNumber = driver.FindElement(By.XPath("/html/body/table/tbody/tr[7]/td[2]/font")).Text; AlterNateID = driver.FindElement(By.XPath("/html/body/table/tbody/tr[8]/td[2]/font")).Text; LegalDescriptoin = driver.FindElement(By.XPath("/html/body/table/tbody/tr[12]/td[2]/font")).Text; YearBuilt = driver.FindElement(By.XPath("/html/body/table/tbody/tr[25]/td[2]/font")).Text; if (YearBuilt.Contains("\r\n")) { YearBuilt = ""; } string PropertyDetail = AlterNateID + "~" + PropertyAddress + "~" + owner + "~" + LegalDescriptoin + "~" + YearBuilt.Replace("\r\n", ""); gc.insert_date(orderNumber, parcelNumber, 120, PropertyDetail, 1, DateTime.Now); } gc.CreatePdf(orderNumber, parcelNumber, "Property Detail", driver, "OH", "Summit"); driver.SwitchTo().DefaultContent(); IWebElement Iframe = driver.FindElement(By.XPath("/html/frameset/frame[2]")); driver.SwitchTo().Frame(Iframe); string Year = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/font[2]/b")).Text; Year = WebDriverTest.After(Year, "Tax Year "); string Land = ""; string Building = ""; string Total = ""; string AssessedLand = ""; string AssessedBuilding = ""; string AssessedTotal = ""; string Homestead = ""; string OwnerOccupancyCredit = ""; string Ok = ""; int Increment = 0; int IncrementSecond = 0; IWebElement AssessedTable = driver.FindElement(By.XPath("/html/body/table")); IList <IWebElement> AssessedRow = AssessedTable.FindElements(By.TagName("tr")); IList <IWebElement> TDAss; foreach (IWebElement row1 in AssessedRow) { TDAss = row1.FindElements(By.TagName("td")); if (Ok == "Allowed" && Increment == 0) { Land = TDAss[1].Text.ToString(); Building = TDAss[4].Text.ToString(); Total = TDAss[7].Text.ToString(); Increment++; } else if (Ok == "Allowed" && Increment == 1) { AssessedLand = TDAss[1].Text.ToString(); AssessedBuilding = TDAss[4].Text.ToString(); AssessedTotal = TDAss[7].Text.ToString(); Increment++; } else if (Ok == "Allowed Second" && IncrementSecond == 0 || IncrementSecond == 1) { IncrementSecond++; } else if (Ok == "Allowed Second" && IncrementSecond == 2) { Homestead = TDAss[1].Text.ToString(); IncrementSecond++; } else if (Ok == "Allowed Second" && IncrementSecond == 3) { OwnerOccupancyCredit = TDAss[1].Text.ToString(); IncrementSecond++; } if (IncrementSecond == 4) { break; } if (row1.Text.Contains("SUMMARY ALL CARDS FOR PARCEL " + parcelNumber.Replace("-", ""))) { Ok = "Allowed"; } if (row1.Text.Contains(Year + " SUMMARY INFORMATION FOR PARCEL " + parcelNumber.Replace("-", ""))) { Ok = "Allowed Second"; } } string AssessmentData = Year + "~" + Land + "~" + Building + "~" + Total + "~" + AssessedLand + "~" + AssessedBuilding + "~" + AssessedTotal + "~" + Homestead + "~" + OwnerOccupancyCredit; gc.insert_date(orderNumber, parcelNumber, 124, AssessmentData, 1, DateTime.Now); //driver.FindElement(By.LinkText("Tax Info")).SendKeys(Keys.Enter); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); driver.SwitchTo().DefaultContent(); IWebElement iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frame[1]")); driver.SwitchTo().Frame(iframeElement1); IWebElement ISpan1 = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td/a")); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", ISpan1); Thread.Sleep(2000); driver.SwitchTo().DefaultContent(); gc.CreatePdf(orderNumber, parcelNumber, "Tax Information", driver, "OH", "Summit"); IWebElement iframeElement2 = driver.FindElement(By.XPath("/html/frameset/frame[2]")); driver.SwitchTo().Frame(iframeElement2); string DeliqTax = "", Adjustment = "", DecemberIntrest = "", AugustInterest = "", TaxTotal = "", RealEstate = "", SpecialAssessment = "", TotalPaid = "", PaidAmount = "", TotalDue = "", M03StreetLightSweeping = "", DeliqTax2nd = "", Adjustment2nd = "", DecemberIntrest2nd = "", AugustInterest2nd = "", TaxTotal2nd = "", RealEstate2nd = "", SpecialAssessment2nd = "", TotalPaid2nd = "", PaidAmount2nd = "", TotalDue2nd = "", M03StreetLightSweeping2nd = "", Adjustment_NonDeliq = "", Adjustment_NonDeliq2nd = "", TotalNondeliq = "", TotalNondeliq2nd, Paymentdate = "", Paymentdate2nd = ""; DeliqTax = driver.FindElement(By.XPath("/html/body/table/tbody/tr[34]/td[2]/font")).Text; DeliqTax2nd = "_"; Adjustment = driver.FindElement(By.XPath("/html/body/table/tbody/tr[35]/td[2]/font")).Text; Adjustment2nd = "_"; DecemberIntrest = driver.FindElement(By.XPath("/html/body/table/tbody/tr[36]/td[2]/font")).Text; DecemberIntrest2nd = "_"; AugustInterest = driver.FindElement(By.XPath("/html/body/table/tbody/tr[37]/td[2]/font")).Text; AugustInterest2nd = "_"; TaxTotal = driver.FindElement(By.XPath("/html/body/table/tbody/tr[38]/td[2]/font/b")).Text; TaxTotal2nd = "_"; RealEstate = driver.FindElement(By.XPath("/html/body/table/tbody/tr[40]/td[2]/font")).Text; RealEstate2nd = driver.FindElement(By.XPath("/html/body/table/tbody/tr[40]/td[3]/font")).Text; SpecialAssessment = driver.FindElement(By.XPath("/html/body/table/tbody/tr[40]/td[2]/font")).Text; SpecialAssessment2nd = driver.FindElement(By.XPath("/html/body/table/tbody/tr[41]/td[3]/font")).Text; Adjustment_NonDeliq = driver.FindElement(By.XPath("/html/body/table/tbody/tr[42]/td[2]/font")).Text; Adjustment_NonDeliq2nd = driver.FindElement(By.XPath("/html/body/table/tbody/tr[42]/td[3]/font")).Text; try { TotalPaid = driver.FindElement(By.XPath("/html/body/table/tbody/tr[49]/td[2]/font")).Text; TotalPaid2nd = driver.FindElement(By.XPath("/html/body/table/tbody/tr[49]/td[3]/font/b")).Text; TotalNondeliq = driver.FindElement(By.XPath("/html/body/table/tbody/tr[43]/td[2]/font/b")).Text; TotalNondeliq2nd = driver.FindElement(By.XPath("/html/body/table/tbody/tr[43]/td[3]/font/b")).Text; Paymentdate = driver.FindElement(By.XPath("/html/body/table/tbody/tr[46]/td[1]/font")).Text + "&" + driver.FindElement(By.XPath("/html/body/table/tbody/tr[47]/td[1]/font")).Text; Paymentdate2nd = "_"; PaidAmount = driver.FindElement(By.XPath("/html/body/table/tbody/tr[46]/td[3]/font")).Text + "&" + driver.FindElement(By.XPath("/html/body/table/tbody/tr[47]/td[3]/font")).Text; PaidAmount2nd = "_"; M03StreetLightSweeping = driver.FindElement(By.XPath("/html/body/table/tbody/tr[55]/td[5]/font")).Text; M03StreetLightSweeping2nd = driver.FindElement(By.XPath("/html/body/table/tbody/tr[55]/td[6]/font")).Text; } catch { } try { TotalPaid = driver.FindElement(By.XPath("/html/body/table/tbody/tr[48]/td[2]/font")).Text; TotalPaid2nd = driver.FindElement(By.XPath("/html/body/table/tbody/tr[48]/td[3]/font/b")).Text; TotalNondeliq = driver.FindElement(By.XPath("/html/body/table/tbody/tr[43]/td[2]/font/b")).Text; TotalNondeliq2nd = driver.FindElement(By.XPath("/html/body/table/tbody/tr[43]/td[3]/font/b")).Text; Paymentdate = driver.FindElement(By.XPath("/html/body/table/tbody/tr[46]/td[1]/font")).Text; Paymentdate2nd = "_"; PaidAmount = driver.FindElement(By.XPath("/html/body/table/tbody/tr[46]/td[3]/font")).Text; PaidAmount2nd = "_"; M03StreetLightSweeping = driver.FindElement(By.XPath("/html/body/table/tbody/tr[54]/td[5]/font")).Text; M03StreetLightSweeping2nd = driver.FindElement(By.XPath("/html/body/table/tbody/tr[54]/td[6]/font")).Text; } catch { } try { M03StreetLightSweeping = ""; M03StreetLightSweeping2nd = ""; } catch { } IWebElement TaxInfotable = driver.FindElement(By.XPath("/html/body/table/tbody")); IList <IWebElement> TaxInfotRow = TaxInfotable.FindElements(By.TagName("tr")); IList <IWebElement> TDTax; foreach (IWebElement row1 in TaxInfotRow) { TDTax = row1.FindElements(By.TagName("td")); if (TDTax[0].Text == "FH/SH AMOUNT DUE:") { TotalDue = TDTax[1].Text; TotalDue2nd = TDTax[2].Text; break; } } address = PropertyAddress; string TaxInformation1 = owner + "~" + address + "~" + Year + "~" + "1st Half" + "~" + DeliqTax + "~" + Adjustment + "~" + DecemberIntrest + "~" + AugustInterest + "~" + TaxTotal + "~" + RealEstate + "~" + SpecialAssessment + "~" + Adjustment_NonDeliq + "~" + TotalNondeliq + "~" + Paymentdate.Replace("\r\n", "") + "~" + PaidAmount.Replace("\r\n", "") + "~" + TotalPaid + "~" + TotalDue + "~" + M03StreetLightSweeping; string TaxInformation2 = owner + "~" + address + "~" + Year + "~" + "2nd Half" + "~" + DeliqTax2nd + "~" + Adjustment2nd + "~" + DecemberIntrest2nd + "~" + AugustInterest2nd + "~" + TaxTotal2nd + "~" + RealEstate2nd + "~" + SpecialAssessment2nd + "~" + Adjustment_NonDeliq2nd + "~" + TotalNondeliq + "~" + Paymentdate2nd.Replace("\r\n", "") + "~" + PaidAmount2nd.Replace("\r\n", "") + "~" + TotalPaid2nd + "~" + TotalDue2nd + "~" + M03StreetLightSweeping2nd; gc.insert_date(orderNumber, parcelNumber, 130, TaxInformation1, 1, DateTime.Now); gc.insert_date(orderNumber, parcelNumber, 130, TaxInformation2, 1, DateTime.Now); var split1 = TaxInformation1.Split('~'); var split2 = TaxInformation2.Split('~'); string TaxDisDate = "", Settle = "", ProjNumber = "", ActionorCode = "", FisrtHalf = "", Secondhalf = "", Allowed = ""; foreach (IWebElement row1 in TaxInfotRow) { int I = 0; TDTax = row1.FindElements(By.TagName("td")); //if (TDTax[0].Text == "2017 TAX BILL DETAILS FOR PARCEL " + parcelNumber.Replace("-", "") || Allowed == "OK") //{ // if (TDTax[0].Text.Contains("TAX BILL DETAILS FOR PARCEL ")) // { // } // Allowed = "OK"; // if (TDTax[0].Text.Trim() != "DATE" && TDTax[0].Text != "2017 TAX BILL DETAILS FOR PARCEL " + parcelNumber.Replace("-", "")) // { if (TDTax[0].Text.Contains("TAX BILL DETAILS FOR PARCEL ") || Allowed == "OK") { Allowed = "OK"; if (TDTax[0].Text.Trim() != "DATE" && !row1.Text.Contains("TAX BILL DETAILS FOR PARCEL")) { TaxDisDate = TDTax[0].Text; Settle = TDTax[1].Text; ProjNumber = TDTax[2].Text; ActionorCode = TDTax[3].Text; FisrtHalf = TDTax[4].Text; Secondhalf = TDTax[5].Text; string[] stringSeparators = new string[] { "\r\n" }; string[] lines = TaxDisDate.Split(stringSeparators, StringSplitOptions.None); string[] lines2 = Settle.Split(stringSeparators, StringSplitOptions.None); string[] lines3 = ProjNumber.Split(stringSeparators, StringSplitOptions.None); string[] lines4 = ActionorCode.Split(stringSeparators, StringSplitOptions.None); string[] lines5 = FisrtHalf.Split(stringSeparators, StringSplitOptions.None); string[] lines6 = Secondhalf.Split(stringSeparators, StringSplitOptions.None); foreach (var item in lines) { TaxDisDate = lines[I]; try { Settle = lines2[I]; } catch { Settle = ""; } try { ProjNumber = lines3[I]; } catch { ProjNumber = ""; } ActionorCode = lines4[I]; FisrtHalf = lines5[I]; Secondhalf = lines6[I]; string TaxDistributiondata = TaxDisDate + "~" + Settle + "~" + ProjNumber + "~" + ActionorCode + "~" + FisrtHalf + "~" + Secondhalf; gc.insert_date(orderNumber, parcelNumber, 132, TaxDistributiondata, 1, DateTime.Now); I++; } Allowed = ""; } } if (TDTax[0].Text == "DELQ REAL ESTATE & ASSESSMENT TAX:") { break; } } string LUC = "", Class = "", OwnerOccupancycretit = "", FlagHomestead = "", CAUV = "", Forest = "", stub = "", Certyear = "", DeloqContract = "", Bankruptcy = ""; LUC = driver.FindElement(By.XPath("/html/body/table/tbody/tr[3]/td[3]/font")).Text; Class = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[2]/font")).Text; OwnerOccupancycretit = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[2]/font")).Text; FlagHomestead = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td[2]/font")).Text; CAUV = driver.FindElement(By.XPath("/html/body/table/tbody/tr[7]/td[5]/font")).Text; Forest = driver.FindElement(By.XPath("/html/body/table/tbody/tr[8]/td[5]/font")).Text; stub = driver.FindElement(By.XPath("/html/body/table/tbody/tr[9]/td[5]/font")).Text; Certyear = driver.FindElement(By.XPath("/html/body/table/tbody/tr[10]/td[5]/font")).Text; DeloqContract = driver.FindElement(By.XPath("/html/body/table/tbody/tr[11]/td[5]/font")).Text; Bankruptcy = driver.FindElement(By.XPath("/html/body/table/tbody/tr[12]/td[5]/font")).Text; string FlagDetail = LUC + "~" + Class + "~" + OwnerOccupancycretit + "~" + FlagHomestead + "~" + CAUV + "~" + Forest + "~" + stub + "~" + Certyear + "~" + DeloqContract + "~" + Bankruptcy; gc.insert_date(orderNumber, parcelNumber, 133, FlagDetail, 1, DateTime.Now); driver.SwitchTo().DefaultContent(); driver.SwitchTo().Frame(iframeElement1); try { ISpan1 = driver.FindElement(By.XPath("/html/body/table/tbody/tr[15]/td/a")); } catch { } try { if (ISpan1.Text.Trim() == "") { ISpan1 = driver.FindElement(By.XPath("/html/body/table/tbody/tr[16]/td/a")); } } catch { } js1.ExecuteScript("arguments[0].click();", ISpan1); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Tax History", driver, "OH", "Summit"); string InstallmetTaxhis = "", Taxyear = "", taxAmount = "", Payment = "", TaxDue = "", taxAmount2nd = "", Payment2nd = "", TaxDue2nd = ""; driver.SwitchTo().DefaultContent(); driver.SwitchTo().Frame(iframeElement2); IWebElement TaxHistoryBody = driver.FindElement(By.XPath("/html/body")); IList <IWebElement> TaxHistoryTable = TaxHistoryBody.FindElements(By.TagName("table")); IList <IWebElement> TDtaxhistory; int j = 3; foreach (IWebElement row1 in TaxHistoryTable) { try { Taxyear = driver.FindElement(By.XPath("/html/body/table[" + j + "]/tbody/tr[2]/td[1]")).Text; taxAmount = driver.FindElement(By.XPath("/html/body/table[" + j + "]/tbody/tr[3]/td[2]")).Text; taxAmount2nd = driver.FindElement(By.XPath("/html/body/table[" + j + "]/tbody/tr[3]/td[3]")).Text; Payment = driver.FindElement(By.XPath("/html/body/table[" + j + "]/tbody/tr[4]/td[2]")).Text; Payment2nd = driver.FindElement(By.XPath("/html/body/table[" + j + "]/tbody/tr[4]/td[3]")).Text; TaxDue = driver.FindElement(By.XPath("/html/body/table[" + j + "]/tbody/tr[5]/td[2]/font")).Text; TaxDue2nd = driver.FindElement(By.XPath("/html/body/table[" + j + "]/tbody/tr[5]/td[3]/font")).Text; string TaxHistoryData1 = "1St Half" + "~" + Taxyear + "~" + taxAmount + "~" + Payment + "~" + TaxDue; string TaxHistoryData2 = "2nd Half" + "~" + Taxyear + "~" + taxAmount2nd + "~" + Payment2nd + "~" + TaxDue2nd; gc.insert_date(orderNumber, parcelNumber, 134, TaxHistoryData1, 1, DateTime.Now); gc.insert_date(orderNumber, parcelNumber, 134, TaxHistoryData2, 1, DateTime.Now); j++; } catch { break; } } string TaxpayPaiddate = "", Taxpaytaxamount = "", Type = "", Bseq = ""; driver.SwitchTo().DefaultContent(); driver.SwitchTo().Frame(iframeElement1); try { ISpan1 = driver.FindElement(By.LinkText("PAYMENTS")); } catch { } try { if (ISpan1.Text == "" && ISpan1.Text.Contains("Payments")) { ISpan1 = driver.FindElement(By.LinkText("Payments")); } } catch { } //string CHK = driver.FindElement(By.XPath("/html/body/table/tbody/tr[16]/td/a")).Text; //string CHK1 = driver.FindElement(By.XPath("/html/body/table/tbody/tr[17]/td/a")).Text; //try //{ // if (CHK.Contains("Payments")) // { ISpan1 = driver.FindElement(By.XPath("/html/body/table/tbody/tr[16]/td/a")); } //} //catch { } //try //{ // if (CHK1.Contains("PAYMENTS")) // { // ISpan1 = driver.FindElement(By.XPath("/html/body/table/tbody/tr[17]/td/a")); // } //} //catch { } js1.ExecuteScript("arguments[0].click();", ISpan1); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Payment Deatil", driver, "OH", "Summit"); driver.SwitchTo().DefaultContent(); driver.SwitchTo().Frame(iframeElement2); IWebElement TaxPayMenttable = driver.FindElement(By.XPath("/html/body/table[3]/tbody")); IList <IWebElement> TaxpaymentTR = TaxPayMenttable.FindElements(By.TagName("tr")); IList <IWebElement> TaxPaymentTD; foreach (IWebElement row1 in TaxpaymentTR) { TaxPaymentTD = row1.FindElements(By.TagName("td")); if (TaxPaymentTD.Count != 0) { TaxpayPaiddate = TaxPaymentTD[0].Text; Taxpaytaxamount = TaxPaymentTD[1].Text; Type = TaxPaymentTD[2].Text; Bseq = TaxPaymentTD[3].Text; string TaxPayment = TaxpayPaiddate + "~" + Taxpaytaxamount + "~" + Type + "~" + Bseq; gc.insert_date(orderNumber, parcelNumber, 136, TaxPayment, 1, DateTime.Now); } } driver.SwitchTo().DefaultContent(); driver.SwitchTo().Frame(iframeElement1); String Parent_Window = driver.CurrentWindowHandle; IWebElement view = driver.FindElement(By.XPath("/html/body/table/tbody/tr[7]/td/a")); string url = view.GetAttribute("href"); //string billpdf = outputPath + "Tax_bill.pdf"; //System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; //WebClient downloadpdf = new WebClient(); //downloadpdf.DownloadFile(url, billpdf); gc.downloadfile(url, orderNumber, parcelNumber, "Tax_bill.pdf", "OH", "Summit"); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "OH", "Summit", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "OH", "Summit"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public ElementStillVisibleException(By by, WebDriverTest ext) { string message = this.BuildElementStillVisibleExceptionText(by, ext); throw new ApplicationException(message); }
public string FTP_Forsyth(string streetno, string direction, string streetname, string streetype, string unitno, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; List <string> multiparcel = new List <string>(); string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://tellus.co.forsyth.nc.us/lrcpwa/SearchProperty.aspx"); Thread.Sleep(2000); try { if (searchType == "titleflex") { string address = streetno + " " + direction + " " + streetname + " " + streetype + " " + unitno; gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "NC", "Forsyth"); 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_NCForsyth"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.XPath("//*[@id='panelSummary']/li[2]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_StreetNumberTextBox")).SendKeys(streetno); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_StreetNameTextBox")).SendKeys(streetname); gc.CreatePdf_WOP(orderNumber, "SearchAddressBefore", driver, "NC", "Forsyth"); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_AddressButton")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "SearchAddressAfter", driver, "NC", "Forsyth"); Thread.Sleep(2000); string mul = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/div/div/div/div/table/tbody/tr[1]/td[2]/span")).Text; mul = WebDriverTest.Before(mul, "Records").Trim(); int i, j = 2; if ((mul != "1") && (mul != "0")) { int iRowsCount = driver.FindElements(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_streetDictionaryResultsGridView']/tbody/tr")).Count; for (i = 2; i <= iRowsCount; i++) { if (j >= 2 && i != 2) { IWebElement checkbox1 = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_streetDictionaryResultsGridView_ctl0" + j + "_CheckBox1']")); // checkbox.Clear(); checkbox1.Click(); Thread.Sleep(1000); j++; } IWebElement checkbox = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_streetDictionaryResultsGridView_ctl0" + i + "_CheckBox1']")); // checkbox.Clear(); checkbox.Click(); Thread.Sleep(1000); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_StreetDictionarySearchButton")).SendKeys(Keys.Enter); Thread.Sleep(1000); string mul1 = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/div/div/div/div/table/tbody/tr[1]/td[2]/span")).Text; mul1 = GlobalClass.Before(mul1, " Records Matched Search Criteria").Trim(); int count = Convert.ToInt32(mul1); if (count > 0) { //multi parcel gc.CreatePdf_WOP(orderNumber, "Multiparcel Result", driver, "NC", "Forsyth"); IWebElement tbmulti2 = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_ParcelStreetsGridView']/tbody")); IList <IWebElement> TRmulti2 = tbmulti2.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti2; int rescount = TRmulti2.Count; foreach (IWebElement row in TRmulti2) { TDmulti2 = row.FindElements(By.TagName("td")); if (TDmulti2.Count != 0 && TDmulti2[1].Text.Trim() != "" && !row.Text.Contains("Pfx") && TDmulti2.Count == 9) { IWebElement multiparcellink = TDmulti2[0].FindElement(By.TagName("a")); string strmulti = multiparcellink.GetAttribute("href"); multiparcel.Add(strmulti); string multi1 = TDmulti2[1].Text + " " + TDmulti2[4].Text + "~" + TDmulti2[8].Text; if (TDmulti2[1].Text == streetno || streetno == "0") { gc.insert_date(orderNumber, TDmulti2[0].Text, 616, multi1, 1, DateTime.Now); } // Owner~address } } } driver.Navigate().Back(); Thread.Sleep(1000); } if (multiparcel.Count > 1) { HttpContext.Current.Session["multiparcel_Forsyth"] = "Yes"; driver.Quit(); return("MultiParcel"); } else { foreach (string real in multiparcel) { driver.Navigate().GoToUrl(real); Thread.Sleep(4000); } } } else { try { driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_ParcelStreetsGridView']/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); } catch { } } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/div/div/div/div/table/tbody/tr[1]/td[2]/span")).Text; if (nodata.Contains("0 Records Matched Search Criteria")) { HttpContext.Current.Session["Nodata_NCForsyth"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.XPath("//*[@id='panelSummary']/li[4]/a")).Click(); Thread.Sleep(4000); IWebElement text = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_PINNumberTextBox']")); parcelNumber = parcelNumber.Replace("-", ""); text.Clear(); IWebElement add = driver.FindElement(By.XPath("//*[@id='PIN']/div/div/div/center/table/tbody/tr[2]/td/div/div")); IList <IWebElement> MultiOwnerRow = add.FindElements(By.TagName("input")); foreach (IWebElement row1 in MultiOwnerRow) { row1.SendKeys(parcelNumber); } gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search Input Passed", driver, "NC", "Forsyth"); // text.SendKeys(parcelNumber); driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_PinButton']")).Click(); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Parcel Search Result", driver, "NC", "Forsyth"); try { //No Data Found string nodata = driver.FindElement(By.Id("ctl00_PageHeader1_ErrorMessageLabel")).Text; if (nodata.Contains("No Records Found")) { HttpContext.Current.Session["Nodata_NCForsyth"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "ownername") { string firstname = "", lastname = ""; if (ownername.Contains(' ')) { string[] name = ownername.Split(' '); firstname = name[0]; lastname = name[1]; if (!ownername.Contains(',')) { ownername = firstname + "," + lastname; } } driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_OwnerTextBox']")).SendKeys(ownername); driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_OwnerButton")).SendKeys(Keys.Enter); Thread.Sleep(2000); string mul = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/div/div/div/div/table/tbody/tr[1]/td[2]/span")).Text; mul = WebDriverTest.Before(mul, "Records").Trim(); if ((mul != "1") && (mul != "0")) { //multi parcel gc.CreatePdf_WOP(orderNumber, "Multiparcel Result", driver, "NC", "Forsyth"); IWebElement tbmulti = driver.FindElement(By.XPath(" //*[@id='ctl00_ContentPlaceHolder1_OwnerSearchResultsGridView']/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); int TRmulticount = TRmulti.Count; int maxCheck = 0; IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (maxCheck <= 25) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { if (maxCheck <= 15) { string multi1 = TDmulti[3].Text + "~" + TDmulti[2].Text; gc.insert_date(orderNumber, TDmulti[1].Text, 616, multi1, 1, DateTime.Now); } } maxCheck++; } } if (TRmulti.Count > 25) { HttpContext.Current.Session["multiParcel_Forsyth_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } else { HttpContext.Current.Session["multiparcel_Forsyth"] = "Yes"; } driver.Quit(); return("MultiParcel"); } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/div/div/div/div/table/tbody/tr[1]/td[2]/span")).Text; if (nodata.Contains("0 Records Matched Search Criteria")) { HttpContext.Current.Session["Nodata_NCForsyth"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Property Details string TaxYear = "", REID = "", ParcelID = "", PropertyOwner = "", PropertyAddress = "", LegalDescription = "", MailingAddress = "", OldMapNumber = "", MarketArea = "", Township = "", PlanningJurisdiction = "", City = "", FireDistrict = "", SpecialDistrict = "", PropertyClass = "", YearBuilt = ""; //driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_ParcelStreetsGridView']/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); //Thread.Sleep(2000); string propbulktext = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[3]/table/tbody/tr[2]/td[2]/div[1]/div/div/div[2]/div[1]/div[1]/table/tbody/tr[1]/td/table")).Text; TaxYear = driver.FindElement(By.Id("ctl00_PageHeader1_TaxYear")).Text; REID = driver.FindElement(By.Id("ctl00_PageHeader1_ReidLabelInfo")).Text; ParcelID = driver.FindElement(By.Id("ctl00_PageHeader1_PinLabelInfo")).Text; PropertyOwner = driver.FindElement(By.XPath("//*[@id='ctl00_PageHeader1_DetailsView1']/tbody/tr/td")).Text; PropertyAddress = driver.FindElement(By.Id("ctl00_PageHeader1_LocationAddressLabelInfo")).Text; LegalDescription = driver.FindElement(By.Id("ctl00_PageHeader1_PropertyDescriptionLabelInfo")).Text; MailingAddress = driver.FindElement(By.Id("ctl00_PageHeader1_DetailsView4")).Text.Replace("\r\n", " ").Trim(); gc.CreatePdf(orderNumber, ParcelID, "Property and Assessment Details", driver, "NC", "Forsyth"); string bulktext = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_DetailsView5")).Text; OldMapNumber = gc.Between(bulktext, "Old Map# ", "Market Area ").Trim(); MarketArea = gc.Between(bulktext, "Market Area ", "Township ").Trim(); Township = gc.Between(bulktext, "Township ", "Planning Jurisdiction").Trim(); PlanningJurisdiction = gc.Between(bulktext, "Planning Jurisdiction", "City").Trim(); City = gc.Between(bulktext, "City", "Fire District").Trim(); FireDistrict = gc.Between(bulktext, "Fire District", "Spec District").Trim(); SpecialDistrict = gc.Between(bulktext, "Spec District", "Land Class").Trim(); PropertyClass = gc.Between(bulktext, "Land Class", "History REID 1").Replace("\r\n", " ").Trim(); driver.FindElement(By.Id("ctl00_PageHeader1_BuildingsHyperLink")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Building Details", driver, "NC", "Forsyth"); string yearbuilt = ""; try { yearbuilt = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_DetailsView4")).Text; YearBuilt = gc.Between(yearbuilt, "Year Built", "Additions").Replace("\r\n", "").Trim(); } catch { } string propertydetails = TaxYear + "~" + REID + "~" + PropertyOwner + "~" + PropertyAddress + "~" + LegalDescription + "~" + MailingAddress + "~" + OldMapNumber + "~" + MarketArea + "~" + Township + "~" + PlanningJurisdiction + "~" + City + "~" + FireDistrict + "~" + SpecialDistrict + "~" + PropertyClass + "~" + YearBuilt; gc.insert_date(orderNumber, ParcelID, 603, propertydetails, 1, DateTime.Now); //Assessment Details string currentHandle = driver.CurrentWindowHandle; IWebElement element = driver.FindElement(By.LinkText("Print Property Info")); PopupWindowFinder finder = new PopupWindowFinder(driver); string popupWindowHandle = finder.Click(element); driver.SwitchTo().Window(popupWindowHandle); gc.CreatePdf(orderNumber, ParcelID, "Assessment Details", driver, "NC", "Forsyth"); Thread.Sleep(3000); IWebElement asstableElement = driver.FindElement(By.XPath("//*[@id='headerPlaceholder']/div/div[4]/div/table/tbody")); IList <IWebElement> asstableElementRow = asstableElement.FindElements(By.TagName("tr")); IList <IWebElement> asstableElementRowTD; IList <IWebElement> asstableElementRowTH; var assesscolumn = ""; var assessvalue = ""; foreach (IWebElement rowid in asstableElementRow) { asstableElementRowTD = rowid.FindElements(By.TagName("td")); asstableElementRowTH = rowid.FindElements(By.TagName("th")); if (asstableElementRowTD.Count != 0 && !rowid.Text.Contains("Property Value") && rowid.Text != "") { if (asstableElementRowTD[0].Text != " ") { assesscolumn += asstableElementRowTH[0].Text + "~"; assessvalue += asstableElementRowTD[0].Text + "~"; } } } assesscolumn = assesscolumn.TrimEnd('~'); assessvalue = assessvalue.TrimEnd('~'); DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + assesscolumn + "' where Id = '" + 605 + "'"); gc.insert_date(orderNumber, ParcelID, 605, assessvalue, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Information Details driver.Navigate().GoToUrl("http://tellus.co.forsyth.nc.us/PublicWebAccess/BillSearchResults.aspx?"); Thread.Sleep(2000); string Par = ".000"; parcelNumber = ParcelID + Par; IWebElement ISelect = driver.FindElement(By.Id("lookupCriterion")); SelectElement sSelect = new SelectElement(ISelect); sSelect.SelectByText("Parcel Number"); driver.FindElement(By.Id("txtSearchString")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, ParcelID, "Tax Search Input Passed", driver, "NC", "Forsyth"); driver.FindElement(By.XPath("//*[@id='btnGo']")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Tax Search Result", driver, "NC", "Forsyth"); //Tax Histry Details IWebElement tdHistry = driver.FindElement(By.XPath("//*[@id='tblSearchResults']")); IList <IWebElement> TrHistry = tdHistry.FindElements(By.TagName("tr")); IList <IWebElement> TDHistry; IList <IWebElement> TDHistryth; foreach (IWebElement row in TrHistry) { TDHistry = row.FindElements(By.TagName("td")); TDHistryth = row.FindElements(By.TagName("tr")); if (!row.Text.Contains("Bill #")) { if (TDHistry.Count == 7) { string TaxHistryDetails = TDHistry[0].Text + "~" + TDHistry[1].Text + "~" + TDHistry[2].Text + "~" + TDHistry[3].Text + "~" + TDHistry[4].Text + "~" + TDHistry[5].Text + "~" + TDHistry[6].Text; gc.insert_date(orderNumber, ParcelID, 612, TaxHistryDetails, 1, DateTime.Now); } else if (row.Text.Contains("Total")) { string total = GlobalClass.After(row.Text, "Total:"); string TaxHistryDetails = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "Total" + "~" + total; gc.insert_date(orderNumber, ParcelID, 612, TaxHistryDetails, 1, DateTime.Now); } } } List <string> strTaxRealestate = new List <string>(); try { IWebElement ITaxinfoDetails = driver.FindElement(By.XPath("//*[@id='G_dgResults']/tbody")); IList <IWebElement> ITaxinfoRealRow = ITaxinfoDetails.FindElements(By.TagName("tr")); IList <IWebElement> ITaxinfoRealTd; foreach (IWebElement ItaxinfoReal in ITaxinfoRealRow) { ITaxinfoRealTd = ItaxinfoReal.FindElements(By.TagName("td")); if (ITaxinfoRealTd.Count != 0 && strTaxRealestate.Count < 3) { IWebElement ITaxBillCount = ITaxinfoRealTd[0].FindElement(By.TagName("a")); string strTaxReal = ITaxBillCount.GetAttribute("href"); strTaxRealestate.Add(strTaxReal); } } } catch { } foreach (string real in strTaxRealestate) { string TaxMailingAddress = "", RealValue = "", DeferredValue = "", UseValue = "", PersonalValue = "", ExemptExclusion = "", TotalAssessedValue = "", BillTaxYear = "", PropertyTax = "", BillStatus = "", BillFlag = "", BillNumber = "", OldBillNumber = "", OldAccountNumber = "", DueDate = "", InterestBegins = "" , InterestAmount = "", TotalBilled = "", GoodThroughDate = "", LastPaymentDate = "", CurrentDue = "", TaxAuthority = "", DiscountPeriod = ""; driver.Navigate().GoToUrl(real); Thread.Sleep(4000); if (strTaxRealestate.Count != 0 && strTaxRealestate.Count == 3) { try { BillFlag = driver.FindElement(By.Id("lblBillFlag")).Text; if (BillFlag.Contains("DELINQUENT")) { IWebElement dt = driver.FindElement(By.Id("interestCalDate_input")); string date = dt.GetAttribute("value"); DateTime G_Date = Convert.ToDateTime(date); string dateChecking = DateTime.Now.ToString("MM") + "/15/" + DateTime.Now.ToString("yyyy"); if (G_Date < Convert.ToDateTime(dateChecking)) { //end of the month date = new DateTime(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM"))), DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(DateTime.Now.ToString("MM")))).ToString("MM/dd/yyyy"); } else if (G_Date > Convert.ToDateTime(dateChecking)) { // nextEndOfMonth if ((Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM"))) < 12)) { date = new DateTime(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM")) + 1), DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(DateTime.Now.ToString("MM")) + 1)).ToString("MM/dd/yyyy"); } else { int nxtYr = Convert.ToInt16(DateTime.Now.ToString("yyyy")) + 1; date = new DateTime(nxtYr, 1, DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), 1)).ToString("MM/dd/yyyy"); } } Thread.Sleep(2000); dt.Clear(); GoodThroughDate = date; driver.FindElement(By.Id("interestCalDate_input")).SendKeys(date); driver.FindElement(By.Id("btnRecalInterest")).SendKeys(Keys.Enter); //*[@id=""] } else { GoodThroughDate = ""; } TaxMailingAddress = driver.FindElement(By.Id("lblMailingAddr")).Text; RealValue = driver.FindElement(By.Id("lblRealOriginal")).Text; DeferredValue = driver.FindElement(By.Id("lblDeferredOriginal")).Text; UseValue = driver.FindElement(By.Id("lblUseOriginal")).Text; PersonalValue = driver.FindElement(By.Id("lblPersonalOriginal")).Text; ExemptExclusion = driver.FindElement(By.Id("lblExemptOriginal")).Text; TotalAssessedValue = driver.FindElement(By.Id("lblTotalValue")).Text; BillTaxYear = driver.FindElement(By.Id("lblBill")).Text; BillTaxYear = BillTaxYear.Substring(11, 4); gc.CreatePdf(orderNumber, ParcelID, "Tax" + BillTaxYear, driver, "NC", "Forsyth"); PropertyTax = driver.FindElement(By.Id("lblPropertyType")).Text; BillStatus = driver.FindElement(By.Id("lblBillStatus")).Text; BillNumber = driver.FindElement(By.Id("lblBill")).Text; OldBillNumber = driver.FindElement(By.Id("lblLegacyBillNum")).Text; OldAccountNumber = driver.FindElement(By.Id("lblLegacyAccountNum")).Text; DueDate = driver.FindElement(By.Id("lblDueDate")).Text; InterestBegins = driver.FindElement(By.Id("lblInterest")).Text; InterestAmount = driver.FindElement(By.Id("lblInterestAmt")).Text; TotalBilled = driver.FindElement(By.Id("lblTotalAmountDue")).Text; LastPaymentDate = driver.FindElement(By.Id("lblLastPaymentDate")).Text; CurrentDue = driver.FindElement(By.Id("lblCurrentDue")).Text; string discounttext = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td[2]/table[4]/tbody/tr/td/table")).Text; if (discounttext.Contains("Discount Period")) { DiscountPeriod = gc.Between(discounttext, "Discount Period:", "Correct if paid by").Replace("\r\n", "").Trim(); } //DiscountPeriod= driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td[2]/table[4]/tbody/tr/td/table/tbody/tr[1]/td[2]/font")).Text; TaxAuthority = "Forsyth County Tax Collector P.O.Box 82 Winston - Salem, NC 27102"; string TaxInformationdetails = TaxMailingAddress + "~" + RealValue + "~" + DeferredValue + "~" + UseValue + "~" + PersonalValue + "~" + ExemptExclusion + "~" + TotalAssessedValue + "~" + BillTaxYear + "~" + PropertyTax + "~" + BillStatus + "~" + BillFlag + "~" + BillNumber + "~" + OldBillNumber + "~" + OldAccountNumber + "~" + DueDate + "~" + InterestBegins + "~" + InterestAmount + "~" + TotalBilled + "~" + LastPaymentDate + "~" + CurrentDue + "~" + DiscountPeriod + "~" + GoodThroughDate + "~" + TaxAuthority; gc.insert_date(orderNumber, ParcelID, 610, TaxInformationdetails, 1, DateTime.Now); } catch { } } //Tax/Fee Distribution Details IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='dgShowResultRate']/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { TDmulti = row.FindElements(By.TagName("td")); if (!row.Text.Contains("Rate")) { if (TDmulti.Count == 4) { string TaxDistribution = BillTaxYear + "~" + TDmulti[0].Text + "~" + TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, ParcelID, 611, TaxDistribution, 1, DateTime.Now); } } } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Quit(); gc.mergpdf(orderNumber, "NC", "Forsyth"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "NC", "Forsyth", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_Collier(string Address, string parcelNumber, string ownername, string searchType, string orderNumber, string directParcel) { string strBill = "-", strBalance = "-", strBillDate = "-", strBillPaid = "-", strFBill = "-", strFBalance = "-", strFBillDate = "-", strFBillPaid = "-"; string TaxYear = "", TaxAmount = "", PaidAmount = "", ReceiptNumber = "", Account_number = "", Millage_Code = "", Millage_rate = ""; GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "", AssessTakenTime = "", TaxTakentime = "", CityTaxtakentime = ""; string TotaltakenTime = ""; List <string> strTaxRealestate = new List <string>(); var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { string AlterNateID = "", PropertyAddress = "", owner = ""; string[] stringSeparators1 = new string[] { "\r\n" }; List <string> listurl = new List <string>(); try { StartTime = DateTime.Now.ToString("HH:mm:ss"); //if (searchType == "titleflex") //{ // gc.TitleFlexSearch(orderNumber, parcelNumber, ownername, Address, "IN", "Hamilton"); // if (GlobalClass.TitleFlex_Search == "Yes") // { // return "MultiParcel"; // } // else // { // string strTitleAssess = GlobalClass.TitleFlexAssess; // parcelNumber = GlobalClass.titleparcel; // searchType = "parcel"; // } //} if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, parcelNumber, "", Address, "FL", "Collier"); 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_FLCollier"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://www.collierappraiser.com/"); Thread.Sleep(2000); IWebElement iframeElement = driver.FindElement(By.XPath("/html/frameset/frame")); //now use the switch command driver.SwitchTo().Frame(iframeElement); IWebElement iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frame[2]")); //now use the switch command driver.SwitchTo().Frame(iframeElement1); driver.FindElement(By.XPath("//*[@id='AutoNumber3']/tbody/tr/td[3]/table/tbody/tr[4]/td/a")).Click(); Thread.Sleep(10000); driver.SwitchTo().DefaultContent(); Thread.Sleep(2000); IWebElement iframeElement2 = driver.FindElement(By.XPath("//*[@id='rbottom']")); //now use the switch command driver.SwitchTo().Frame(iframeElement2); Thread.Sleep(2000); //now use the switch command driver.FindElement(By.XPath("//*[@id='a_searchlink']")).Click(); Thread.Sleep(5000); driver.FindElement(By.XPath("//*[@id='ui-id-16']")).Click(); Thread.Sleep(5000); driver.FindElement(By.XPath("//*[@id='FullAddress']")).SendKeys(Address); Thread.Sleep(1000); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "FL", "Collier"); driver.FindElement(By.XPath("//*[@id='SearchFullAddress']")).Click(); Thread.Sleep(6000); gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "FL", "Collier"); try { IWebElement MultiOwnerTable = driver.FindElement(By.Id("flex1")); IList <IWebElement> MultiOwnerRow = MultiOwnerTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiOwnerTD; //string AlterNateID = "", PropertyAddress = "", LegalDescriptoin = "", YearBuilt = ""; foreach (IWebElement row1 in MultiOwnerRow) { MultiOwnerTD = row1.FindElements(By.TagName("td")); if (MultiOwnerTD.Count != 0 && MultiOwnerTD.Count != 2 && MultiOwnerTD.Count != 1 && !row1.Text.Contains("Parcel No.") && MultiOwnerTD[1].Text.Trim() != "") { parcelNumber = MultiOwnerTD[1].Text; ownername = MultiOwnerTD[3].Text; PropertyAddress = MultiOwnerTD[5].Text; string Multi = PropertyAddress + "~" + ownername; gc.insert_date(orderNumber, parcelNumber, 488, Multi, 1, DateTime.Now); } } //GlobalClass.multiParcel_MiamiDade = "Yes"; HttpContext.Current.Session["multiParcel_Collier"] = "Yes"; driver.Quit(); return("MultiParcel"); } catch { } } if (searchType == "ownername") { driver.Navigate().GoToUrl("http://www.collierappraiser.com/"); Thread.Sleep(2000); IWebElement iframeElement = driver.FindElement(By.XPath("/html/frameset/frame")); //now use the switch command driver.SwitchTo().Frame(iframeElement); IWebElement iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frame[2]")); //now use the switch command driver.SwitchTo().Frame(iframeElement1); driver.FindElement(By.XPath("//*[@id='AutoNumber3']/tbody/tr/td[3]/table/tbody/tr[4]/td/a")).Click(); Thread.Sleep(10000); driver.SwitchTo().DefaultContent(); Thread.Sleep(2000); IWebElement iframeElement2 = driver.FindElement(By.XPath("//*[@id='rbottom']")); //now use the switch command driver.SwitchTo().Frame(iframeElement2); Thread.Sleep(2000); //now use the switch command driver.FindElement(By.XPath("//*[@id='a_searchlink']")).Click(); Thread.Sleep(6000); driver.FindElement(By.XPath("//*[@id='ui-id-15']")).Click(); Thread.Sleep(6000); driver.FindElement(By.XPath("//*[@id='Name1']")).SendKeys(ownername); Thread.Sleep(1000); gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "FL", "Collier"); driver.FindElement(By.XPath("//*[@id='SearchName1']")).Click(); Thread.Sleep(6000); gc.CreatePdf_WOP(orderNumber, "Owner search Result", driver, "FL", "Collier"); try { IWebElement MultiOwnerTable = driver.FindElement(By.Id("flex1")); IList <IWebElement> MultiOwnerRow = MultiOwnerTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiOwnerTD; //string AlterNateID = "", PropertyAddress = "", LegalDescriptoin = "", YearBuilt = ""; foreach (IWebElement row1 in MultiOwnerRow) { MultiOwnerTD = row1.FindElements(By.TagName("td")); if (MultiOwnerTD.Count != 0 && MultiOwnerTD.Count != 2 && MultiOwnerTD.Count != 1 && !row1.Text.Contains("Parcel No.") && MultiOwnerTD[1].Text.Trim() != "") { parcelNumber = MultiOwnerTD[1].Text; ownername = MultiOwnerTD[3].Text; PropertyAddress = MultiOwnerTD[5].Text; string Multi = PropertyAddress + "~" + ownername; gc.insert_date(orderNumber, parcelNumber, 488, Multi, 1, DateTime.Now); } } //GlobalClass.multiParcel_MiamiDade = "Yes"; HttpContext.Current.Session["multiParcel_Collier"] = "Yes"; driver.Quit(); return("MultiParcel"); } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("http://www.collierappraiser.com/"); Thread.Sleep(2000); IWebElement iframeElement = driver.FindElement(By.XPath("/html/frameset/frame")); //now use the switch command driver.SwitchTo().Frame(iframeElement); IWebElement iframeElement1 = driver.FindElement(By.XPath("/html/frameset/frame[2]")); //now use the switch command driver.SwitchTo().Frame(iframeElement1); driver.FindElement(By.XPath("//*[@id='AutoNumber3']/tbody/tr/td[3]/table/tbody/tr[4]/td/a")).Click(); Thread.Sleep(10000); driver.SwitchTo().DefaultContent(); Thread.Sleep(2000); IWebElement iframeElement2 = driver.FindElement(By.XPath("//*[@id='rbottom']")); //now use the switch command driver.SwitchTo().Frame(iframeElement2); Thread.Sleep(2000); //now use the switch command driver.FindElement(By.XPath("//*[@id='a_searchlink']")).Click(); Thread.Sleep(6000); driver.FindElement(By.XPath("//*[@id='ui-id-17']")).Click(); Thread.Sleep(6000); driver.FindElement(By.XPath("//*[@id='ParcelID']")).SendKeys(parcelNumber); Thread.Sleep(1000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "FL", "Collier"); driver.FindElement(By.XPath("//*[@id='SearchParcelID']")).Click(); Thread.Sleep(6000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search Result", driver, "FL", "Collier"); } try { IAlert alert = driver.SwitchTo().Alert(); if (alert.Text.Contains("No Parcels Found")) { HttpContext.Current.Session["Nodata_FLCollier"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } string SiteAdr = "", MapNo = "", Strapno = "", Section = "", Township = "", Range = "", Acres = "", MillageArea = "", Condo = "", UseCode = "", School = "", Other = "", Total = "", YearBuilt = ""; gc.CreatePdf(orderNumber, parcelNumber, "Property Deatil", driver, "FL", "Collier"); parcelNumber = driver.FindElement(By.XPath("//*[@id='ParcelID']")).Text; ownername = driver.FindElement(By.XPath("//*[@id='Name1']")).Text; try { ownername = driver.FindElement(By.XPath("//*[@id='Name1']")).Text + " " + driver.FindElement(By.XPath("//*[@id='Name2']")).Text; } catch { } try { SiteAdr = driver.FindElement(By.XPath("//*[@id='FullAddress']")).Text + " " + driver.FindElement(By.XPath("//*[@id='City']")).Text + " " + driver.FindElement(By.XPath("//*[@id='State']")).Text; } catch { } MapNo = driver.FindElement(By.XPath("//*[@id='MapNumber']")).Text; Strapno = driver.FindElement(By.XPath("//*[@id='StrapNumber']")).Text; Section = driver.FindElement(By.XPath("//*[@id='Section']")).Text; Township = driver.FindElement(By.XPath("//*[@id='Township']")).Text; Range = driver.FindElement(By.XPath("//*[@id='Range']")).Text; Acres = driver.FindElement(By.XPath("//*[@id='TotalAcres']")).Text; MillageArea = driver.FindElement(By.XPath("//*[@id='MillageArea']")).Text; Condo = driver.FindElement(By.XPath("//*[@id='scDescription']")).Text; UseCode = driver.FindElement(By.XPath("//*[@id='ucDescription']")).Text; School = driver.FindElement(By.XPath("//*[@id='School']")).Text; Other = driver.FindElement(By.XPath("//*[@id='Other']")).Text; Total = driver.FindElement(By.XPath("//*[@id='Total']")).Text; driver.FindElement(By.XPath("//*[@id='ui-id-2']")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Property Summary", driver, "FL", "Collier"); try { YearBuilt = driver.FindElement(By.XPath("//*[@id='trBuilding1']/td[2]")).Text; } catch { } string property = ownername + "~" + SiteAdr + "~" + MapNo + "~" + Strapno + "~" + Section + "~" + Township + "~" + Range + "~" + Acres + "~" + MillageArea + "~" + Condo + "~" + UseCode + "~" + School + "~" + Other + "~" + Total + "~" + YearBuilt; gc.insert_date(orderNumber, parcelNumber, 469, property, 1, DateTime.Now); driver.FindElement(By.XPath("//*[@id='ui-id-1']")).Click(); Thread.Sleep(4000); string LandValue = "", ImprovedValue = "", Marketvalue = "", SaveOurHome = "", AssessedValue = "", Homestead = "", SchoolTaxableValue = "", AdditionalHomestead = "", TaxableValue = ""; IWebElement TaxHisTBD = driver.FindElement(By.XPath("//*[@id='PropSum']/table[6]/tbody/tr/td[3]/table/tbody")); IList <IWebElement> TaxHisTRD = TaxHisTBD.FindElements(By.TagName("tr")); IList <IWebElement> TaxHisTDD; foreach (IWebElement row1 in TaxHisTRD) { TaxHisTDD = row1.FindElements(By.TagName("td")); if (!row1.Text.Contains("Certified Tax Roll") && !row1.Text.Contains("(Subject") && row1.Text.Trim() != "" && TaxHisTDD.Count != 1) { LandValue = TaxHisTDD[0].Text + "~" + LandValue; ImprovedValue = TaxHisTDD[1].Text + "~" + ImprovedValue; } } LandValue = LandValue + "lk"; ImprovedValue = ImprovedValue + "lk"; LandValue = LandValue.Replace("~lk", ""); ImprovedValue = ImprovedValue.Replace("~lk", ""); DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + LandValue + "' where Id = '" + 470 + "'"); gc.insert_date(orderNumber, parcelNumber, 470, ImprovedValue, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://collier.county-taxes.com/public"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='search-controls']/div/form[1]/div[1]/div/input")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Taxinfo", driver, "FL", "Collier"); driver.FindElement(By.XPath("//*[@id='search-controls']/div/form[1]/div[1]/div/span/button")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { IWebElement ITaxSearch = driver.FindElement(By.LinkText("Full bill history")); string strITaxSearch = ITaxSearch.GetAttribute("href"); driver.Navigate().GoToUrl(strITaxSearch); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Full bill history", driver, "FL", "Collier"); } catch { } try { IWebElement ITaxReal = driver.FindElement(By.XPath("//*[@id='content']/div[1]/table")); IList <IWebElement> ITaxRealRow = ITaxReal.FindElements(By.TagName("tr")); IList <IWebElement> ITaxRealTd; int k = 0; foreach (IWebElement ItaxReal in ITaxRealRow) { ITaxRealTd = ItaxReal.FindElements(By.TagName("td")); if ((k <= 2 && ItaxReal.Text.Contains("Annual Bill")) || ItaxReal.Text.Contains("Pay this bill:")) { string yearbill = ITaxRealTd[0].Text; IWebElement ITaxBillCount = ITaxRealTd[0].FindElement(By.TagName("a")); string strTaxReal = ITaxBillCount.GetAttribute("href"); strTaxRealestate.Add(strTaxReal); try { IWebElement ITaxBill = ITaxRealTd[3].FindElement(By.TagName("a")); string BillTax = ITaxBill.GetAttribute("href"); gc.downloadfile(BillTax, orderNumber, parcelNumber, "Taxbill.pdf" + yearbill, "FL", "Collier"); } catch { IWebElement ITaxBill = ITaxRealTd[4].FindElement(By.TagName("a")); string BillTax = ITaxBill.GetAttribute("href"); gc.downloadfile(BillTax, orderNumber, parcelNumber, "Taxbill.pdf" + yearbill, "FL", "Collier"); } k++; } } //Tax History Details IWebElement IBillHistorytable = driver.FindElement(By.XPath("//*[@id='content']/div[1]/table")); IList <IWebElement> IBillHistoryRow = IBillHistorytable.FindElements(By.TagName("tr")); IList <IWebElement> IBillHistoryTD; foreach (IWebElement bill in IBillHistoryRow) { IBillHistoryTD = bill.FindElements(By.TagName("td")); if (IBillHistoryTD.Count != 0) { try { strBill = IBillHistoryTD[0].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); strBalance = IBillHistoryTD[1].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); strBillDate = IBillHistoryTD[2].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); strBillPaid = IBillHistoryTD[3].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); } catch { strBillDate = ""; strBillPaid = ""; } if (strBillPaid.Contains("Print (PDF)")) { strBillPaid = ""; } string strTaxHistory = strBill + "~" + strBalance + "~" + strBillDate + "~" + strBillPaid; gc.insert_date(orderNumber, parcelNumber, 471, strTaxHistory, 1, DateTime.Now); } } IWebElement IBillHistoryfoottable = driver.FindElement(By.XPath("//*[@id='content']/div[1]/table/tfoot")); IList <IWebElement> IBillHistoryfootRow = IBillHistoryfoottable.FindElements(By.TagName("tr")); IList <IWebElement> IBillHistoryfootTD; foreach (IWebElement bill in IBillHistoryRow) { IBillHistoryfootTD = bill.FindElements(By.TagName("th")); if (IBillHistoryfootTD.Count != 0 && bill.Text.Contains("Total")) { try { strFBill = IBillHistoryfootTD[0].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); strFBalance = IBillHistoryfootTD[1].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); strFBillDate = IBillHistoryfootTD[2].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); strFBillPaid = IBillHistoryfootTD[3].Text.Replace("\r\n", " ").TrimStart().TrimEnd(); } catch { strFBillDate = ""; strFBillPaid = ""; } if (strBillPaid.Contains("Print (PDF)")) { strBillPaid = ""; } string strTaxHistory = strFBill + "~" + strFBalance + "~" + strFBillDate + "~" + strFBillPaid; gc.insert_date(orderNumber, parcelNumber, 471, strTaxHistory, 1, DateTime.Now); } } foreach (string real in strTaxRealestate) { driver.Navigate().GoToUrl(real); Thread.Sleep(4000); try { TaxYear = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/div[1]")).Text; TaxYear = WebDriverTest.After(TaxYear, "Real Estate").Trim(); string s = TaxYear; string[] words = TaxYear.Split(' '); TaxYear = words[0]; } catch { TaxYear = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/div[1]")).Text; TaxYear = WebDriverTest.After(TaxYear, "Real Estate").Trim(); string s = TaxYear; string[] words = TaxYear.Split(' '); TaxYear = words[0]; } gc.CreatePdf(orderNumber, parcelNumber, "Tax details" + TaxYear, driver, "FL", "Collier"); IWebElement multitableElement3; try { multitableElement3 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/table[2]/tbody")); } catch { multitableElement3 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/table[2]/tbody")); } IList <IWebElement> multitableRow3 = multitableElement3.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD3; foreach (IWebElement row in multitableRow3) { multirowTD3 = row.FindElements(By.TagName("td")); if (multirowTD3.Count != 1 && multirowTD3[1].Text.Trim() != "") { string tax_distri = TaxYear + "~" + multirowTD3[0].Text.Trim() + "~" + "Ad Valorem" + "~" + multirowTD3[1].Text.Trim() + "~" + multirowTD3[2].Text.Trim() + "~" + multirowTD3[3].Text.Trim() + "~" + multirowTD3[4].Text.Trim() + "~" + "" + "~" + multirowTD3[5].Text.Trim(); gc.insert_date(orderNumber, parcelNumber, 472, tax_distri, 1, DateTime.Now); } } //total advalorem IWebElement multitableElement31; try { multitableElement31 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/table[2]/tfoot")); } catch { multitableElement31 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/table[2]/tfoot")); } 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 != 1) { string tax_distri1 = TaxYear + "~" + "Total:" + "~" + "Ad Valorem" + "~" + multirowTD31[0].Text.Trim() + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + multirowTD31[1].Text.Trim(); gc.insert_date(orderNumber, parcelNumber, 472, tax_distri1, 1, DateTime.Now); } } // Non - Ad Valorem try { IWebElement multitableElement32; try { multitableElement32 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/table[3]/tbody")); } catch { multitableElement32 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/table[3]/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 != 1 && multirowTD32[0].Text.Trim() != "") { string tax_distri2 = TaxYear + "~" + multirowTD32[0].Text.Trim() + "~" + "Non-Ad Valorem " + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + multirowTD32[1].Text.Trim() + "~" + multirowTD32[2].Text.Trim(); gc.insert_date(orderNumber, parcelNumber, 472, tax_distri2, 1, DateTime.Now); } } //total non-advalorem IWebElement multitableElement33; try { multitableElement33 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/table[3]/tfoot")); } catch { multitableElement33 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/table[3]/tfoot")); } IList <IWebElement> multitableRow33 = multitableElement33.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD33; foreach (IWebElement row in multitableRow33) { multirowTD33 = row.FindElements(By.TagName("td")); if (multirowTD33.Count != 0) { string tax_distri1 = TaxYear + "~" + "Total:" + "~" + "Non-Ad Valorem " + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + multirowTD33[0].Text.Trim(); gc.insert_date(orderNumber, parcelNumber, 472, tax_distri1, 1, DateTime.Now); } } } catch { } // Taxing_authority~Tax_type~Millage~Assessed~Exemption~Taxable~Rate~Tax //Tax info try { TaxAmount = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/p")).Text.Replace("Combined taxes and assessments:", ""); PaidAmount = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/div[6]/div/div[1]/div/div")).Text; PaidAmount = PaidAmount.Replace("\r\n", "&"); PaidAmount = WebDriverTest.Before(PaidAmount, "&"); PaidAmount = WebDriverTest.After(PaidAmount, "$").Trim(); ReceiptNumber = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/div[6]/div/div[1]/div/div/div")).Text.Replace("Receipt", ""); IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/table[1]/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { Account_number = TDmulti[0].Text; string Escro_Code = TDmulti[2].Text; Millage_Code = TDmulti[3].Text; string tax_info1 = Account_number + "~" + Millage_Code + "~" + Escro_Code + "~" + TaxYear + "~" + TaxAmount + "~" + PaidAmount + "~" + ReceiptNumber + "~" + "Doug Belden, Tax Collector P.O. Box 30012 Tampa, Florida 33630-3012"; gc.insert_date(orderNumber, parcelNumber, 473, tax_info1, 1, DateTime.Now); } } } catch { TaxAmount = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/p")).Text.Replace("Combined taxes and assessments:", ""); PaidAmount = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/div[3]")).Text; if (PaidAmount.Contains("Pay this bill")) { PaidAmount = ""; ReceiptNumber = ""; } else { PaidAmount = PaidAmount.Replace("\r\n", "&"); var PaidAmount1 = PaidAmount.Split('&'); PaidAmount = PaidAmount1[0]; PaidAmount = WebDriverTest.After(PaidAmount, "$").Trim(); ReceiptNumber = PaidAmount1[1]; } IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/table[1]/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { Account_number = TDmulti[0].Text; string Escro_Code = TDmulti[2].Text; Millage_Code = TDmulti[3].Text; string tax_info1 = Account_number + "~" + Millage_Code + "~" + Escro_Code + "~" + TaxYear + "~" + TaxAmount + "~" + PaidAmount + "~" + ReceiptNumber + "~" + "Doug Belden, Tax Collector P.O. Box 30012 Tampa, Florida 33630-3012"; gc.insert_date(orderNumber, parcelNumber, 473, tax_info1, 1, DateTime.Now); } } } string IfPaidBy = "", PlesePay = "", DueDate = "", deli = ""; try { IWebElement multitableElement26 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[8]/div/table[4]/tbody")); IList <IWebElement> multitableRow26 = multitableElement26.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD26; foreach (IWebElement row in multitableRow26) { multirowTD26 = row.FindElements(By.TagName("td")); int iRowsCount = multirowTD26.Count; for (int n = 0; n < iRowsCount; n++) { if ((!multirowTD26[n].Text.Contains("Face Amt")) && (!multirowTD26[n].Text.Contains("Certificate"))) { IfPaidBy = multirowTD26[n].Text.Replace("\r\n", "~"); var IfpaySplit = IfPaidBy.Split('~'); IfPaidBy = IfpaySplit[0]; PlesePay = IfpaySplit[1]; if (PlesePay == "$0.00") { deli = "paid"; } else { deli = "deliquent"; } DueDate = TaxYear + "~" + deli + "~" + IfPaidBy + "~" + PlesePay; gc.insert_date(orderNumber, parcelNumber, 474, DueDate, 1, DateTime.Now); } } } } //If_paid_by~Please_Pay catch { IWebElement multitableElement26 = driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[7]/div/table[4]/tbody")); IList <IWebElement> multitableRow26 = multitableElement26.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD26; foreach (IWebElement row in multitableRow26) { multirowTD26 = row.FindElements(By.TagName("td")); int iRowsCount = multirowTD26.Count; for (int n = 0; n < iRowsCount; n++) { if ((!multirowTD26[n].Text.Contains("Face Amt")) && (!multirowTD26[n].Text.Contains("Certificate"))) { IfPaidBy = multirowTD26[n].Text.Replace("\r\n", "~"); var IfpaySplit = IfPaidBy.Split('~'); IfPaidBy = IfpaySplit[0]; PlesePay = IfpaySplit[1]; if (PlesePay == "$0.00") { deli = "paid"; } else { deli = "deliquent"; } DueDate = TaxYear + "~" + deli + "~" + IfPaidBy + "~" + PlesePay; gc.insert_date(orderNumber, parcelNumber, 474, DueDate, 1, DateTime.Now); } } } } //*[@id="content"]/div[1]/div[3]/div[1]/ul/li[1]/a driver.FindElement(By.XPath("//*[@id='content']/div[1]/div[3]/div[1]/ul/li[1]/a")).Click(); Thread.Sleep(5000); gc.CreatePdf(orderNumber, parcelNumber, "parcel details" + TaxYear, driver, "FL", "Collier"); } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "FL", "Collier", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "FL", "Collier"); //gc.MMREM_Template(orderNumber, parcelNumber, "", driver, "FL", "Collier", "138", "4"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public void FTP_LA(string address, string parcelNumber, string searchType, string orderNumber, string directParcel, string treasurerCaptcha) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; if (treasurerCaptcha == "") { var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; driver = new PhantomJSDriver(); try { if (searchType == "address") { if (Assessor_pageLoad()) { GlobalClass.multiParcel_la = "Yes";; driver.FindElement(By.Name("basicsearchterm")).SendKeys(address); driver.FindElement(By.XPath("/html/body/div/div[2]/div/form[1]/div/span/button")).Click(); Thread.Sleep(3000); //Select address from list.... IWebElement tableElement = driver.FindElement(By.XPath("/html/body/div/div[3]/div/table")); IList <IWebElement> tableRow = tableElement.FindElements(By.TagName("tr")); IList <IWebElement> rowTD; foreach (IWebElement row in tableRow) { rowTD = row.FindElements(By.TagName("td")); if (rowTD.Count != 0) { string multi = rowTD[1].Text + "~" + rowTD[2].Text.Replace("'", ""); gc.insert_data(orderNumber, DateTime.Now, rowTD[0].Text.Trim(), 51, multi, 1); //db.ExecuteQuery("insert into la_multiowner(parcel_no,situs_address,legal_description,order_no) values('" + rowTD[0].Text + "','" + rowTD[1].Text + "','" + rowTD[2].Text.Replace("'", "") + "','" + orderNumber + "') "); } } driver.Quit(); return; } } else if (searchType == "parcel") { string parcelUrl = "https://portal.assessor.lacounty.gov/parceldetail/" + parcelNumber; driver.Navigate().GoToUrl(parcelUrl); GlobalClass.parcel_status = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[2]/div[3]/dl/dd[1]")).Text.TrimStart().TrimEnd(); if (GlobalClass.parcel_status == "DELETED" || GlobalClass.parcel_status == "INACTIVE" || GlobalClass.parcel_status == "IN ACTIVE") { driver.Quit(); return; } GlobalClass.parcelNumber_la = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[1]/h2/div")).Text; GlobalClass.parcelNumber_la = WebDriverTest.Between(GlobalClass.parcelNumber_la, " ", " "); gc.CreatePdf(orderNumber, parcelNumber, "Assessor", driver, "CA", "Los Angeles"); //scrap exemption... IWebElement exemption = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[2]/div[3]/dl/dd[6]")); string exemp_Value = "-", usetype = "-", taxratearea = "-", yearbuilt = "-"; exemp_Value = exemption.Text; //if (directParcel == "Yes") //{ IWebElement sit_addr = driver.FindElement(By.XPath("/html/body/div/div/section[2]/div[2]/div/div[2]/div[1]/div[3]/dl/dd")); string situs_address = sit_addr.Text; IWebElement legal_desc = driver.FindElement(By.XPath("/html/body/div/div/section[2]/div[2]/div/div[2]/div[1]/div[4]/dl/dd")); string legal_description = legal_desc.Text; usetype = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[2]/div[2]/dl/dd[1]")).Text.Trim(); if (usetype == "") { usetype = "-"; } taxratearea = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[2]/div[2]/dl/dd[3]")).Text.Trim(); if (taxratearea == "") { taxratearea = "-"; } yearbuilt = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[4]/div[3]/dl/dd[1]")).Text.Trim(); if (yearbuilt == "") { yearbuilt = "-"; } string property = situs_address + "~" + legal_description + "~" + usetype + "~" + taxratearea + "~" + yearbuilt; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 50, property, 1); // db.ExecuteQuery("insert into la_multiowner(parcel_no,situs_address,legal_description,order_no) values('" + parcelNumber + "','" + situs_address + "','" + legal_description + "','" + orderNumber + "') "); // } //scrap table... IWebElement tblAssess = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[5]/table")); string yr1 = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[5]/table/thead/tr/th[2]")).Text; yr1 = WebDriverTest.Before(yr1, " Roll"); string yr2 = driver.FindElement(By.XPath("/html/body/div/div/section[1]/div[2]/div/div/div[1]/div[5]/table/thead/tr/th[3]")).Text; yr2 = WebDriverTest.Before(yr2, " Current"); List <string> data1 = getTableData1(tblAssess); string land = "-", improvement = "-", total = "-"; land = "$" + WebDriverTest.After(data1[1], "$").TrimStart(); improvement = "$" + WebDriverTest.After(data1[2], "$").TrimStart(); total = "$" + WebDriverTest.After(data1[3], "$").TrimStart(); string ass = yr1 + "~" + land + "~" + improvement + "~" + total + "~" + exemp_Value; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 52, ass, 1); //db.ExecuteQuery("insert into la_assessor (order_no,parcel_no,year,land,improvements,total,exemption_type) values ('" + orderNumber + "','" + parcelNumber + "','" + yr1 + "','" + land + "','" + improvement + "','" + total + "','" + exemp_Value + "')"); List <string> data2 = getTableData(tblAssess); land = "$" + WebDriverTest.After(data2[1], "$").TrimStart(); improvement = "$" + WebDriverTest.After(data2[2], "$").TrimStart(); total = "$" + WebDriverTest.After(data2[3], "$").TrimStart(); string ass1 = yr2 + "~" + land + "~" + improvement + "~" + total + "~" + exemp_Value; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 52, ass1, 1); //db.ExecuteQuery("insert into la_assessor (order_no,parcel_no,year,land,improvements,total,exemption_type) values ('" + orderNumber + "','" + parcelNumber + "','" + yr2 + "','" + land + "','" + improvement + "','" + total + "','" + exemp_Value + "')"); //treasurer details..... driver.Navigate().GoToUrl("https://vcheck.ttc.lacounty.gov/"); Thread.Sleep(5000); var imgId = driver.FindElement(By.Id("recaptcha_challenge_image")); GlobalClass.imgURL = imgId.GetAttribute("src"); string outPath = System.Web.HttpContext.Current.Server.MapPath("~/captcha\\") + parcelNumber + ".png"; WebClient captcha = new WebClient(); captcha.DownloadFile(GlobalClass.imgURL, outPath); if (GlobalClass.imgURL != "") { //db.ExecuteQuery("insert into la_url (parcel_no,order_no,src) values ('" + parcelNumber + "','" + orderNumber + "','" + GlobalClass.imgURL + "')"); GlobalClass.sDriver = driver; return; } } } catch (Exception ex) { if (driver != null) { driver.Quit(); } throw ex; } } else { //try //{ GlobalClass.sDriver.FindElement(By.Id("recaptcha_response_field")).SendKeys(treasurerCaptcha); GlobalClass.sDriver.FindElement(By.Id("next")).Click(); IList <IWebElement> optionsClass = GlobalClass.sDriver.FindElements(By.TagName("span")); foreach (IWebElement strOption in optionsClass) { if (strOption.Text.Contains("Property Tax Inquiry/One-")) { strOption.Click(); break; } } string[] treasParclNo = GlobalClass.parcelNumber_la.Split('-'); GlobalClass.sDriver.FindElement(By.Name("mapbook")).SendKeys(treasParclNo[0]); GlobalClass.sDriver.FindElement(By.Name("page")).SendKeys(treasParclNo[1]); GlobalClass.sDriver.FindElement(By.Name("parcel")).SendKeys(treasParclNo[2]); Thread.Sleep(3000); if (GlobalClass.sDriver.FindElement(By.Id("inquirebutton")).Enabled == true) { GlobalClass.sDriver.FindElement(By.Id("inquirebutton")).Click(); } outputPath = ""; outputPath = ConfigurationManager.AppSettings["screenShotPath-la"]; outputPath = outputPath + orderNumber + "\\" + parcelNumber + "\\"; if (!Directory.Exists(outputPath)) { Directory.CreateDirectory(outputPath); } string img = outputPath + "taxSummary" + ".png"; string pdf = outputPath + "taxSummary" + ".pdf"; //driver.Manage().Window.Maximize(); GlobalClass.sDriver.TakeScreenshot().SaveAsFile(img, ScreenshotImageFormat.Png); WebDriverTest.ConvertImageToPdf(img, pdf); if (File.Exists(img)) { File.Delete(img); } // CreatePdf(orderNumber, parcelNumber, "taxSummary"); IList <IWebElement> installInfos = GlobalClass.sDriver.FindElements(By.ClassName("installmentinfo")); int i = 0; string insInfo = "-", tax_year = "-", seq_no = "-", insInfo1 = "-", tax_year1 = "-", seq_no1 = "-"; foreach (IWebElement installInfo in installInfos) { if (i == 0) { insInfo = WebDriverTest.After(installInfo.Text, "YEAR: "); tax_year = WebDriverTest.Before(insInfo, "SEQUENCE:").TrimStart().TrimEnd(); seq_no = WebDriverTest.After(insInfo, "SEQUENCE:").TrimStart().TrimEnd(); } else { insInfo1 = WebDriverTest.After(installInfo.Text, "YEAR: "); tax_year1 = WebDriverTest.Before(insInfo1, "SEQUENCE:").TrimStart().TrimEnd(); seq_no1 = WebDriverTest.After(insInfo1, "SEQUENCE:").TrimStart().TrimEnd(); } i++; } IList <IWebElement> tableElements = GlobalClass.sDriver.FindElements(By.ClassName("installmenttable")); int j = 0; foreach (IWebElement tableElement in tableElements) { IList <IWebElement> tableRow = tableElement.FindElements(By.TagName("tr")); IList <IWebElement> rowTD; List <string> installment1 = new List <string>(); List <string> installment2 = new List <string>(); foreach (IWebElement row in tableRow) { rowTD = row.FindElements(By.TagName("td")); if (rowTD.Count == 5) { installment1.Add(rowTD[1].Text); installment2.Add(rowTD[4].Text); } } string tax_amt = "-", penalty_amt = "-", total_due = "-", paid_amt = "-", balance_due = "-", delinquent = "-", tax_status = "-"; tax_status = WebDriverTest.After(GlobalClass.sDriver.FindElement(By.ClassName("installmentstatus")).Text, "Tax Status:").TrimStart(); //installment1.... //Installment~Tax_amount~Penalty_amount~Total_due~Paid_amount~Balance_due~Delinquent~Tax_status~Tax_year~Seq_no tax_amt = installment1[0]; penalty_amt = installment1[1]; total_due = installment1[2]; paid_amt = installment1[3]; balance_due = installment1[4]; delinquent = installment1[5]; if (delinquent == " ") { delinquent = "-"; } if (j == 0) { string inst = "1" + "~" + tax_amt + "~" + penalty_amt + "~" + total_due + "~" + paid_amt + "~" + balance_due + "~" + delinquent + "~" + tax_status + "~" + tax_year + "~" + seq_no; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 53, inst, 1); //installment1.... tax_amt = installment2[0]; penalty_amt = installment2[1]; total_due = installment2[2]; paid_amt = installment2[3]; balance_due = installment2[4]; delinquent = installment2[5]; if (delinquent == " ") { delinquent = "-"; } string inst1 = "2" + "~" + tax_amt + "~" + penalty_amt + "~" + total_due + "~" + paid_amt + "~" + balance_due + "~" + delinquent + "~" + tax_status + "~" + tax_year + "~" + seq_no; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 53, inst1, 1); } else { string inst = "1" + "~" + tax_amt + "~" + penalty_amt + "~" + total_due + "~" + paid_amt + "~" + balance_due + "~" + delinquent + "~" + "SUPPLEMENTAL" + "~" + tax_year1 + "~" + seq_no1; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 53, inst, 1); //installment1.... tax_amt = installment2[0]; penalty_amt = installment2[1]; total_due = installment2[2]; paid_amt = installment2[3]; balance_due = installment2[4]; delinquent = installment2[5]; if (delinquent == " ") { delinquent = "-"; } string inst1 = "2" + "~" + tax_amt + "~" + penalty_amt + "~" + total_due + "~" + paid_amt + "~" + balance_due + "~" + delinquent + "~" + "SUPPLEMENTAL" + "~" + tax_year1 + "~" + seq_no1; gc.insert_data(orderNumber, DateTime.Now, parcelNumber, 53, inst1, 1); } j++; } //delinquent data.... try { IWebElement delinqTable = GlobalClass.sDriver.FindElement(By.ClassName("installmentdelinq")); IList <IWebElement> tblRow = delinqTable.FindElements(By.TagName("tr")); IList <IWebElement> rowtD; List <string> tr1 = new List <string>(); List <string> tr3 = new List <string>(); foreach (IWebElement row in tblRow) { rowtD = row.FindElements(By.TagName("td")); tr1.Add(rowtD[1].Text); if (rowtD.Count >= 4) { tr3.Add(rowtD[3].Text); } } //insert data } catch { } GlobalClass.sDriver.Quit(); //} ////catch (Exception ex) ////{ // GlobalClass.sDriver.Quit(); // throw ex; //} } }
public string FTP_Coweta(string address, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel, string ownername) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver())// { //driver = new ChromeDriver(); try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string titleaddress = address; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "GA", "Coweta"); 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_CowetaGA"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?App=CowetaCountyGA&Layer=Parcels&PageType=Search"); Thread.Sleep(2000); try { driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click(); Thread.Sleep(2000); } catch { } try { driver.FindElement(By.XPath("//*[@id='appBody']/div[5]/div/div/div[3]/a")).Click(); Thread.Sleep(2000); } catch { } driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_txtAddress")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "GA", "Coweta"); driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { IWebElement MultiAddressTB = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody")); IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr")); IList <IWebElement> MultiAddressTD; gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "GA", "Coweta"); int AddressmaxCheck = 0; foreach (IWebElement MultiAddress in MultiAddressTR) { if (AddressmaxCheck <= 25) { MultiAddressTD = MultiAddress.FindElements(By.TagName("td")); if (MultiAddressTD.Count != 0) { Parcelno = MultiAddressTD[1].Text; Owner = MultiAddressTD[3].Text; Property_Address = MultiAddressTD[4].Text; MultiAddress_details = Owner + "~" + Property_Address; gc.insert_date(orderNumber, Parcelno, 635, MultiAddress_details, 1, DateTime.Now); } AddressmaxCheck++; } } if (MultiAddressTR.Count > 25) { HttpContext.Current.Session["multiParcel_Coweta_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_Coweta"] = "Yes"; } driver.Quit(); return("MultiParcel"); } catch { } try { //No Data Found string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text; if (nodata.Contains("No results match your search criteria.")) { HttpContext.Current.Session["Nodata_CowetaGA"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?App=CowetaCountyGA&Layer=Parcels&PageType=Search"); Thread.Sleep(2000); try { driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click(); Thread.Sleep(2000); } catch { } try { driver.FindElement(By.XPath("//*[@id='appBody']/div[5]/div/div/div[3]/a")).Click(); Thread.Sleep(2000); } catch { } driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "GA", "Coweta"); driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { //No Data Found string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text; if (nodata.Contains("No results match your search criteria.")) { HttpContext.Current.Session["Nodata_CowetaGA"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "ownername") { driver.Navigate().GoToUrl("https://qpublic.schneidercorp.com/Application.aspx?App=CowetaCountyGA&Layer=Parcels&PageType=Search"); Thread.Sleep(2000); try { driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click(); Thread.Sleep(2000); } catch { } try { driver.FindElement(By.XPath("//*[@id='appBody']/div[5]/div/div/div[3]/a")).Click(); Thread.Sleep(2000); } catch { } driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_txtName")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "GA", "Coweta"); driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { IWebElement MultiAddressTB = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_gvwParcelResults']/tbody")); IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr")); IList <IWebElement> MultiAddressTD; gc.CreatePdf_WOP(orderNumber, "Multi Owner search", driver, "GA", "Coweta"); int AddressmaxCheck = 0; foreach (IWebElement MultiAddress in MultiAddressTR) { if (AddressmaxCheck <= 25) { MultiAddressTD = MultiAddress.FindElements(By.TagName("td")); if (MultiAddressTD.Count != 0) { Parcelno = MultiAddressTD[1].Text; Owner = MultiAddressTD[3].Text; Property_Address = MultiAddressTD[4].Text; MultiAddress_details = Owner + "~" + Property_Address; gc.insert_date(orderNumber, Parcelno, 635, MultiAddress_details, 1, DateTime.Now); } AddressmaxCheck++; } } if (MultiAddressTR.Count > 25) { HttpContext.Current.Session["multiParcel_Coweta_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_Coweta"] = "Yes"; } driver.Quit(); return("MultiParcel"); } catch { } try { //No Data Found string nodata = driver.FindElement(By.Id("ctlBodyPane_noDataList_pnlNoResults")).Text; if (nodata.Contains("No results match your search criteria.")) { HttpContext.Current.Session["Nodata_CowetaGA"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Property Details IWebElement tbmulti11 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_ctl01_dvNonPrebillMH']/table/tbody")); IList <IWebElement> TRmulti11 = tbmulti11.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti11; foreach (IWebElement row in TRmulti11) { TDmulti11 = row.FindElements(By.TagName("td")); if (TDmulti11.Count != 0) { if (i == 0) { ParcelID = TDmulti11[1].Text; } if (i == 1) { Loc_Addrs = TDmulti11[1].Text; } if (i == 3) { Leg_Desp = TDmulti11[1].Text; } if (i == 5) { Class = TDmulti11[1].Text; } if (i == 7) { Tax_Dist = TDmulti11[1].Text; } if (i == 8) { Milagerate = TDmulti11[1].Text; } if (i == 9) { Acres = TDmulti11[1].Text; } if (i == 10) { Neighberwood = TDmulti11[1].Text; } if (i == 11) { Homstd_Exmp = TDmulti11[1].Text; } i++; } } try { Owner1 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl01_mSection']/div")).Text.Replace("\r\n", "").Trim(); } catch { } try { Year_Built = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl09_ctl01_gvwPrebillMH']/tbody/tr/td[4]")).Text; } catch { } try { IWebElement Yeartb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl05_mSection']/div/table/tbody")); IList <IWebElement> YearTR = Yeartb.FindElements(By.TagName("tr")); IList <IWebElement> YearTD; foreach (IWebElement Tax4 in YearTR) { YearTD = Tax4.FindElements(By.TagName("td")); if (YearTD.Count != 0) { string yblt = YearTD[0].Text; if (yblt.Contains("Year Built")) { Year_Built = YearTD[1].Text; } } } } catch { } property = Loc_Addrs + "~" + Leg_Desp + "~" + Class + "~" + Tax_Dist + "~" + Milagerate + "~" + Acres + "~" + Neighberwood + "~" + Homstd_Exmp + "~" + Owner1 + "~" + Year_Built; gc.CreatePdf(orderNumber, ParcelID, "Property Details", driver, "GA", "Coweta"); gc.insert_date(orderNumber, ParcelID, 636, property, 1, DateTime.Now); //Assessment Details IWebElement AssmThTb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl13_ctl01_grdValuation']/thead")); IList <IWebElement> AssmThTr = AssmThTb.FindElements(By.TagName("tr")); IList <IWebElement> AssmTh; foreach (IWebElement Assm in AssmThTr) { AssmTh = Assm.FindElements(By.TagName("th")); if (AssmTh.Count != 0) { Year1 = AssmTh[0].Text; Year2 = AssmTh[1].Text; Year3 = AssmTh[2].Text; } } IWebElement AssmTb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl13_ctl01_grdValuation']/tbody")); IList <IWebElement> AssmTr = AssmTb.FindElements(By.TagName("tr")); IList <IWebElement> AssmTd; List <string> Previous_Value = new List <string>(); List <string> Land_Value = new List <string>(); List <string> Improvement_Value = new List <string>(); List <string> Accessory_Value = new List <string>(); List <string> Current_Value = new List <string>(); foreach (IWebElement Assmrow in AssmTr) { AssmTd = Assmrow.FindElements(By.TagName("td")); if (AssmTd.Count != 0) { if (j == 0) { Previous_Value.Add(AssmTd[2].Text); Previous_Value.Add(AssmTd[3].Text); Previous_Value.Add(AssmTd[4].Text); } else if (j == 1) { Land_Value.Add(AssmTd[2].Text); Land_Value.Add(AssmTd[3].Text); Land_Value.Add(AssmTd[4].Text); } else if (j == 2) { Improvement_Value.Add(AssmTd[2].Text); Improvement_Value.Add(AssmTd[3].Text); Improvement_Value.Add(AssmTd[4].Text); } else if (j == 3) { Accessory_Value.Add(AssmTd[2].Text); Accessory_Value.Add(AssmTd[3].Text); Accessory_Value.Add(AssmTd[4].Text); } else if (j == 4) { Current_Value.Add(AssmTd[2].Text); Current_Value.Add(AssmTd[3].Text); Current_Value.Add(AssmTd[4].Text); } j++; } } Assemnt_Details1 = Year1 + "~" + Previous_Value[0] + "~" + Land_Value[0] + "~" + Improvement_Value[0] + "~" + Accessory_Value[0] + "~" + Current_Value[0]; Assemnt_Details2 = Year2 + "~" + Previous_Value[1] + "~" + Land_Value[1] + "~" + Improvement_Value[1] + "~" + Accessory_Value[1] + "~" + Current_Value[1]; Assemnt_Details3 = Year3 + "~" + Previous_Value[2] + "~" + Land_Value[2] + "~" + Improvement_Value[2] + "~" + Accessory_Value[2] + "~" + Current_Value[2]; gc.insert_date(orderNumber, ParcelID, 638, Assemnt_Details1, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelID, 638, Assemnt_Details2, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelID, 638, Assemnt_Details3, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Details driver.Navigate().GoToUrl("https://www.cowetataxcom.com/taxes.html#/WildfireSearch"); Thread.Sleep(2000); //driver.FindElement(By.LinkText("SEARCH & PAY TAXES")).Click(); Thread.Sleep(2000); try { driver.FindElement(By.Id("btnAccept")).Click(); Thread.Sleep(2000); } catch { } try { driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[3]/button[1]")).Click(); Thread.Sleep(2000); } catch { } driver.FindElement(By.Id("searchBox")).SendKeys(ParcelID); Thread.Sleep(4000); //TaxPayment Receipt Details try { IWebElement TaxPaymentTB = null; try { TaxPaymentTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody")); } catch { } try { if (TaxPaymentTB == null) { TaxPaymentTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody")); } } catch { } IList <IWebElement> TaxPaymentTR = TaxPaymentTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxPaymentTD; foreach (IWebElement TaxPayment in TaxPaymentTR) { TaxPaymentTD = TaxPayment.FindElements(By.TagName("td")); if (TaxPaymentTD.Count != 0) { Owners = TaxPaymentTD[0].Text; year = TaxPaymentTD[1].Text; receipt = TaxPaymentTD[2].Text; Desc = TaxPaymentTD[3].Text; Type = TaxPaymentTD[4].Text; Paid = TaxPaymentTD[5].Text; Paid_date = TaxPaymentTD[6].Text; Payment_details = Owners + "~" + year + "~" + receipt + "~" + Desc + "~" + Type + "~" + Paid + "~" + Paid_date; gc.CreatePdf(orderNumber, ParcelID, "Tax Bill Details", driver, "GA", "Coweta"); gc.insert_date(orderNumber, ParcelID, 645, Payment_details, 1, DateTime.Now); } } } catch { } //Tax Info Details IWebElement Receipttable = null; try { Receipttable = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody")); } catch { } try { if (Receipttable == null) { Receipttable = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody")); } } catch { } IList <IWebElement> ReceipttableRow = Receipttable.FindElements(By.TagName("tr")); int rowcount = ReceipttableRow.Count; for (int p = 1; p <= rowcount; p++) { if (p < 4) { try { driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody/tr[" + p + "]/td[9]/button")).Click(); } catch { } try { driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody/tr[" + p + "]/td[9]/button/i")).Click(); } catch { } Thread.Sleep(6000); try { IWebElement DeliquentTB = driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[1]/table/tbody")); IList <IWebElement> DeliquentTR = DeliquentTB.FindElements(By.TagName("tr")); IList <IWebElement> DeliquentTD; foreach (IWebElement Deliquent in DeliquentTR) { DeliquentTD = Deliquent.FindElements(By.TagName("td")); if (DeliquentTD.Count != 0 && DeliquentTR.Count != 2) { name = DeliquentTD[0].Text; Taxyear = DeliquentTD[1].Text; bill_no = DeliquentTD[2].Text; amount = DeliquentTD[6].Text; Del_details = name + "~" + Taxyear + "~" + bill_no + "~" + amount; gc.CreatePdf(orderNumber, ParcelID, "Deliquent Details" + Taxy, driver, "GA", "Coweta"); gc.insert_date(orderNumber, ParcelID, 652, Del_details, 1, DateTime.Now); name = ""; Taxyear = ""; bill_no = ""; amount = ""; } } } catch { } try { IWebElement DeliquentfootTB = driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[1]/table/tfoot")); IList <IWebElement> DeliquentfootTR = DeliquentfootTB.FindElements(By.TagName("tr")); IList <IWebElement> DeliquentfootTD; foreach (IWebElement Deliquentfoot in DeliquentfootTR) { DeliquentfootTD = Deliquentfoot.FindElements(By.TagName("th")); if (DeliquentfootTD.Count != 0 && !Deliquentfoot.Text.Contains("$734.16")) { string bill_no1 = DeliquentfootTD[0].Text; string amount1 = DeliquentfootTD[2].Text; string Del_details1 = "" + "~" + "" + "~" + bill_no1 + "~" + amount1; gc.insert_date(orderNumber, ParcelID, 652, Del_details1, 1, DateTime.Now); } } } catch { } try { driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[2]/button[2]")).Click(); Thread.Sleep(2000); } catch { } IWebElement TaxTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/div[1]/table/tbody")); IList <IWebElement> TaxTR = TaxTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxTD; foreach (IWebElement Tax in TaxTR) { TaxTD = Tax.FindElements(By.TagName("td")); if (TaxTD.Count != 0 && !Tax.Text.Contains("Parcel Number") && TaxTD[1].Text != "") { Dist = TaxTD[0].Text; if (Dist.Contains("District")) { Dis = TaxTD[1].Text; } Ac = TaxTD[0].Text; if (Ac.Contains("Acres")) { Acres1 = TaxTD[1].Text; } AsVal = TaxTD[0].Text; if (AsVal.Contains("Description")) { Description = TaxTD[1].Text; } ProVal = TaxTD[0].Text; if (ProVal.Contains("Property Address")) { Pro_Addr = TaxTD[1].Text; } AppVal = TaxTD[0].Text; if (AppVal.Contains("Assessed Value")) { Assed_Val = TaxTD[1].Text; } ApprVal = TaxTD[0].Text; if (ApprVal.Contains("Appraised Value")) { Appr_Value = TaxTD[1].Text; } } } IWebElement Tax1TB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[1]/div[2]/table/tbody")); IList <IWebElement> Tax1TR = Tax1TB.FindElements(By.TagName("tr")); IList <IWebElement> Tax1TD; foreach (IWebElement Tax1 in Tax1TR) { Tax1TD = Tax1.FindElements(By.TagName("td")); if (Tax1TD.Count != 0) { Sta = Tax1TD[0].Text; if (Sta.Contains("Status")) { Status = Tax1TD[1].Text; } Latpay = Tax1TD[0].Text; if (Latpay.Contains("Last Payment Date")) { Last_Pay = Tax1TD[1].Text; } Amtpaid = Tax1TD[0].Text; if (Amtpaid.Contains("Amount Paid")) { Amt_Paid = Tax1TD[1].Text; } } } IWebElement Tax2TB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/div[2]/table/tbody")); IList <IWebElement> Tax2TR = Tax2TB.FindElements(By.TagName("tr")); IList <IWebElement> Tax2TD; foreach (IWebElement Tax2 in Tax2TR) { Tax2TD = Tax2.FindElements(By.TagName("td")); if (Tax2TD.Count != 0) { Rcdtyp = Tax2TD[0].Text; if (Rcdtyp.Contains("Record Type")) { Record_Type = Tax2TD[1].Text; } tYear = Tax2TD[0].Text; if (tYear.Contains("Tax Year")) { Taxy = Tax2TD[1].Text; } Rep = Tax2TD[0].Text; if (Rep.Contains("Bill Number")) { Recep = Tax2TD[1].Text; } Dudt = Tax2TD[0].Text; if (Dudt.Contains("Account Number")) { Accnt_Num = Tax2TD[1].Text; } Duet = Tax2TD[0].Text; if (Duet.Contains("Due Date")) { Due_Date = Tax2TD[1].Text; } } } IWebElement Tax4TB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/div[3]/table/tbody")); IList <IWebElement> Tax4TR = Tax4TB.FindElements(By.TagName("tr")); IList <IWebElement> Tax4TD; foreach (IWebElement Tax4 in Tax4TR) { Tax4TD = Tax4.FindElements(By.TagName("td")); if (Tax4TD.Count != 0 && Tax4TD[1].Text != "") { Base = Tax4TD[0].Text; if (Base.Contains("Base Taxes")) { Base_Taxes = Tax4TD[1].Text; } Pan = Tax4TD[0].Text; if (Pan.Contains("Penalty")) { penalty = Tax4TD[1].Text; } Inst = Tax4TD[0].Text; if (Inst.Contains("Interest")) { Interst = Tax4TD[1].Text; } Otherfee = Tax4TD[0].Text; if (Otherfee.Contains("Other Fees")) { Other_Fee = Tax4TD[1].Text; } string tytl_due = Tax4TD[0].Text; if (tytl_due.Contains(Taxy + "Total Due")) { string Del_Taxyear = Tax4TD[1].Text; } Backtax = Tax4TD[0].Text; if (Backtax.Contains("Back Taxes")) { Back_Tax = Tax4TD[1].Text; } tldue = Tax4TD[0].Text; if (tldue.Contains("Total Due")) { Total_Due = Tax4TD[1].Text; } } } gc.CreatePdf(orderNumber, ParcelID, "Tax Details" + Taxy, driver, "GA", "Coweta"); string Tax_Deatils = Taxy + "~" + Dis + "~" + Acres1 + "~" + Description + "~" + Pro_Addr + "~" + Assed_Val + "~" + Appr_Value + "~" + Status + "~" + Last_Pay + "~" + Amt_Paid + "~" + Record_Type + "~" + Recep + "~" + Accnt_Num + "~" + Due_Date + "~" + Base_Taxes + "~" + penalty + "~" + Interst + "~" + Other_Fee + "~" + Del_Taxyear + "~" + Back_Tax + "~" + Total_Due; gc.insert_date(orderNumber, ParcelID, 647, Tax_Deatils, 1, DateTime.Now); //Tax Breakdown try { IWebElement BreakdownTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[3]/div/table/tbody")); IList <IWebElement> BreakdownTR = BreakdownTB.FindElements(By.TagName("tr")); IList <IWebElement> BreakdownTD; foreach (IWebElement Breakdown in BreakdownTR) { BreakdownTD = Breakdown.FindElements(By.TagName("td")); if (BreakdownTD.Count != 0) { Entity = BreakdownTD[0].Text; AdjtFMV = BreakdownTD[1].Text; NetAssnt = BreakdownTD[2].Text; Exemptions = BreakdownTD[3].Text; Taxbleval = BreakdownTD[4].Text; Milagete = BreakdownTD[5].Text; grosstax = BreakdownTD[6].Text; Credits = BreakdownTD[7].Text; Net_Tax = BreakdownTD[8].Text; Breakdown_details = Entity + "~" + AdjtFMV + "~" + NetAssnt + "~" + Exemptions + "~" + Taxbleval + "~" + Milagete + "~" + grosstax + "~" + Credits + "~" + Net_Tax; gc.insert_date(orderNumber, ParcelID, 650, Breakdown_details, 1, DateTime.Now); } } } catch { } try { IWebElement FooterTB = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[3]/div/table/tfoot")); IList <IWebElement> FooterTR = FooterTB.FindElements(By.TagName("tr")); IList <IWebElement> FooterTD; foreach (IWebElement Footer in FooterTR) { FooterTD = Footer.FindElements(By.TagName("th")); if (FooterTD.Count != 0) { Entity1 = FooterTD[0].Text; AdjtFMV1 = FooterTD[1].Text; NetAssnt1 = FooterTD[2].Text; Exemptions1 = FooterTD[3].Text; Taxbleval1 = FooterTD[4].Text; Milagete1 = FooterTD[5].Text; grosstax1 = FooterTD[6].Text; Credits1 = FooterTD[7].Text; Net_Tax1 = FooterTD[8].Text; } } Breakdown_details1 = Entity1 + "~" + AdjtFMV1 + "~" + NetAssnt1 + "~" + Exemptions1 + "~" + Taxbleval1 + "~" + Milagete1 + "~" + grosstax1 + "~" + Credits1 + "~" + Net_Tax1; gc.insert_date(orderNumber, ParcelID, 650, Breakdown_details1, 1, DateTime.Now); } catch { } //Tax Bill try { driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[2]/a")).Click(); Thread.Sleep(5000); gc.CreatePdf(orderNumber, ParcelID, "Tax Bill Details" + Taxy, driver, "GA", "Coweta"); } catch { } try { driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[3]/a")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, ParcelID, "Tax Receipt Details" + Taxy, driver, "GA", "Coweta"); } catch { } driver.Navigate().Back(); Thread.Sleep(3000); } } //Tax Authority driver.Navigate().GoToUrl("https://www.cowetataxcom.com/#/contact"); Thread.Sleep(2000); try { Taxing = driver.FindElement(By.XPath("//*[@id='editor1567']/p[1]")).Text; Taxing = WebDriverTest.Between(Taxing, "Coweta County Tax Commissioner", "County Administration Building").Replace("\r\n", " ").Trim(); Tax_athuer = "Newnan, Georgia 30264"; Phone = "770-254-2670"; Fax = "770-683-2038"; gc.CreatePdf(orderNumber, ParcelID, "Tax Authority Details", driver, "GA", "Coweta"); Taxing_Authority = Taxing + " " + Tax_athuer + " " + Phone + " " + Fax; Taxauthority_Details = Taxing_Authority; gc.insert_date(orderNumber, ParcelID, 653, Taxauthority_Details, 1, DateTime.Now); } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "GA", "Coweta", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "GA", "Coweta"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw; } } }
public string FTP_Utah(string houseno, string direction, 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; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; // driver = new PhantomJSDriver(); //driver = new ChromeDriver(); IJavaScriptExecutor js = driver as IJavaScriptExecutor; string pathurl = "", Owner_Name = ""; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; List <string> taxurllist = new List <string>(); using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string address = houseno + " " + direction + " " + sname + " " + sttype; gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "UT", "Utah"); 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["Utah_Zero"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } driver.Navigate().GoToUrl("http://www.utahcountyonline.org/LandRecords/Index.asp"); if (searchType == "address") { driver.Navigate().GoToUrl("http://www.utahcountyonline.org/LandRecords/AddressSearchForm.asp"); Thread.Sleep(2000); //driver.FindElement(By.XPath("/html/body/div/div[6]/div[2]/table/tbody/tr/td/table/tbody/tr/td[1]/ul[1]/li[2]/a")).SendKeys(Keys.Enter); //gc.CreatePdf_WOP_Chrome(orderNumber, "Address Search",driver, "UT", "Utah"); driver.FindElement(By.Id("av_house")).SendKeys(houseno); driver.FindElement(By.Id("av_dir")).SendKeys(direction); driver.FindElement(By.Id("av_street")).SendKeys(sname); driver.FindElement(By.Id("street_type")).SendKeys(sttype); //IWebElement rdio = driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr/td/p[2]/label[2]/label/input")); //js.ExecuteScript("arguments[0].click();", rdio); driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr/td/p[3]/input")).SendKeys(Keys.Enter); gc.CreatePdf_WOP_Chrome(orderNumber, "Address Search result", driver, "UT", "Utah"); //multi parcel IWebElement multitableElement = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table[1]/tbody")); IList <IWebElement> multitableRow = multitableElement.FindElements(By.TagName("tr")); if (multitableRow.Count > 2) { IList <IWebElement> multirowTD; foreach (IWebElement row in multitableRow) { multirowTD = row.FindElements(By.TagName("td")); if (multirowTD.Count != 0 && !row.Text.Contains("Serial Number")) { string multi = multirowTD[1].Text.Trim() + "~" + "-"; gc.insert_date(orderNumber, multirowTD[0].Text.Trim(), 119, multi, 1, DateTime.Now); } } HttpContext.Current.Session["multiparcel_Utah"] = "Yes"; if (multitableRow.Count > 25) { HttpContext.Current.Session["multiParcel_Utah_Multicount"] = "Maximum"; } driver.Quit(); return("MultiParcel"); } if (multitableRow.Count == 1) { HttpContext.Current.Session["Utah_Zero"] = "Zero"; driver.Quit(); return("No Data Found"); } else { driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table[1]/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); IWebElement url = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[2]/td[1]/a")); pathurl = url.GetAttribute("href"); Owner_Name = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[2]/td[1]")).Text; driver.Navigate().GoToUrl(pathurl); gc.CreatePdf_WOP_Chrome(orderNumber, "Address Search result page", driver, "UT", "Utah"); } } else if (searchType == "parcel") { driver.FindElement(By.XPath("/html/body/div/div[6]/div[2]/table/tbody/tr/td/table/tbody/tr/td[1]/ul[1]/li[3]/a")).SendKeys(Keys.Enter); if (parcelNumber.Contains(":") || parcelNumber.Contains(" ")) { parcelNumber = parcelNumber.Replace(":", "").Trim(); parcelNumber = parcelNumber.Replace(" ", "").Trim(); } gc.CreatePdf_Chrome(orderNumber, parcelNumber, "Parcel Search", driver, "UT", "Utah"); driver.FindElement(By.Id("av_serial")).SendKeys(parcelNumber); IWebElement rdio = driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr/td/p[2]/label[2]/label/input")); js.ExecuteScript("arguments[0].click();", rdio); driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr/td/p[3]/input")).SendKeys(Keys.Enter); gc.CreatePdf_Chrome(orderNumber, parcelNumber, "Parcel Search result", driver, "UT", "Utah"); IList <IWebElement> TRserial = driver.FindElements(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr")); int count = TRserial.Count; for (int i = 2; i <= count; i++) { try { string selectedvalue = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[" + i + "]/td[3]/select/option[1]")).Text; selectedvalue = selectedvalue.Replace(":", ""); if (selectedvalue == parcelNumber) { IWebElement propinfo = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[" + i + "]/td[3]/select/option[2]")); string url = propinfo.GetAttribute("value"); Owner_Name = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[2]/td[1]")).Text; gc.CreatePdf_Chrome(orderNumber, parcelNumber, "Parcel Search - select parcel number page", driver, "UT", "Utah"); pathurl = "http://www.utahcounty.gov/LandRecords/" + url; driver.Navigate().GoToUrl(pathurl); // break; } } catch { } } } else if (searchType == "ownername") { driver.FindElement(By.XPath("/html/body/div/div[6]/div[2]/table/tbody/tr/td/table/tbody/tr/td[1]/ul[1]/li[1]/a")).SendKeys(Keys.Enter); gc.CreatePdf_WOP_Chrome(orderNumber, "Owner name Search", driver, "UT", "Utah"); driver.FindElement(By.Id("av_name")).SendKeys(ownername); IWebElement rdio = driver.FindElement(By.XPath("//*[@id='av_valid_0']")); //js.ExecuteScript("arguments[0].click();", rdio); rdio.Click(); driver.FindElement(By.XPath("//*[@id='form1']/div/table/tbody/tr[1]/td/p[3]/input")).SendKeys(Keys.Enter); gc.CreatePdf_WOP_Chrome(orderNumber, "Owner name Search result", driver, "UT", "Utah"); try { //multi parcel IWebElement multitableElement = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table[1]/tbody")); IList <IWebElement> multitableRow = multitableElement.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD; foreach (IWebElement row in multitableRow) { multirowTD = row.FindElements(By.TagName("td")); if (multirowTD.Count != 0 && !row.Text.Contains("Owner")) { string multi = multirowTD[0].Text.Trim() + "~" + multirowTD[4].Text.Trim(); gc.insert_date(orderNumber, multirowTD[1].Text.Trim(), 119, multi, 1, DateTime.Now); } } HttpContext.Current.Session["multiparcel_Utah"] = "Yes"; if (multitableRow.Count > 25) { HttpContext.Current.Session["multiParcel_Utah_Multicount"] = "Maximum"; } driver.Quit(); return("MultiParcel"); } catch { } try { IWebElement Nodata = driver.FindElement(By.XPath("/html/body/table")); if (!Nodata.Text.Contains("Property Address") && !Nodata.Text.Contains("Owner Name")) { HttpContext.Current.Session["Utah_Zero"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } Thread.Sleep(3000); //Property details string Parcel_ID = "-", Property_Address = "-", Mailing_Address = "-", Legal_Description = "-"; Parcel_ID = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[1]/td[1]")).Text; Parcel_ID = WebDriverTest.After(Parcel_ID, "Serial Number:"); Property_Address = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[3]/td[1]")).Text; Property_Address = WebDriverTest.After(Property_Address, "Property Address:"); Mailing_Address = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[4]/td[1]")).Text; Mailing_Address = WebDriverTest.After(Mailing_Address, "Mailing Address:"); Legal_Description = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[8]/td[1]")).Text; Legal_Description = WebDriverTest.After(Legal_Description, "Legal Description:"); IList <IWebElement> tron = driver.FindElements(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[1]/table[2]/tbody/tr")); for (int trcount = 1; trcount <= tron.Count; trcount++) { IWebElement on = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[1]/table[2]/tbody/tr[" + trcount + "]/td[1]/span")); string greentag = on.GetAttribute("class"); if (greentag == "style1yv") { Owner_Name += driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[1]/table[2]/tbody/tr[" + trcount + "]/ td[3]")).Text + "&"; } } Owner_Name = Regex.Replace(Owner_Name, "[0-9]{2,}", "").Replace("&", " ").Replace(":", ""); if (Parcel_ID.Contains(":")) { Parcel_ID = Parcel_ID.Replace(":", ""); } gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Property Details information", driver, "UT", "Utah"); //OwnerName = Owner_Name.Substring(OwnerName.Length - 1,1); string prop = Owner_Name + "~" + Property_Address + "~" + Legal_Description + "~" + Mailing_Address; gc.insert_date(orderNumber, Parcel_ID, 122, prop, 1, DateTime.Now); //assessment details string Tax_Year = "-"; Thread.Sleep(4000); driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/ul/li[2]")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[2]/table/tbody/tr[3]/td[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(3000); Tax_Year = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/p[1]")).Text; Tax_Year = WebDriverTest.After(Tax_Year, "Tax Year: "); Tax_Year = WebDriverTest.Before(Tax_Year, " Tax District:").Trim(); } catch { } string RealEstate_Residential = "", RealEstate_Agricultural = "", RealEstate_Commercial = "", RealEstate_Totals = ""; string Improvements_Residential = "", Improvements_Agricultural = "", Improvements_Commercial = "", Improvements_Totals = ""; string Greenbelt_Residential = "", Greenbelt_RealEstate = "", Greenbelt_HomeSite = "", Greenbelt_Totals = "", Greenbelt_TotalsRealProperty = "", Greenbelt_AttachedPersonalProperty = "", Greenbelt_ToatalValuation = ""; string Ok = ""; IWebElement tbassess = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table[1]/tbody")); IList <IWebElement> trassess = tbassess.FindElements(By.TagName("tr")); IList <IWebElement> tdassess; foreach (IWebElement row in trassess) { tdassess = row.FindElements(By.TagName("td")); if (Ok == "Real Estate" && tdassess[3].Text.Trim() != "") { RealEstate_Residential = tdassess[1].Text + "~" + tdassess[3].Text + "~" + tdassess[5].Text + "~" + RealEstate_Residential; } if (tdassess.Count != 0 && row.Text.Contains("* * Real Estate")) { Ok = "Real Estate"; } if (Ok == "Improvements" && tdassess[3].Text.Trim() != "") { Improvements_Residential = tdassess[1].Text + "~" + tdassess[3].Text + "~" + tdassess[5].Text + "~" + Improvements_Residential; //RealEstate_Residential = new string(RealEstate_Residential.Reverse().ToArray()); } if (tdassess.Count != 0 && row.Text.Contains("* * Improvements")) { Ok = "Improvements"; } if (Ok == "Greenbelt as of") { Greenbelt_Residential = tdassess[1].Text + "~" + tdassess[3].Text + "~" + tdassess[5].Text + "~" + Greenbelt_Residential; //RealEstate_Residential = new string(RealEstate_Residential.Reverse().ToArray()); } if (tdassess.Count != 0 && row.Text.Contains("* * Greenbelt as of ")) { Ok = "Greenbelt as of"; } //if (tdassess.Count != 0 && !row.Text.Contains("* * Real Estate")) //{ // string assessment = Tax_Year + "~" + tdassess[1].Text.Trim() + "~" + tdassess[3].Text.Trim() + "~" + tdassess[5].Text.Trim(); ; // gc.insert_date(orderNumber, Parcel_ID, 123, assessment, 1,DateTime.Now); //} } RealEstate_Residential = RealEstate_Residential + "Ert"; RealEstate_Residential = RealEstate_Residential.Replace("~Ert", ""); Greenbelt_Residential = Greenbelt_Residential + "Ert"; Greenbelt_Residential = Greenbelt_Residential.Replace("~Ert", ""); Improvements_Residential = Improvements_Residential + "Ert"; Improvements_Residential = Improvements_Residential.Replace("~Ert", ""); string Overall = RealEstate_Residential + "~" + Improvements_Residential + "~" + Greenbelt_Residential; string[] Real = Overall.Split('~'); //for (int i = RealSplit.Count() - 1; i >= 0; i--) //{ // string assessment = RealSplit[i] + "~" + tdassess[1].Text.Trim() + "~" + tdassess[3].Text.Trim() + "~" + tdassess[5].Text.Trim(); ; // gc.insert_date(orderNumber, Parcel_ID, 123, assessment, 1,DateTime.Now); //} int K = 0; string FirstHalf = ""; try { FirstHalf = Real[K + 10] + "~" + Real[K + 11] + "~" + Real[K + 7] + "~" + Real[K + 8] + "~" + Real[K + 4] + "~" + Real[K + 5] + "~" + Real[K + 1] + "~" + Real[K + 2] + "~" + Real[K + 22] + "~" + Real[K + 23] + "~" + Real[K + 19] + "~" + Real[K + 20] + "~" + Real[K + 16] + "~" + Real[K + 17] + "~" + Real[K + 13] + "~" + Real[K + 14] + "~" + Real[K + 40] + "~" + Real[K + 41] + "~" + Real[K + 37] + "~" + Real[K + 38] + "~" + Real[K + 34] + "~" + Real[K + 35] + "~" + Real[K + 31] + "~" + Real[K + 32] + "~" + Real[K + 28] + "~" + Real[K + 29] + "~" + Real[K + 25] + "~" + Real[K + 26]; } catch { } gc.insert_date(orderNumber, Parcel_ID, 123, FirstHalf, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Assessment Details information", driver, "UT", "Utah"); driver.Navigate().GoToUrl(pathurl); Thread.Sleep(3000); //Tax history details driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/ul/li[3]")).SendKeys(Keys.Enter); gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Tax History Details information", driver, "UT", "Utah"); IWebElement tbtaxHist = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[3]/table/tbody")); IList <IWebElement> trtaxhist = tbtaxHist.FindElements(By.TagName("tr")); IList <IWebElement> tdtaxhist; foreach (IWebElement row in trtaxhist) { tdtaxhist = row.FindElements(By.TagName("td")); if (tdtaxhist.Count != 0 && !row.Text.Contains("Year")) { string taxhist = tdtaxhist[0].Text + "~" + tdtaxhist[1].Text + "~" + tdtaxhist[2].Text + "~" + tdtaxhist[3].Text + "~" + tdtaxhist[4].Text + "~" + tdtaxhist[5].Text + "~" + tdtaxhist[6].Text + "~" + tdtaxhist[7].Text + "~" + tdtaxhist[8].Text; gc.insert_date(orderNumber, Parcel_ID, 128, taxhist, 1, DateTime.Now); } } try { IWebElement taxdetailtable = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[3]/table/tbody")); IList <IWebElement> taxdetailtableRow = taxdetailtable.FindElements(By.TagName("tr")); int taxrowcount = taxdetailtableRow.Count; IList <IWebElement> taxdetailrowTD; int c = 0; foreach (IWebElement rowid1 in taxdetailtableRow) { taxdetailrowTD = rowid1.FindElements(By.TagName("td")); if (taxdetailrowTD.Count != 0 && c <= taxrowcount && c > 2) { IWebElement taxhistory = driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/div/div[3]/table/tbody/tr[" + c + "]/td[1]/a")); string taxurl = taxhistory.GetAttribute("href"); taxurllist.Add(taxurl); //Thread.Sleep(2000); //string year = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[1]/td/strong[2]")).Text; //gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "TaxDeailInformation" + year, driver); //IWebElement URL= driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[17]/td/a")); //string Url = URL.GetAttribute("href"); //gc.downloadfile(Url, orderNumber, Parcel_ID, "TaxBill" + year); ////driver.Navigate().GoToUrl("http://www.utahcounty.gov/LandRecords/Property.asp?av_serial="+Parcel_ID); //driver.Navigate().Back(); } // Thread.Sleep(3000); c++; } } catch { } int i1 = 0; string Delinquent = "", Paymentdetails = ""; foreach (string URL in taxurllist) { if (i1 < 3) { driver.Navigate().GoToUrl(URL); Thread.Sleep(4000); string SerialNo = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[1]/td/strong[1]")).Text.Trim(); string year = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[1]/td/strong[2]")).Text.Trim(); string Nettax = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[9]/td[2]")).Text.Trim(); string Payments = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[12]/td[2]")).Text.Trim(); string Taxbalance = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[14]/td[2]")).Text.Trim(); try { Delinquent = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[10]/td[4]/table/tbody/tr[1]/td")).Text.Trim(); } catch { } try { Paymentdetails = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[16]/td[1]/table/tbody")).Text; } catch { } if (i1 == 0) { amck.TaxId = SerialNo.Replace(":", "").Trim(); amck.TaxYear = year; amck.Instamount1 = Nettax; amck.Instamountpaid1 = Payments; if (Delinquent.Contains("Delinquent Tax Information")) { amck.IsDelinquent = "Yes"; } else { //amck.IsDelinquent = "No"; if (Taxbalance == "$0.00" && Paymentdetails.Contains("None")) { } else { if (amck.Instamount1 == amck.Instamountpaid1) { amck.InstPaidDue1 = "Paid"; amck.IsDelinquent = "No"; } else { amck.IsDelinquent = "Yes"; } if (Nettax == Taxbalance) { amck.InstPaidDue1 = "Due"; amck.IsDelinquent = "No"; } } } 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); } } gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "TaxDeailInformation" + year, driver, "UT", "Utah"); IWebElement URL1 = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[17]/td/a")); string Url = URL1.GetAttribute("href"); driver.Navigate().GoToUrl(Url); Thread.Sleep(6000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Tax Bill" + year, driver, "UT", "Utah"); driver.SwitchTo().Window(driver.WindowHandles.First()); Thread.Sleep(2000); //gc.downloadfile(Url, orderNumber, Parcel_ID, "TaxBill" + year); i1++; } } driver.Navigate().GoToUrl("http://www.utahcounty.gov/LandRecords/Property.asp?av_serial=" + Parcel_ID); driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/ul/li[3]")).SendKeys(Keys.Enter); //Tax payment details string Taxing_Authority = "", Good_PThrough_Date = "", date = "", deleiquent = ""; IWebElement tax_pay; try { tax_pay = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[3]/table/tbody/tr[3]/td[8]/a")); deleiquent = tax_pay.Text; if (deleiquent.Contains("Click for Payoff")) { tax_pay.SendKeys(Keys.Enter); Thread.Sleep(3000); IWebElement td = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td")); date = td.Text; date = WebDriverTest.After(date, "Total amount if paid as of").Trim(); date = WebDriverTest.Before(date, ". . .").Trim(); DateTime G_Date = Convert.ToDateTime(date); string dateChecking = DateTime.Now.ToString("MM") + "/15/" + DateTime.Now.ToString("yyyy"); if (G_Date < Convert.ToDateTime(dateChecking)) { //end of the month date = new DateTime(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM"))), DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(DateTime.Now.ToString("MM")))).ToString("MM/dd/yyyy"); } else if (G_Date > Convert.ToDateTime(dateChecking)) { // nextEndOfMonth if ((Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM"))) < 12)) { date = new DateTime(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(Convert.ToInt16(DateTime.Now.ToString("MM")) + 1), DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), Convert.ToInt16(DateTime.Now.ToString("MM")) + 1)).ToString("MM/dd/yyyy"); } else { int nxtYr = Convert.ToInt16(DateTime.Now.ToString("yyyy")) + 1; date = new DateTime(nxtYr, 1, DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), 1)).ToString("MM/dd/yyyy"); } } string Mon = ""; string[] da = date.Split('/'); string month = da[0]; string Date = da[1]; string year = da[2]; switch (month) { case "01": Mon = "January"; break; case "02": Mon = "February"; break; case "03": Mon = "March"; break; case "04": Mon = "April"; break; case "05": Mon = "May"; break; case "06": Mon = "June"; break; case "07": Mon = "July"; break; case "08": Mon = "August"; break; case "09": Mon = "September"; break; case "10": Mon = "October"; break; case "11": Mon = "November"; break; case "12": Mon = "December"; break; } driver.FindElement(By.XPath("//*[@id='av_date_btn']")).Click(); //select month for (int i = 1; i < 12; i++) { string calmy = driver.FindElement(By.XPath("/html/body/div[2]/table/thead/tr[1]/td[2]")).Text; string[] my = calmy.Split(','); string cal_month = my[0]; string cal_year = my[1]; if (cal_month.Contains(Mon)) { break; } else { driver.FindElement(By.XPath("/html/body/div[2]/table/thead/tr[2]/td[4]")).Click(); } } //select year for (int j = 1; j <= 5; j++) { string calmy = driver.FindElement(By.XPath("/html/body/div[2]/table/thead/tr[1]/td[2]")).Text; string[] my = calmy.Split(','); string cal_month = my[0]; string cal_year = my[1]; if (cal_year.Contains(year)) { break; } else { driver.FindElement(By.XPath("/html/body/div[2]/table/thead/tr[2]/td[5]")).Click(); } } //select date IWebElement tbdate = driver.FindElement(By.XPath("/html/body/div[2]/table/tbody")); IList <IWebElement> trdate = tbdate.FindElements(By.TagName("tr")); IList <IWebElement> tddate; foreach (IWebElement row in trdate) { tddate = row.FindElements(By.TagName("td")); for (int a = 1; a <= 5; a++) { if (row.Text.Contains(Date)) { for (int b = 1; b <= 8; b++) { if (tddate[b].Text.Contains(Date)) { driver.FindElement(By.XPath("/html/body/div[2]/table/tbody/tr[" + a + "]/td[" + b + "]")).Click(); break; } } } } } driver.FindElement(By.XPath("//*[@id='button']")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Deliquent Tax", driver, "UT", "Utah"); Taxing_Authority = driver.FindElement(By.XPath("//p[contains(text(),'The Treasurer')]/following-sibling::p")).Text; if (Taxing_Authority.Contains("\r\n")) { Taxing_Authority = Taxing_Authority.Replace("\r\n", " "); } IWebElement deliTB = driver.FindElement(By.XPath("//p[contains(text(),'Serial Number:')]/following-sibling::table/tbody")); IList <IWebElement> trdeli = deliTB.FindElements(By.TagName("tr")); IList <IWebElement> tddeli; foreach (IWebElement row in trdeli) { tddeli = row.FindElements(By.TagName("td")); if (tddeli.Count != 0 && !row.Text.Contains("Year") && !row.Text.Contains("amount if paid as") && !row.Text.Contains("--") && (row.Text != " ")) { string deliq = tddeli[0].Text + "~" + tddeli[1].Text + "~" + tddeli[2].Text + "~" + tddeli[3].Text + "~" + tddeli[4].Text + "~" + tddeli[5].Text + "~" + date + "~" + Taxing_Authority; if (deliq.Contains("\r\n")) { deliq = deliq.Replace("\r\n", ""); } gc.insert_date(orderNumber, Parcel_ID, 143, deliq, 1, DateTime.Now); } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl(pathurl); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/ul/li[3]")).SendKeys(Keys.Enter); Thread.Sleep(3000); driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/div/div[3]/table/tbody/tr[3]/td[6]/div/a")).SendKeys(Keys.Enter); gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Tax Payment Details information", driver, "UT", "Utah"); try { IWebElement tbtax = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody")); IList <IWebElement> trtax = tbtax.FindElements(By.TagName("tr")); IList <IWebElement> tdtax; foreach (IWebElement row in trtax) { tdtax = row.FindElements(By.TagName("td")); if (tdtax.Count != 0 && !row.Text.Contains("Tax Year")) { string tax = tdtax[0].Text + "~" + tdtax[2].Text + "~" + tdtax[4].Text + "~" + tdtax[6].Text + "~" + tdtax[8].Text + "~" + tdtax[10].Text + "~" + tdtax[12].Text + "~" + tdtax[14].Text + "~" + tdtax[16].Text; gc.insert_date(orderNumber, Parcel_ID, 129, tax, 1, DateTime.Now); } } } catch { } } } catch { } if (deleiquent == "") { // driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/div/div[3]/table/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); gc.CreatePdf_Chrome(orderNumber, Parcel_ID, "Tax Payment Details information", driver, "UT", "Utah"); try { IWebElement tbtax = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody")); IList <IWebElement> trtax = tbtax.FindElements(By.TagName("tr")); IList <IWebElement> tdtax; foreach (IWebElement row in trtax) { tdtax = row.FindElements(By.TagName("td")); if (tdtax.Count > 1 && tdtax[0].Text.Trim() != "") { string tax = tdtax[0].Text + "~" + tdtax[1].Text; gc.insert_date(orderNumber, Parcel_ID, 129, tax, 1, DateTime.Now); } } } catch { } } driver.Navigate().GoToUrl(pathurl); Thread.Sleep(3000); //driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr/td/div/ul/li[3]")).SendKeys(Keys.Enter); //driver.FindElement(By.XPath("//*[@id='TabbedPanels1']/div/div[3]/table/tbody/tr[3]/td[1]/a")).SendKeys(Keys.Enter); //IWebElement URL= driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table/tbody/tr[17]/td/a")); //string Url = URL.GetAttribute("href"); //// URL.SendKeys(Keys.Enter); //// driver.SwitchTo().Window(driver.WindowHandles.Last()); // driver.Navigate().GoToUrl(Url); //string billpdf = outputPath + Parcel_ID.Replace(":", "") + "tax_bill.pdf"; //System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; //WebClient downloadpdf = new WebClient(); //downloadpdf.DownloadFile(Url, billpdf); // CreatePdf_WOP(orderNumber, "Tax Bill"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "UT", "Utah", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "UT", "Utah"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_ORDeschutes(string address, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; GlobalClass.sname = "OR"; GlobalClass.cname = "Deschutes"; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; // driver = new ChromeDriver();; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "OR", "Deschutes"); if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { driver.Quit(); return("MultiParcel"); } else if (HttpContext.Current.Session["titleparcel"].ToString() == "") { HttpContext.Current.Session["Nodata_ORDeschutes"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://dial.deschutes.org/"); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/div[1]/div[1]/ul/li[6]/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("value")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "OR", "Deschutes"); driver.FindElement(By.XPath("/html/body/div[1]/div[2]/form/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "OR", "Deschutes"); //MultiParcel try { IWebElement MultiTable = driver.FindElement(By.XPath("/html/body/div[1]/div[2]/div[2]/div[4]/div/table/tbody")); IList <IWebElement> MultiTR = MultiTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiTD; gc.CreatePdf_WOP(orderNumber, "MultiAddresssearch", driver, "OR", "Deschutes"); foreach (IWebElement Multi in MultiTR) { MultiTD = Multi.FindElements(By.TagName("td")); if (MultiTD.Count != 0 && !Multi.Text.Contains("Personal")) { parcelNumber = MultiTD[2].Text; OwnerName = MultiTD[3].Text; Property_Address = MultiTD[4].Text; City = MultiTD[5].Text; Subdivision = MultiTD[6].Text; Property_Type = MultiTD[7].Text; Multidata = OwnerName + "~" + Property_Address + "~" + City + "~" + Subdivision + "~" + Property_Type; gc.insert_date(orderNumber, parcelNumber, 272, Multidata, 1, DateTime.Now); } } driver.Quit(); HttpContext.Current.Session["multiParcel_ORDeschutes"] = "Yes"; if (MultiTR.Count > 25) { HttpContext.Current.Session["multiParcel_ORDeschutes_Multicount"] = "Maximum"; } return("MultiParcel"); } catch { } } else if (searchType == "parcel") { driver.Navigate().GoToUrl("http://dial.deschutes.org/"); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/div[1]/div[1]/ul/li[4]/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("value")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "OR", "Deschutes"); driver.FindElement(By.XPath("/html/body/div[1]/div[2]/form/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(2000); } else if (searchType == "ownername") { driver.Navigate().GoToUrl("http://dial.deschutes.org/"); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/div[1]/div[1]/ul/li[3]/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("value")).SendKeys(ownername); gc.CreatePdf(orderNumber, parcelNumber, "OwnerSearch", driver, "OR", "Deschutes"); driver.FindElement(By.XPath("/html/body/div[1]/div[2]/form/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(2000); //MultiParcel try { IWebElement MultiTable = driver.FindElement(By.XPath("/html/body/div[1]/div[2]/div[2]/div[4]/div/table/tbody")); IList <IWebElement> MultiTR = MultiTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiTD; gc.CreatePdf(orderNumber, parcelNumber, "MultiOwnersearch", driver, "OR", "Deschutes"); foreach (IWebElement Multi in MultiTR) { MultiTD = Multi.FindElements(By.TagName("td")); if (MultiTD.Count != 0 && !Multi.Text.Contains("Personal")) { parcelNumber = MultiTD[2].Text; OwnerName = MultiTD[3].Text; Property_Address = MultiTD[4].Text; City = MultiTD[5].Text; Subdivision = MultiTD[6].Text; Property_Type = MultiTD[7].Text; Multidata = OwnerName + "~" + Property_Address + "~" + City + "~" + Subdivision + "~" + Property_Type; gc.insert_date(orderNumber, parcelNumber, 272, Multidata, 1, DateTime.Now); } } HttpContext.Current.Session["multiParcel_ORDeschutes"] = "Yes"; if (MultiTR.Count > 25) { HttpContext.Current.Session["multiParcel_ORDeschutes_Multicount"] = "Maximum"; } driver.Quit(); return("MultiParcel"); } catch { } } try { IWebElement INodata = driver.FindElement(By.XPath("//*[@id='content-app']/div[2]")); if (INodata.Text.Contains("returned no matches")) { HttpContext.Current.Session["Nodata_ORDeschutes"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //Property_Details try { Mailing_Name = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[1]/p[2]")).Text; Mailing_Name = gc.Between(Mailing_Name, "Mailing Name:", "Map and Taxlot:").Trim(); Map_Tax = driver.FindElement(By.Id("uxMapTaxlot")).Text; Account_Number = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[1]/p[2]")).Text; Account_Number = gc.Between(Account_Number, "Account:", "Situs Address:").Trim(); Situs_Address = driver.FindElement(By.Id("uxSitusAddress")).Text; Tax_Status = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[1]/p[2]")).Text; Tax_Status = WebDriverTest.After(Tax_Status, "Tax Status:").Trim(); Assessor_Property_Description = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[2]/p[4]/strong[2]/a")).Text; Assessor_Acres = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[2]/p[5]")).Text; Assessor_Acres = gc.Between(Assessor_Acres, "Assessor Acres:", "Property Class:").Trim(); Property_Class = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[2]/p[5]")).Text; Property_Class = WebDriverTest.After(Property_Class, "Property Class:").Trim(); gc.CreatePdf(orderNumber, Account_Number, "Property Details", driver, "OR", "Deschutes"); IWebElement ValueTable = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[3]/table[1]/tbody")); Thread.Sleep(2000); IList <IWebElement> ValueTR = ValueTable.FindElements(By.TagName("tr")); IList <IWebElement> ValueTD; List <string> Land = new List <string>(); List <string> Structures = new List <string>(); List <string> Total = new List <string>(); int i = 0; foreach (IWebElement Value in ValueTR) { ValueTD = Value.FindElements(By.TagName("td")); if (i == 0) { Land.Add(ValueTD[1].Text); } else if (i == 1) { Structures.Add(ValueTD[1].Text); } else if (i == 2) { Total.Add(ValueTD[1].Text); } i++; } IWebElement AssessedTable = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[3]/table[2]/tbody")); IList <IWebElement> AssessedTR = AssessedTable.FindElements(By.TagName("tr")); IList <IWebElement> AssessedTD; List <string> Maximum_Assessed = new List <string>(); List <string> Assessed_Value = new List <string>(); List <string> Veterans_Exemption = new List <string>(); int j = 0; foreach (IWebElement Assessed in AssessedTR) { AssessedTD = Assessed.FindElements(By.TagName("td")); if (j == 0) { Maximum_Assessed.Add(AssessedTD[1].Text); } else if (j == 1) { Assessed_Value.Add(AssessedTD[1].Text); } else if (j == 2) { Veterans_Exemption.Add(AssessedTD[1].Text); } j++; } driver.FindElement(By.XPath("/html/body/div[1]/div[2]/ul/li[2]/ul/li[5]/a")).Click(); Thread.Sleep(2000); Year_Built = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/table[1]/tbody/tr/td[3]")).Text; Property_Deatail = Mailing_Name + "~" + Map_Tax + "~" + Account_Number + "~" + Situs_Address + "~" + Tax_Status + "~" + Assessor_Property_Description + "~" + Assessor_Acres + "~" + Property_Class + "~" + Land[0] + "~" + Structures[0] + "~" + Total[0] + "~" + Maximum_Assessed[0] + "~" + Assessed_Value[0] + "~" + Veterans_Exemption[0] + "~" + Year_Built; gc.insert_date(orderNumber, Account_Number, 273, Property_Deatail, 1, DateTime.Now); } catch { } //Assement_Details try { driver.FindElement(By.XPath("/html/body/div[1]/div[2]/ul/li[2]/ul/li[2]/a")).Click(); Thread.Sleep(2000); IWebElement AssementTable = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/table/tbody")); Thread.Sleep(4000); IList <IWebElement> AssementTR = AssementTable.FindElements(By.TagName("tr")); IList <IWebElement> AssementTH; IList <IWebElement> AssementTD; gc.CreatePdf(orderNumber, Account_Number, "Assement Details", driver, "OR", "Deschutes"); List <string> Value_History = new List <string>(); List <string> RealMarketValue_Land = new List <string>(); List <string> RealMarketValue_Structures = new List <string>(); List <string> TotalRealMarket_Value = new List <string>(); List <string> MaximumAssessed_Value = new List <string>(); List <string> TotalAssessed_Value = new List <string>(); List <string> VeteransExemption_Value = new List <string>(); int k = 0; foreach (IWebElement Assement in AssementTR) { AssementTD = Assement.FindElements(By.TagName("td")); if (k == 0) { AssementTH = Assement.FindElements(By.TagName("th")); Value_History.Add(AssementTH[1].Text); Value_History.Add(AssementTH[2].Text); Value_History.Add(AssementTH[3].Text); Value_History.Add(AssementTH[4].Text); Value_History.Add(AssementTH[5].Text); } else if (k == 1) { RealMarketValue_Land.Add(AssementTD[1].Text); RealMarketValue_Land.Add(AssementTD[2].Text); RealMarketValue_Land.Add(AssementTD[3].Text); RealMarketValue_Land.Add(AssementTD[4].Text); RealMarketValue_Land.Add(AssementTD[5].Text); } else if (k == 2) { RealMarketValue_Structures.Add(AssementTD[1].Text); RealMarketValue_Structures.Add(AssementTD[2].Text); RealMarketValue_Structures.Add(AssementTD[3].Text); RealMarketValue_Structures.Add(AssementTD[4].Text); RealMarketValue_Structures.Add(AssementTD[5].Text); } else if (k == 3) { TotalRealMarket_Value.Add(AssementTD[1].Text); TotalRealMarket_Value.Add(AssementTD[2].Text); TotalRealMarket_Value.Add(AssementTD[3].Text); TotalRealMarket_Value.Add(AssementTD[4].Text); TotalRealMarket_Value.Add(AssementTD[5].Text); } else if (k == 4) { MaximumAssessed_Value.Add(AssementTD[1].Text); MaximumAssessed_Value.Add(AssementTD[2].Text); MaximumAssessed_Value.Add(AssementTD[3].Text); MaximumAssessed_Value.Add(AssementTD[4].Text); MaximumAssessed_Value.Add(AssementTD[5].Text); } else if (k == 5) { TotalAssessed_Value.Add(AssementTD[1].Text); TotalAssessed_Value.Add(AssementTD[2].Text); TotalAssessed_Value.Add(AssementTD[3].Text); TotalAssessed_Value.Add(AssementTD[4].Text); TotalAssessed_Value.Add(AssementTD[5].Text); } else if (k == 6) { VeteransExemption_Value.Add(AssementTD[1].Text); VeteransExemption_Value.Add(AssementTD[2].Text); VeteransExemption_Value.Add(AssementTD[3].Text); VeteransExemption_Value.Add(AssementTD[4].Text); VeteransExemption_Value.Add(AssementTD[5].Text); } k++; } Assemnt_Details1 = Value_History[0] + "~" + RealMarketValue_Land[0] + "~" + RealMarketValue_Structures[0] + "~" + TotalRealMarket_Value[0] + "~" + MaximumAssessed_Value[0] + "~" + TotalAssessed_Value[0] + "~" + VeteransExemption_Value[0]; Assemnt_Details2 = Value_History[1] + "~" + RealMarketValue_Land[1] + "~" + RealMarketValue_Structures[1] + "~" + TotalRealMarket_Value[1] + "~" + MaximumAssessed_Value[1] + "~" + TotalAssessed_Value[1] + "~" + VeteransExemption_Value[1]; Assemnt_Details3 = Value_History[2] + "~" + RealMarketValue_Land[2] + "~" + RealMarketValue_Structures[2] + "~" + TotalRealMarket_Value[2] + "~" + MaximumAssessed_Value[2] + "~" + TotalAssessed_Value[2] + "~" + VeteransExemption_Value[2]; Assemnt_Details4 = Value_History[3] + "~" + RealMarketValue_Land[3] + "~" + RealMarketValue_Structures[3] + "~" + TotalRealMarket_Value[3] + "~" + MaximumAssessed_Value[3] + "~" + TotalAssessed_Value[3] + "~" + VeteransExemption_Value[3]; Assemnt_Details5 = Value_History[4] + "~" + RealMarketValue_Land[4] + "~" + RealMarketValue_Structures[4] + "~" + TotalRealMarket_Value[4] + "~" + MaximumAssessed_Value[4] + "~" + TotalAssessed_Value[4] + "~" + VeteransExemption_Value[4]; gc.insert_date(orderNumber, Account_Number, 282, Assemnt_Details1, 1, DateTime.Now); gc.insert_date(orderNumber, Account_Number, 282, Assemnt_Details2, 1, DateTime.Now); gc.insert_date(orderNumber, Account_Number, 282, Assemnt_Details3, 1, DateTime.Now); gc.insert_date(orderNumber, Account_Number, 282, Assemnt_Details4, 1, DateTime.Now); gc.insert_date(orderNumber, Account_Number, 282, Assemnt_Details5, 1, DateTime.Now); } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Information try { driver.FindElement(By.XPath("/html/body/div[1]/div[2]/ul/li[2]/ul/li[3]/a")).Click(); Thread.Sleep(2000); int ye = 0; Tax_Code = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[2]/div[1]/p[3]")).Text; Tax_Code = WebDriverTest.After(Tax_Code, "Tax Code Area: ").Trim(); IWebElement taxyeartable = driver.FindElement(By.XPath("//*[@id='results-data']/div[4]/table[1]/tbody")); IList <IWebElement> Taxyearrow = taxyeartable.FindElements(By.TagName("tr")); IList <IWebElement> Taxyeartd; foreach (IWebElement Taxyear in Taxyearrow) { Taxyeartd = Taxyear.FindElements(By.TagName("td")); if (Taxyeartd.Count != 0 && ye == 0) { TaxYear_2016 = Taxyeartd[0].Text; TaxYear_2017 = Taxyeartd[1].Text; TaxYear_2018 = Taxyeartd[1].Text; ye++; } } gc.CreatePdf(orderNumber, Account_Number, "Tax Details", driver, "OR", "Deschutes"); IWebElement TBPayment = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[4]/table[2]/tbody")); Thread.Sleep(2000); IList <IWebElement> TRPayment = TBPayment.FindElements(By.TagName("tr")); IList <IWebElement> TDPayment; foreach (IWebElement PaymentTax in TRPayment) { TDPayment = PaymentTax.FindElements(By.TagName("td")); if (TDPayment.Count != 0 && !PaymentTax.Text.Contains("Year") && !PaymentTax.Text.Contains("Total:")) { Payment_Year = TDPayment[0].Text; Date_Due = TDPayment[1].Text; Transaction_Type = TDPayment[2].Text; Transaction_Date = TDPayment[3].Text; AsOf_Date = TDPayment[4].Text; Amount_Received = TDPayment[5].Text; Tax_Due = TDPayment[6].Text; Discount_Amount = TDPayment[7].Text; Interest_Charged = TDPayment[8].Text; Refund_Interest = TDPayment[9].Text; Payment_Details = Payment_Year + "~" + Date_Due + "~" + Transaction_Type + "~" + Transaction_Date + "~" + AsOf_Date + "~" + Amount_Received + "~" + Tax_Due + "~" + Discount_Amount + "~" + Interest_Charged + "~" + Refund_Interest; gc.insert_date(orderNumber, Account_Number, 292, Payment_Details, 1, DateTime.Now); } if (TDPayment.Count == 3) { string Total1 = TDPayment[0].Text; string Total1_Value = TDPayment[1].Text; string Payment_Details1 = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + Total1 + "~" + Total1_Value + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, Account_Number, 292, Payment_Details1, 1, DateTime.Now); } } try { //Download Pdf files IWebElement CurrentBalance = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[2]/div[1]/p[2]/a")); CurrentTaxBalance = CurrentBalance.GetAttribute("href"); gc.downloadfile(CurrentTaxBalance, orderNumber, Account_Number, "Current_Balance", "OR", "Deschutes"); FilePath = gc.filePath(orderNumber, Account_Number) + "Current_Balance.pdf"; PdfReader reader; reader = new PdfReader(FilePath); String textFromPage = PdfTextExtractor.GetTextFromPage(reader, 1); System.Diagnostics.Debug.WriteLine("" + textFromPage); pdftext = textFromPage; try { Acct_sttus = gc.Between(pdftext, "Account Status ", " Loan Number"); Rol_Typ = gc.Between(pdftext, "Roll Type ", " Property"); Situs = gc.Between(pdftext, "Address ", " Interest"); Id_situs = gc.Between(pdftext, "ID ", "Situs"); Ints_Id = gc.Between(pdftext, "To ", "Tax Summary"); TaxSummary_details = Acct_sttus + "~" + Rol_Typ + "~" + Situs + "~" + Id_situs + "~" + Ints_Id; gc.insert_date(orderNumber, Account_Number, 898, TaxSummary_details, 1, DateTime.Now); } catch { } tableassess = GlobalClass.After(pdftext, "Due Date").Trim(); string[] tableArray = tableassess.Split('\n'); List <string> rowarray1 = new List <string>(); int i = 0, j = 0, k = 0, y = 0, w = 0; int count1 = tableArray.Length; for (i = 0; i < count1; i++) { a1 = tableArray[i].Replace(" ", "~"); string[] rowarray = a1.Split('~'); rowarray1.AddRange(rowarray); if (rowarray1.Count != 5 & rowarray1.Count != 3 && rowarray1.Count != 2) { newrow = rowarray1[j] + "~" + rowarray1[j + 1] + "~" + rowarray1[j + 2] + "~" + rowarray1[j + 3] + "~" + rowarray1[j + 4] + "~" + rowarray1[j + 5] + "~" + rowarray1[j + 6] + "~" + rowarray1[j + 7] + " " + rowarray1[j + 8] + " " + rowarray1[j + 9]; gc.insert_date(orderNumber, Account_Number, 896, newrow, 1, DateTime.Now); rowarray1.Clear(); } if (rowarray1.Count == 5) { newrow1 = "" + "~" + rowarray1[k] + "~" + rowarray1[k + 1] + "~" + rowarray1[k + 2] + "~" + rowarray1[k + 3] + "~" + rowarray1[k + 4] + "~" + "" + "~" + "" + " " + "" + " " + ""; gc.insert_date(orderNumber, Account_Number, 896, newrow1, 1, DateTime.Now); } if (rowarray1.Count == 3) { newrow11 = " " + "~" + "Total" + "~" + rowarray1[y] + "~" + rowarray1[y + 1] + "~" + "$0.00" + "~" + rowarray1[y + 2] + "~" + "" + "~" + "" + " " + "" + " " + ""; gc.insert_date(orderNumber, Account_Number, 896, newrow11, 1, DateTime.Now); rowarray1.Clear(); } } try { string FinalRow = newrow10.Replace("", "") + "~" + newrow11 + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + " " + "" + " " + ""; gc.insert_date(orderNumber, Account_Number, 896, FinalRow, 1, DateTime.Now); } catch { } //try //{ // IWebElement Tax_State1 = driver.FindElement(By.XPath("//*[@id='results-data']/div[4]/table[1]/tbody/tr[3]/td[3]/a")); // Tax_Statemet1 = Tax_State1.GetAttribute("href"); // gc.downloadfile(Tax_Statemet1, orderNumber, Account_Number, "Tax Statemet 2015", "OR", "Deschutes"); // IWebElement Tax_State2 = driver.FindElement(By.XPath("//*[@id='results-data']/div[4]/table[1]/tbody/tr[3]/td[4]/a")); // Tax_Statemet2 = Tax_State2.GetAttribute("href"); // gc.downloadfile(Tax_Statemet2, orderNumber, Account_Number, "Tax Statemet 2016", "OR", "Deschutes"); //} //catch //{ } List <string> urlListTaxBills = new List <string>(); IWebElement TaxStateTB = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/div[4]/table[1]/tbody")); IList <IWebElement> TaxStateTR = TaxStateTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxStateA; foreach (IWebElement TaxState in TaxStateTR) { TaxStateA = TaxState.FindElements(By.TagName("a")); if (TaxStateA.Count != 0) { urlListTaxBills.Add(TaxStateA[0].GetAttribute("href")); urlListTaxBills.Add(TaxStateA[1].GetAttribute("href")); urlListTaxBills.Add(TaxStateA[2].GetAttribute("href")); } } try { int z = 0; int bill = 0; foreach (string sewer in urlListTaxBills) { if (z == 0 || z == 1 || z == 2) { gc.downloadfile(sewer, orderNumber, Account_Number, "TaxYear_Statement" + bill, "OR", "Deschutes"); filename = "TaxYear_Statement" + bill; FilePath1 = gc.filePath(orderNumber, Account_Number) + filename + ".pdf"; PdfReader reader1; reader1 = new PdfReader(FilePath1); String textFromPage1 = PdfTextExtractor.GetTextFromPage(reader1, 1); System.Diagnostics.Debug.WriteLine("" + textFromPage1); pdftext1 = textFromPage1; tableassess2 = gc.Between(pdftext1, "PAYMENT OPTIONS", "TOTAL DUE (").Trim(); string[] tableArray2 = tableassess2.Split('\n'); List <string> rowarray4 = new List <string>(); int n = 0, o = 0, p = 0, q = 0; int count3 = tableArray2.Length; for (n = 1; n < count3; n++) { a3 = tableArray2[n].Replace(" ", "~"); string[] rowarray5 = a3.Split('~'); rowarray4.AddRange(rowarray5); if (rowarray4.Count == 4) { newrow4 = rowarray4[0] + "~" + rowarray4[1] + "~" + rowarray4[2] + "~" + rowarray4[3]; gc.insert_date(orderNumber, Account_Number, 906, newrow4, 1, DateTime.Now); } if (rowarray4.Count == 3) { if (q == 2) { newrow4 = rowarray4[0] + "~" + "" + "~" + rowarray4[1] + "~" + rowarray4[2]; gc.insert_date(orderNumber, Account_Number, 906, newrow4, 1, DateTime.Now); } if (q == 3) { newrow4 = "Total" + "~" + rowarray4[0] + "~" + rowarray4[1] + "~" + rowarray4[2]; gc.insert_date(orderNumber, Account_Number, 906, newrow4, 1, DateTime.Now); q++; } } if (rowarray4.Count == 2) { newrow4 = rowarray4[0] + "~" + "" + "~" + "" + "~" + rowarray4[1]; gc.insert_date(orderNumber, Account_Number, 906, newrow4, 1, DateTime.Now); } q++; rowarray4.Clear(); } year = gc.Between(pdftext1, "DESCHUTES COUNTY REAL", "PROPERTY TAXES ACCOUNT NO.").Trim(); tableassess3 = gc.Between(pdftext1, "Date Due Amount", "Mailing address change on back").Trim(); try { tableassess3 = GlobalClass.After(tableassess3, "Date Due Amount"); } catch { } line1 = gc.Between(tableassess3, "Full Payment Enclosed", "or 2/3 Payment Enclosed").Trim(); line2 = gc.Between(tableassess3, "or 2/3 Payment Enclosed", "or 1/3 Payment Enclosed").Trim(); line3 = GlobalClass.After(tableassess3, "or 1/3 Payment Enclosed").Trim(); tableArray2 = line1.Split('\n'); line1 = tableArray2[0]; line2 = line2 + " " + tableArray2[1] + " " + tableArray2[2]; line3 = line3.Replace("\n", " "); string[] tableline1 = line1.Split(' '); string[] tableline2 = line2.Split(' '); string[] tableline3 = line3.Split(' '); newrow3 = year + "~" + "Full Payment Enclosed" + "~" + tableline1[0] + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + tableline1[1] + "~" + tableline1[2]; gc.insert_date(orderNumber, Account_Number, 899, newrow3, 1, DateTime.Now); newrow3 = year + "~" + "or 2/3 Payment Enclosed" + "~" + tableline2[0] + "~" + tableline2[1] + "~" + tableline2[3] + "~" + "" + "~" + "" + "~" + tableline2[4] + "~" + tableline2[2]; gc.insert_date(orderNumber, Account_Number, 899, newrow3, 1, DateTime.Now); newrow3 = year + "~" + "or 1/3 Payment Enclosed" + "~" + tableline3[0] + "~" + tableline3[1] + "~" + tableline3[2] + "~" + tableline3[3] + "~" + tableline3[6] + "~" + tableline3[4] + "~" + tableline3[5]; gc.insert_date(orderNumber, Account_Number, 899, newrow3, 1, DateTime.Now); bill++; } } } catch { } } catch { } } catch { } //Sales_Information try { driver.FindElement(By.XPath("/html/body/div[1]/div[2]/ul/li[2]/ul/li[4]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Account_Number, "Sales Details", driver, "OR", "Deschutes"); } catch { } //Land_Structure try { driver.FindElement(By.XPath("//*[@id='navigation']/ul/li[2]/ul/li[5]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Account_Number, "Land Structure Details", driver, "OR", "Deschutes"); } catch { } //SpecialAssements_Details try { driver.FindElement(By.XPath("/html/body/div[1]/div[2]/ul/li[2]/ul/li[6]/a")).Click(); Thread.Sleep(2000); IWebElement SpecialTable = driver.FindElement(By.XPath("/html/body/div[1]/div[3]/div[2]/div[2]/table/tbody")); Thread.Sleep(2000); IList <IWebElement> SpecialTR = SpecialTable.FindElements(By.TagName("tr")); IList <IWebElement> SpecialTD; gc.CreatePdf(orderNumber, Account_Number, "Special Details", driver, "OR", "Deschutes"); foreach (IWebElement Special in SpecialTR) { SpecialTD = Special.FindElements(By.TagName("td")); if (SpecialTD.Count != 0) { Special_Description = SpecialTD[0].Text; Special_Amount = SpecialTD[1].Text; Special_Year = SpecialTD[2].Text; Special_details = Special_Description + "~" + Special_Amount + "~" + Special_Year; gc.insert_date(orderNumber, Account_Number, 290, Special_details, 1, DateTime.Now); } } } catch { } try { Tax_Authority = "Deschutes Services Building,1300 NW Wall Street, 2nd Floor Bend, OR 97701" + " " + "(541) 388 - 6540 Phone" + " " + "(541) 385 - 3248 Fax"; } catch { } Tax_details = Tax_Code + "~" + TaxYear_2014 + "~" + TaxYear_2015 + "~" + TaxYear_2016 + "~" + TaxYear_2017 + "~" + TaxYear_2018 + "~" + Tax_Authority; gc.insert_date(orderNumber, Account_Number, 291, Tax_details, 1, DateTime.Now); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "OR", "Deschutes", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); //megrge pdf files gc.mergpdf(orderNumber, "OR", "Deschutes"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_Eldarado(string Address, string account, string parcelNumber, string ownername, string searchType, string orderno, string directParcel) { GlobalClass.global_orderNo = orderno; HttpContext.Current.Session["orderNo"] = orderno; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { int multicount = 0; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string multiparcel = "", MapTaxLot = "", SitusAddress = "", LegalDescription = ""; IWebElement PropertyValidation; string[] stringSeparators1 = new string[] { "\r\n" }; List <string> listurl = new List <string>(); List <string> Columnurl = 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", "El Dorado"); // parcelNumber = GlobalClass.global_parcelNo; // if (GlobalClass.TitleFlex_Search == "Yes") // { // driver.Quit(); // return "MultiParcel"; // } // searchType = "parcel"; //} if (searchType == "address") { driver.Navigate().GoToUrl("https://common3.mptsweb.com/MBC/eldorado/tax/search"); IWebElement PropertyInformation = driver.FindElement(By.Id("SearchVal")); SelectElement PropertyInformationSelect = new SelectElement(PropertyInformation); PropertyInformationSelect.SelectByValue("situs"); driver.FindElement(By.Id("SearchValue")).SendKeys(Address); driver.FindElement(By.Id("SearchSubmit")).Click(); Thread.Sleep(2000); IWebElement Addresstax = driver.FindElement(By.XPath("//*[@id='ResultDiv']/div")); string Firststep = ""; int Max = 0; try { IWebElement PropertyIteamTable = driver.FindElement(By.XPath("//*[@id='ResultDiv']/div/div")); IList <IWebElement> PropertyIeamRow = PropertyIteamTable.FindElements(By.TagName("p")); foreach (IWebElement Property in PropertyIeamRow) { if (PropertyIeamRow.Count != 0 & !Property.Text.Contains("View Details")) { string Parcelnumber = GlobalClass.After(Property.Text, "Fee Parcel :").Trim(); string[] splitparcel = Parcelnumber.Split('-'); string split3 = splitparcel[2].Substring(1, 2); parcelNumber = splitparcel[0] + splitparcel[1] + split3; string Addressta = gc.Between(Property.Text, "Address :", "Year :"); string Yearpar = gc.Between(Property.Text, "Year :", "TRA :"); string roallcast = gc.Between(Property.Text, "Roll Cat. :", "Fee Parcel :"); string Multiresult = "~" + Addressta + "~" + Yearpar + "~" + roallcast; gc.insert_date(orderno, Parcelnumber, 360, Multiresult, 1, DateTime.Now); Max++; } } if (Max == 1) { searchType = "parcel"; } if (Max > 1 & Max < 26) { HttpContext.Current.Session["multiParcel_CAEldorado"] = "Yes"; gc.CreatePdf_WOP(orderno, "MultyAddressSearch", driver, "CA", "El Dorado"); driver.Quit(); return("MultiParcel"); } if (Max > 25) { HttpContext.Current.Session["multiParcel_CAEldorado_Count"] = "Maximum"; gc.CreatePdf_WOP(orderno, "MultyAddressSearch", driver, "CA", "El Dorado"); driver.Quit(); return("Maximum"); } } catch { } try { IWebElement INodata = driver.FindElement(By.Id("ResultDiv")); if (INodata.Text.Contains("no matching records were found")) { HttpContext.Current.Session["Nodata_CAEldorado"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("http://main.edcgov.us/CGI/WWB012/WWM400/A"); Thread.Sleep(3000); var SerachCategory = driver.FindElement(By.XPath("//*[@id='T']")); var selectElement1 = new SelectElement(SerachCategory); selectElement1.SelectByText("Secured Parcel Number (999-999-99)"); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='K']")).SendKeys(parcelNumber.Trim()); gc.CreatePdf(orderno, parcelNumber, "Account Number Search", driver, "CA", "El Dorado"); Thread.Sleep(1000); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/span/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderno, parcelNumber, "Parcel Search", driver, "CA", "El Dorado"); } else if (searchType == "ownername") { driver.Navigate().GoToUrl("http://main.edcgov.us/CGI/WWB012/WWM400/A"); Thread.Sleep(3000); var SerachCategory = driver.FindElement(By.XPath("//*[@id='T']")); var selectElement1 = new SelectElement(SerachCategory); selectElement1.SelectByText("Owner's Name (Last First) or (Company)"); Thread.Sleep(3000); gc.CreatePdf_WOP(orderno, "ownerNameSearch", driver, "CA", "El Dorado"); driver.FindElement(By.XPath("//*[@id='K']")).SendKeys(ownername.Trim()); Thread.Sleep(1000); try { IWebElement ImultiCount = driver.FindElement(By.XPath("//*[@id='Q']")); SelectElement selectCount = new SelectElement(ImultiCount); selectCount.SelectByText("50"); } catch { } driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/span/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { string strmultiCount = driver.FindElement(By.XPath("/html/body/p[2]")).Text; string strMcount = gc.Between(strmultiCount, "Record Count = ", " of"); if (Convert.ToInt32(strMcount) > 25) { HttpContext.Current.Session["multiParcel_CAEldorado_Count"] = "Maximum"; return("Maximum"); } } catch { } gc.CreatePdf_WOP(orderno, "ownerNameSearchResult", driver, "CA", "El Dorado"); IWebElement MuliparcTB = driver.FindElement(By.XPath("//*[@id='idWWM983']/tbody")); IList <IWebElement> MuliparcTR = MuliparcTB.FindElements(By.TagName("tr")); if (MuliparcTR.Count() > 2) { IList <IWebElement> MuliparcTD; foreach (IWebElement row1 in MuliparcTR) { MuliparcTD = row1.FindElements(By.TagName("td")); if (MuliparcTD.Count != 0 && multicount < 25) { parcelNumber = MuliparcTD[1].Text; ownername = MuliparcTD[2].Text; string Multipar = ownername + "~" + "~" + "~"; gc.insert_date(orderno, parcelNumber, 360, Multipar, 1, DateTime.Now); HttpContext.Current.Session["multiParcel_CAEldorado"] = "Yes"; multicount++; } } driver.Quit(); return("MultiParcel"); } //gc.CreatePdf(orderno, parcelNumber, "Account Number Search Result", driver, "OR", "Marion"); } else if (searchType == "block") { driver.Navigate().GoToUrl("http://main.edcgov.us/CGI/WWB012/WWM400/A"); Thread.Sleep(3000); var SerachCategory = driver.FindElement(By.XPath("//*[@id='T']")); var selectElement1 = new SelectElement(SerachCategory); selectElement1.SelectByText("Owner's Name (Last First) or (Company)"); Thread.Sleep(3000); gc.CreatePdf_WOP(orderno, "Account Number Search", driver, "CA", "El Dorado"); driver.FindElement(By.XPath("//*[@id='K']")).SendKeys(ownername.Trim()); Thread.Sleep(1000); try { IWebElement ImultiCount = driver.FindElement(By.XPath("//*[@id='Q']")); SelectElement selectCount = new SelectElement(ImultiCount); selectCount.SelectByText("50"); } catch { } driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/span/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { string strmultiCount = driver.FindElement(By.XPath("/html/body/p[2]")).Text; string strMcount = gc.Between(strmultiCount, "Record Count = ", " of"); if (Convert.ToInt32(strMcount) > 25) { HttpContext.Current.Session["multiParcel_CAEldorado_Count"] = "Maximum"; return("Maximum"); } } catch { } gc.CreatePdf_WOP(orderno, "Account Number Search Result", driver, "CA", "El Dorado"); IWebElement MuliparcTB = driver.FindElement(By.XPath("/[@id='idWWM983']/tbody")); IList <IWebElement> MuliparcTR = MuliparcTB.FindElements(By.TagName("tr")); if (MuliparcTR.Count() > 2) { IList <IWebElement> MuliparcTD; foreach (IWebElement row1 in MuliparcTR) { MuliparcTD = row1.FindElements(By.TagName("td")); if (MuliparcTD.Count != 0 && multicount < 25) { parcelNumber = MuliparcTD[1].Text; ownername = MuliparcTD[2].Text; string Multipar = ownername; gc.insert_date(orderno, parcelNumber, 360, Multipar, 1, DateTime.Now); HttpContext.Current.Session["multiParcel_CAEldorado"] = "Yes"; multicount++; } } driver.Quit(); return("MultiParcel"); } } try { IWebElement INodata = driver.FindElement(By.XPath("/html/body/p[2]")); if (INodata.Text.Contains("No Records Found")) { HttpContext.Current.Session["Nodata_CAEldorado"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } // assessment details string YearBuilt = "", Abstractcode = "", Reference = "", SubdivisionTractNumber = "", SubdivisionTractName = "", TaxRateArea = "", City = "", BulData = ""; Reference = driver.FindElement(By.XPath("//*[@id='idWWM983']/tbody/tr[2]/td[3]/span")).Text.Trim(); string chkpa1 = ""; string chkpa = driver.FindElement(By.XPath("//*[@id='idWWM983']/tbody/tr[2]/td[2]/a")).Text; try { chkpa1 = driver.FindElement(By.XPath("//*[@id='idWWM983']/tbody/tr[3]/td[2]/a")).Text; } catch { } driver.FindElement(By.XPath("//*[@id='idWWM983']/tbody/tr[2]/td[2]/a")).SendKeys(Keys.Enter); Thread.Sleep(1000); gc.CreatePdf(orderno, parcelNumber, "Assessment Details", driver, "CA", "El Dorado"); parcelNumber = driver.FindElement(By.XPath("//*[@id='Top']")).Text.Replace("Parcel Number ", "").Trim(); IWebElement YearB = driver.FindElement(By.XPath("/html/body/table[8]/tbody")); IList <IWebElement> YearTR = YearB.FindElements(By.TagName("tr")); IList <IWebElement> YearTD; foreach (IWebElement row1 in YearTR) { YearTD = row1.FindElements(By.TagName("td")); if (row1.Text.Contains("Year Built")) { if (YearTD.Count != 0) { YearBuilt = YearTD[1].Text; } } } try { YearB = driver.FindElement(By.XPath("/html/body/table[9]/tbody")); YearTR = YearB.FindElements(By.TagName("tr")); foreach (IWebElement row1 in YearTR) { YearTD = row1.FindElements(By.TagName("td")); if (row1.Text.Contains("Year Built")) { if (YearTD.Count != 0) { YearBuilt = YearTD[1].Text; } } } } catch { } string OW1 = "", Ow2 = "", Ow3 = ""; OW1 = driver.FindElement(By.XPath("/html/body")).Text; ownername = gc.Between(OW1, "Current Property Owners\r\n", "\r\nProperty Description Values Event List Characteristics Background Top of Page").Trim(); ownername = ownername.Replace("\r\n", ""); BulData = driver.FindElement(By.XPath("//*[@id='PROPDESC']")).Text; Reference = gc.Between(BulData, "Reference:", "For Zoning,").Trim(); try { Abstractcode = gc.Between(BulData, "Abstract code:", "Reference:").Trim(); } catch { } if (Abstractcode.Contains("G.I.S. Map")) { Abstractcode = ""; } //Reference = WebDriverTest.After(BulData, "Reference:").Trim(); //var FRefSplit = Reference.Split('('); //Reference = FRefSplit[0]; try { SubdivisionTractNumber = gc.Between(BulData, "Subdivision Tract Number:", "Subdivision Tract Name:").Trim(); SubdivisionTractName = gc.Between(BulData, "Subdivision Tract Name: ", "Subdivision map").Trim(); } catch { } if (SubdivisionTractName == "") { try { SubdivisionTractName = gc.Between(BulData, "Subdivision Tract Name: ", "Timeshare Interval Id:").Trim(); } catch { } } TaxRateArea = WebDriverTest.After(BulData, "Tax Rate Area:").Trim(); var Citysplit = TaxRateArea.Split(' '); TaxRateArea = Citysplit[0]; City = WebDriverTest.After(BulData, Citysplit[0]).Trim(); string ProperTyDetail = ownername + "~" + Abstractcode + "~" + Reference + "~" + SubdivisionTractNumber + "~" + SubdivisionTractName + "~" + TaxRateArea + "~" + City + "~" + YearBuilt; gc.insert_date(orderno, parcelNumber, 260, ProperTyDetail, 1, DateTime.Now); string Column = ""; string TaxablePropertyValues20172018 = "", Land = "", LandTotal = "", ImprovementStructures = "", ImprovementTotal = "", TotalRoll = "", NetRoll = ""; string LandProp8 = "", ImporevePro8 = "", Exemption = ""; TaxablePropertyValues20172018 = driver.FindElement(By.XPath("/html/body/table[4]/caption")).Text.Trim().Replace("\r\n", " "); IWebElement MultiAssessTB = driver.FindElement(By.XPath("/html/body/table[4]/tbody")); IList <IWebElement> MultiAssessTR = MultiAssessTB.FindElements(By.TagName("tr")); IList <IWebElement> MultiAssessTD; foreach (IWebElement row1 in MultiAssessTR) { MultiAssessTD = row1.FindElements(By.TagName("td")); if (MultiAssessTD.Count != 0) { Column = MultiAssessTD[0].Text + "~" + Column; Land = MultiAssessTD[1].Text + "~" + Land; } } Column = Column + "dsds"; Land = Land + "dsds"; Column = Column.Replace("~dsds", ""); Land = Land.Replace("~dsds", ""); //if (listurl.Count == 4) //{ // Land = listurl[0]; // LandTotal = listurl[1]; // // ImprovementStructures = listurl[2]; // // ImprovementTotal = listurl[3]; // TotalRoll = listurl[2]; // NetRoll = listurl[3]; //} //else //{ // Land = listurl[0]; // LandTotal = listurl[1]; // ImprovementStructures = listurl[2]; // ImprovementTotal = listurl[3]; // TotalRoll = listurl[4]; // NetRoll = listurl[5]; //} DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + Column + "' where Id = '" + 261 + "'"); string Assessment = Land; gc.insert_date(orderno, parcelNumber, 261, Assessment, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://taxcollector.edcgov.us/GetAPN.aspx"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='btnawoc']")).Click(); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='form1']/table[2]/tbody/tr[2]/td[1]/a/img")).Click(); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='txtAPN']")).SendKeys(parcelNumber); gc.CreatePdf(orderno, parcelNumber, "Input Passed Tax Search", driver, "CA", "El Dorado"); Thread.Sleep(1000); //Tax bill download.... IWebElement SelectOption = driver.FindElement(By.Id("ddList")); IList <IWebElement> Select = SelectOption.FindElements(By.TagName("option")); List <string> option = new List <string>(); int Check = 0; foreach (IWebElement Op in Select) { if (Check <= 2) { option.Add(Op.Text); } Check++; } //load chrome driver... //IWebDriver chDriver = new ChromeDriver(); 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"); var chDriver = new ChromeDriver(chromeOptions); try { chDriver.Navigate().GoToUrl("https://taxcollector.edcgov.us/GetAPN.aspx"); chDriver.FindElement(By.XPath("//*[@id='btnawoc']")).Click(); chDriver.FindElement(By.XPath("//*[@id='form1']/table[2]/tbody/tr[2]/td[1]/a/img")).Click(); chDriver.FindElement(By.XPath("//*[@id='txtAPN']")).SendKeys(parcelNumber); foreach (string item in option) { var SelectAddress = chDriver.FindElement(By.Id("ddList")); var SelectAddressTax = new SelectElement(SelectAddress); SelectAddressTax.SelectByText(item); chDriver.FindElement(By.XPath("//*[@id='btnView']")).Click(); Thread.Sleep(9000); string yr = GlobalClass.Before(item, "-"); string fileName = "EDC_TaxBill_Copy_for_Secured_APN_" + parcelNumber + "_Year_" + yr + ".pdf"; gc.AutoDownloadFile(orderno, parcelNumber, "El Dorado", "CA", fileName); } chDriver.Quit(); } catch (Exception ex) { chDriver.Quit(); GlobalClass.LogError(ex, orderno); } driver.FindElement(By.XPath("//*[@id='btnSecSum']")).SendKeys(Keys.Enter); Thread.Sleep(1000); gc.CreatePdf(orderno, parcelNumber, "Tax History Detail", driver, "CA", "El Dorado"); string Description = "", TaxAuthority = "360 Fair Lane, Placerville, CA 95667 (530) 621-5800,Fax: (530) 642-8870", Grand_Total_Secured_Taxes_Due = "", Fisrt_Instalment = "", Due = "", Default_Due = "", Year = "", Second_Instalment = "", Default_Bill = "", Total = "", Total_Default_Due = ""; //*[@id="main"]/table[1]/tbody/tr[1]/td/table[4]/tbody string taxsum = ""; try { IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='main']/table[1]/tbody/tr[1]/td/table[4]/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (!row.Text.Contains("Description")) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count == 8) { taxsum = TDmulti[0].Text + "~" + TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text + "~" + TDmulti[4].Text + "~" + TDmulti[5].Text + "~" + TDmulti[6].Text; gc.insert_date(orderno, parcelNumber, 265, taxsum, 1, DateTime.Now); } if (TDmulti.Count == 4) { taxsum = "Totals" + "~" + "" + "~" + "" + "~" + TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + "" + "~" + ""; gc.insert_date(orderno, parcelNumber, 265, taxsum, 1, DateTime.Now); } if (TDmulti.Count == 3) { taxsum = "Grand Total Secured Taxes Due" + "~" + "" + "~" + "" + "~" + TDmulti[1].Text + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderno, parcelNumber, 265, taxsum, 1, DateTime.Now); } } } } catch { } //IWebElement CurrentTaxHistoryTB1 = driver.FindElement(By.XPath("//*[@id='main']/table[1]/tbody/tr[1]/td/table[4]/tbody")); //IList<IWebElement> CurrentTaxHistoryTR1 = CurrentTaxHistoryTB1.FindElements(By.TagName("tr")); //IList<IWebElement> CurrentTaxHistoryTD1; //int rowcount = CurrentTaxHistoryTR1.Count; //int count = 0; //foreach (IWebElement row1 in CurrentTaxHistoryTR1) //{ // CurrentTaxHistoryTD1 = row1.FindElements(By.TagName("td")); // if (CurrentTaxHistoryTD1.Count != 0 && row1.Text != "" && !row1.Text.Contains("Current Owner") && !row1.Text.Contains("Description")) // { // if (count < rowcount - 2) // { // //Description~Fisrt_Instalment~Second_Instalment~Due~Default_Due~Year~Default_Bill~Total~Total_Default_Due~Grand_Total_Secured_Taxes_Due // taxsum = CurrentTaxHistoryTD1[0].Text + "~" + CurrentTaxHistoryTD1[1].Text + "~" + CurrentTaxHistoryTD1[2].Text + "~" + CurrentTaxHistoryTD1[3].Text + "~" + CurrentTaxHistoryTD1[4].Text + "~" + CurrentTaxHistoryTD1[5].Text + "~" + CurrentTaxHistoryTD1[6].Text; // gc.insert_date(orderno, parcelNumber, 265, taxsum, 1, DateTime.Now); // } // if (count == rowcount - 2) // { // taxsum = "Totals" + "~" + "" + "~" + "" + "~" + CurrentTaxHistoryTD1[1].Text + "~" + CurrentTaxHistoryTD1[2].Text + "~" + "" + "~" + ""; // gc.insert_date(orderno, parcelNumber, 265, taxsum, 1, DateTime.Now); // } // if (count == rowcount - 1) // { // taxsum = "Grand Total Secured Taxes Due" + "~" + "" + "~" + "" + "~" + CurrentTaxHistoryTD1[1].Text + "~" + "" + "~" + "" + "~" + ""; // gc.insert_date(orderno, parcelNumber, 265, taxsum, 1, DateTime.Now); // } // } // count++; //} try { IWebElement CurrentTaxHistoryTB = driver.FindElement(By.XPath("//*[@id='main']/table[1]/tbody/tr[1]/td/table[4]/tbody")); IList <IWebElement> CurrentTaxHistoryTR = CurrentTaxHistoryTB.FindElements(By.TagName("tr")); IList <IWebElement> CurrentTaxHistoryTD; IList <IWebElement> CurrentTaxHistoryTA; listurl.Clear(); foreach (IWebElement row1 in CurrentTaxHistoryTR) { CurrentTaxHistoryTD = row1.FindElements(By.TagName("td")); if (CurrentTaxHistoryTD.Count != 0 && CurrentTaxHistoryTD.Count != 2 && CurrentTaxHistoryTD.Count != 1 && CurrentTaxHistoryTD[0].Text.Trim() != "Description") { foreach (IWebElement row in CurrentTaxHistoryTD) { CurrentTaxHistoryTA = row.FindElements(By.TagName("a")); if (CurrentTaxHistoryTA.Count != 0) { listurl.Add(CurrentTaxHistoryTA[0].GetAttribute("href")); } } foreach (string URL in listurl) { gc.downloadfile(URL, orderno, parcelNumber, "Tax_Bill" + Description, "CA", "El Dorado"); } } } } catch { } try { driver.FindElement(By.XPath("//*[@id='MainContent_menus']/table/tbody/tr[2]/td[2]/a/img")).Click(); Thread.Sleep(2000); } catch { } try { gc.CreatePdf(orderno, parcelNumber, "Payment History Detail", driver, "CA", "El Dorado"); string PaymentHistoryforAPN = "", DatePaid = "", Installment = "", Amount = ""; PaymentHistoryforAPN = driver.FindElement(By.XPath("//*[@id='menus']/table/tbody/tr[2]/td[2]/h2[1]")).Text; var Paysplit = PaymentHistoryforAPN.Split(':'); PaymentHistoryforAPN = Paysplit[1]; IWebElement CurrentPayHistoryTB = driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr[3]/td/table/tbody")); IList <IWebElement> CurrentPayHistoryTR = CurrentPayHistoryTB.FindElements(By.TagName("tr")); IList <IWebElement> CurrentPayHistoryTD; foreach (IWebElement row1 in CurrentPayHistoryTR) { CurrentPayHistoryTD = row1.FindElements(By.TagName("td")); if (CurrentPayHistoryTD.Count != 0 && CurrentPayHistoryTD.Count != 1 && CurrentPayHistoryTD[0].Text.Trim() != "Date Paid") { DatePaid = CurrentPayHistoryTD[0].Text; Description = CurrentPayHistoryTD[1].Text; Default_Bill = CurrentPayHistoryTD[2].Text; Installment = CurrentPayHistoryTD[3].Text; Year = CurrentPayHistoryTD[4].Text; Amount = CurrentPayHistoryTD[5].Text; string CurrenttaxHistory = PaymentHistoryforAPN + "~" + DatePaid + "~" + Description + "~" + Default_Bill + "~" + Installment + "~" + Year + "~" + Amount; gc.insert_date(orderno, parcelNumber, 264, CurrenttaxHistory, 1, DateTime.Now); } } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderno, "CA", "El Dorado", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderno, "CA", "El Dorado"); //gc.MMREM_Template(orderno,parcelNumber,"",driver,"CA", "El Dorado","95",""); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderno); throw ex; } } }
public TextNotFoundException(string textToFind, WebDriverTest ext) { string message = this.BuildTextNotFoundExceptionText(textToFind, ext); throw new ApplicationException(message); }
public string FTP_NMBernalillo(string houseno, string sname, string sttype, string parcelNumber, string searchType, string orderNumber, string ownername, string dierctSearch) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new ChromeDriver(); //driver = new PhantomJSDriver(); using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string address = houseno + " " + sname; gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "NM", "Bernalillo"); 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_NMBernalillio"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { string result = ""; // http://assessor.bernco.gov/public.access/Search/Disclaimer.aspx?FromUrl=../search/commonsearch.aspx?mode=realprop driver.Navigate().GoToUrl("http://assessor.bernco.gov/public.access/Search/Disclaimer.aspx?FromUrl=../search/commonsearch.aspx?mode=realprop"); try { driver.FindElement(By.XPath("//*[@id='topmenu']/ul/li[1]/a")).Click(); Thread.Sleep(2000); } catch { } driver.FindElement(By.XPath("//*[@id='btAgree']")).SendKeys(Keys.Enter); driver.FindElement(By.Id("inpNo")).SendKeys(houseno); driver.FindElement(By.XPath("//*[@id='inpStreet']")).SendKeys(sname); gc.CreatePdf_WOP(orderNumber, "InputPassed AddressSearch", driver, "NM", "Bernalillo"); driver.FindElement(By.Id("inpStreet")).SendKeys(Keys.Enter); Thread.Sleep(6000); try { result = driver.FindElement(By.XPath("//*[@id='ml']")).Text; } catch { } try { srtAddress = driver.FindElement(By.XPath("//*[@id='frmMain']/table/tbody/tr/td/div/div/table[2]/tbody/tr/td/table/tbody/tr[3]/td/center/table[1]/tbody/tr/td[3]")).Text; Address = Convert.ToInt32(WebDriverTest.Between(srtAddress, "Displaying 1 - ", " of")); if (Address > 15) { HttpContext.Current.Session["multiParcel_NMBernalillo_count"] = "Maximum"; driver.Quit(); return("Maximum"); } if (srtAddress != "" && Address <= 15 && !result.Contains("Return to Search Results")) { IWebElement IAddressTable = driver.FindElement(By.XPath("//*[@id='searchResults']/tbody")); IList <IWebElement> IAddressrow = IAddressTable.FindElements(By.TagName("tr")); IList <IWebElement> IAddressTD; foreach (IWebElement Row in IAddressrow) { IAddressTD = Row.FindElements(By.TagName("td")); HttpContext.Current.Session["multiparcel_NMBernalillo"] = "Yes"; if (IAddressTD.Count != 0 && !Row.Text.Contains("Parcel ID") && Row.Text != "") { string ParcelID = IAddressTD[0].Text; string Owner = IAddressTD[1].Text; string Addres = IAddressTD[2].Text; string Property = Owner + "~" + Addres; gc.insert_date(orderNumber, ParcelID, 98, Property, 1, DateTime.Now); gc.CreatePdf_WOP(orderNumber, "Mulitparcelgrid", driver, "NM", "Bernalillo"); } } driver.Quit(); return("MultiParcel"); } else { } } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("http://assessor.bernco.gov/public.access/search/commonsearch.aspx?mode=parid"); try { driver.FindElement(By.XPath("//*[@id='topmenu']/ul/li[1]/a")).Click(); Thread.Sleep(2000); } catch { } driver.FindElement(By.XPath("//*[@id='btAgree']")).SendKeys(Keys.Enter); driver.FindElement(By.Id("inpSuf")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "InputPassed ParcelSearch", driver, "NM", "Bernalillo"); driver.FindElement(By.XPath("//*[@id='btSearch']")).SendKeys(Keys.Enter); Thread.Sleep(6000); } try { IWebElement INodata = driver.FindElement(By.XPath("//*[@id='frmMain']/table/tbody/tr/td/div/div/table[2]")); if (INodata.Text.Contains("search did not find any records")) { HttpContext.Current.Session["Nodata_NMBernalillio"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //Property Details driver.FindElement(By.XPath("//*[@id='sidemenu']/li[1]/a")).SendKeys(Keys.Enter); //Screenshot gc.CreatePdf_WOP(orderNumber, "PropertyDetails", driver, "NM", "Bernalillo"); //Profile outparcelno = driver.FindElement(By.XPath("//*[@id='datalet_header_row']/td/table/tbody/tr[1]/td[1]")).Text; outparcelno = WebDriverTest.After(outparcelno, ": "); strClassname = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[1]/table[2]/tbody/tr[1]/td[2]")).Text; strTaxdistrcit = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[1]/table[2]/tbody/tr[2]/td[2]")).Text; strTaxyear = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[2]/table[2]/tbody/tr[1]/td[2]")).Text; strOwnername = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[2]/table[2]/tbody/tr[2]/td[2]")).Text; strLocationaddrss = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[4]/table[2]/tbody/tr[1]/td[2]")).Text; strCity = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[4]/table[2]/tbody/tr[2]/td[2]")).Text; strProprtydescription = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[4]/table[2]/tbody/tr[5]/td[2]")).Text; strRealproperty = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[6]/table[2]/tbody/tr[1]/td[2]")).Text; strYearBuilt = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[6]/table[2]/tbody/tr[2]/td[2]")).Text; strLotSize = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[6]/table[2]/tbody/tr[3]/td[2]")).Text; strLandUseCode = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[6]/table[2]/tbody/tr[4]/td[2]")).Text; strStyle = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[6]/table[2]/tbody/tr[5]/td[2]")).Text; string property_details = strClassname + "~" + strTaxdistrcit + "~" + strTaxyear + "~" + strOwnername + "~" + strLocationaddrss + "~" + strCity + "~" + strProprtydescription + "~" + strRealproperty + "~" + strYearBuilt + "~" + strLotSize + "~" + strLandUseCode + "~" + strStyle; gc.insert_date(orderNumber, outparcelno, 100, property_details, 1, DateTime.Now); //Assement Details driver.FindElement(By.XPath("//*[@id='sidemenu']/li[2]/a")).SendKeys(Keys.Enter); //Screenshot gc.CreatePdf(orderNumber, outparcelno, "Assessment Details", driver, "NM", "Bernalillo"); //Values strValues = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[1]/table[2]/tbody/tr[1]/td[2]")).Text; strFullLandValue = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[1]/table[2]/tbody/tr[2]/td[2]")).Text; strTablevalues = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[1]/table[2]/tbody/tr[3]/td[2]")).Text; strFullImpValue = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[1]/table[2]/tbody/tr[4]/td[2]")).Text; strTotalValue = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[1]/table[2]/tbody/tr[5]/td[2]")).Text; strTaxable = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[1]/table[2]/tbody/tr[7]/td[2]")).Text; strException = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[2]/table[2]/tbody/tr[1]/td[2]")).Text; strVetaranan = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[2]/table[2]/tbody/tr[2]/td[2]")).Text; strOther = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[2]/table[2]/tbody/tr[3]/td[2]")).Text; strNettaxablevalue = driver.FindElement(By.XPath("/html/body/div/div[3]/section/div/form/div[3]/div/div/table/tbody/tr/td/table/tbody/tr[2]/td/div/div[3]/table[2]/tbody/tr[1]/td[2]")).Text; string assement_details = strValues + "~" + strFullLandValue + "~" + strTablevalues + "~" + strFullImpValue + "~" + strTotalValue + "~" + strTaxable + "~" + strException + "~" + strVetaranan + "~" + strOther + "~" + strNettaxablevalue; gc.insert_date(orderNumber, outparcelno, 101, assement_details, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Status driver.Navigate().GoToUrl("https://www.bernco.gov/treasurer/property-tax-search.aspx"); //Screenshot gc.CreatePdf(orderNumber, outparcelno, "Address Search Result", driver, "NM", "Bernalillo"); //Tax Authority Tax_Authority = "One Civic Plaza NW Albuquerque, NM 87102"; IWebElement LinkSearch = driver.FindElement(By.XPath("//*[@id='_af46712e95534fbaab28f66852f6c7ca_pnl02cd722299cd4618a01367f388ce5d42Content']/p[5]")).FindElement(By.TagName("a")); string linkhref = LinkSearch.GetAttribute("href"); driver.Navigate().GoToUrl(linkhref); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; //js1.ExecuteScript("arguments[0].click();", LinkSearch); //Thread.Sleep(7000); //js1.ExecuteScript("document.getElementById('ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_Placeholder5_ctl00_ctl00_parcelId').value='" + outparcelno + "'"); //gc.CreatePdf(orderNumber, outparcelno, "Parcel Search", driver, "NM", "Bernalillo"); Thread.Sleep(3000); gc.CreatePdf(orderNumber, outparcelno, "Parcel Search Result", driver, "NM", "Bernalillo"); driver.FindElement(By.Id("ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_PlaceHolder2_ctl00_searchByParcel")).Click(); Thread.Sleep(3000); driver.FindElement(By.Id("ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_Placeholder5_ctl00_ctl00_parcelId")).SendKeys(outparcelno); gc.CreatePdf(orderNumber, outparcelno, "Parcel Click Result", driver, "NM", "Bernalillo"); driver.FindElement(By.Id("ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_Placeholder5_ctl00_ctl00_submit")).Click(); Thread.Sleep(2000); //IWebElement ParcelLinkSearch = driver.FindElement(By.XPath("//*[@id='ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_Placeholder5_ctl00_placeHolder_ctl00_resultList_ctl00_ctl04_parcel']")); //js1.ExecuteScript("arguments[0].click();", ParcelLinkSearch); //Thread.Sleep(7000); //gc.CreatePdf(orderNumber, outparcelno, "Parcel Search", driver, "NM", "Bernalillo"); ////Current OwnerShip Data //IWebElement IOwnerSubmit = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div/table/tbody")); //js1.ExecuteScript("arguments[0].click();", IOwnerSubmit); //gc.CreatePdf(orderNumber, outparcelno, "Current OwnerShip Search", driver, "NM", "Bernalillo"); //Thread.Sleep(7000); //outparcelno = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div/table/tbody/tr[2]/td/table/tbody/tr[1]/td")).Text; IWebElement ButtonLinkSearch = driver.FindElement(By.Id("ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_Placeholder5_ctl00_placeHolder_ctl00_resultList_ctl00_ctl04_parcel")); js1.ExecuteScript("arguments[0].click();", ButtonLinkSearch); Thread.Sleep(9000); string Ownershiptable = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div/table/tbody/tr[2]/td/table/tbody")).Text; if (Ownershiptable.Contains("OWNER 2:")) { Owner1 = driver.FindElement(By.Id("ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_Placeholder5_ctl00_placeHolder_ctl00_owner2Row")).Text.Replace("OWNER 2:", ""); } else { Owner1 = driver.FindElement(By.Id("ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_Placeholder5_ctl00_placeHolder_ctl00_owner1Row")).Text.Replace("OWNER 1:", ""); } Location_Address = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div/table/tbody/tr[3]/td/table/tbody/tr/td")).Text; LegalDescription = driver.FindElement(By.XPath("//*[@id='aspnetForm']/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div/table/tbody/tr[4]/td/ul/li")).Text; //Notice Of Values IWebElement IValue = driver.FindElement(By.Id("ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_PlaceHolder2_ctl00_noticeOfValues")); //js1.ExecuteScript("arguments[0].click();", IValue); IValue.Click(); Thread.Sleep(7000); gc.CreatePdf(orderNumber, outparcelno, "Notice of Values Search", driver, "NM", "Bernalillo"); //Screenshot //Tax Bill Download IWebElement ITaxbill = driver.FindElement(By.Id("ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_PlaceHolder2_ctl00_taxBill")); //js1.ExecuteScript("arguments[0].click();", ITaxbill); ITaxbill.Click(); Thread.Sleep(7000); gc.CreatePdf(orderNumber, outparcelno, "Tax Bill Search", driver, "NM", "Bernalillo"); //Screenshot try { //Take tax bills amount and store into table IWebElement tbTaxbill = driver.FindElement(By.XPath("//*[@id='ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_Placeholder5_ctl00_placeHolder_ctl00_panel']/div/table[1]/tbody/tr/td[2]/table/tbody")); IList <IWebElement> trTaxbill = tbTaxbill.FindElements(By.TagName("tr")); IList <IWebElement> tdTaxbill; foreach (IWebElement row in trTaxbill) { tdTaxbill = row.FindElements(By.TagName("td")); if (tdTaxbill.Count != 0 && tdTaxbill[0].Text != " ") { Agencies = GlobalClass.After(tdTaxbill[0].Text, ":"); TaxRate = GlobalClass.After(tdTaxbill[1].Text, ":"); NetTaxableValue = GlobalClass.After(tdTaxbill[2].Text, ":"); AmountDue = GlobalClass.After(tdTaxbill[3].Text, ":"); if (Agencies == "") { Agencies = tdTaxbill[0].Text; TaxRate = tdTaxbill[1].Text; NetTaxableValue = tdTaxbill[2].Text; AmountDue = tdTaxbill[3].Text; } strRowData = Agencies + "~" + TaxRate + "~" + NetTaxableValue + "~" + AmountDue; gc.insert_date(orderNumber, outparcelno, 115, strRowData, 1, DateTime.Now); } } } catch { } //OtherTaxDue try { IWebElement Tbtx = driver.FindElement(By.XPath("//*[@id='ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_Placeholder5_ctl00_placeHolder_ctl00_panel']/div/table[2]/tbody")); IList <IWebElement> TRtx = Tbtx.FindElements(By.TagName("tr")); IList <IWebElement> TDtx; foreach (IWebElement row5 in TRtx) { if (!row5.Text.Contains("YEAR")) { TDtx = row5.FindElements(By.TagName("td")); OtherTaxDueYear = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div/div/div/div/table[2]/tbody/tr[2]/td[1]")).Text; OtherTaxDueTax = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div/div/div/div/table[2]/tbody/tr[2]/td[2]")).Text; OtherTaxDueInterest = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div/div/div/div/table[2]/tbody/tr[2]/td[3]")).Text; OtherTaxDuePanalty = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div/div/div/div/table[2]/tbody/tr[2]/td[4]")).Text; OtherTaxDueFees = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div/div/div/div/table[2]/tbody/tr[2]/td[5]")).Text; OtherTaxDueAmountDue = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div/div/div/div/table[2]/tbody/tr[2]/td[6]")).Text; string thertax = OtherTaxDueYear + "~" + OtherTaxDueTax + "~" + OtherTaxDueInterest + "~" + OtherTaxDuePanalty + "~" + OtherTaxDueFees + "~" + OtherTaxDueAmountDue; gc.insert_date(orderNumber, outparcelno, 118, thertax, 1, DateTime.Now); } } } catch { } //Tax And Payment History IWebElement ITaxpay = driver.FindElement(By.Id("ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_PlaceHolder2_ctl00_taxPaymentHistory")); //js1.ExecuteScript("arguments[0].click();", ITaxpay); ITaxpay.Click(); Thread.Sleep(9000); gc.CreatePdf(orderNumber, outparcelno, "Parcel Search", driver, "NM", "Bernalillo"); IWebElement Tableinstallment = driver.FindElement(By.XPath("//*[@id='ctl03_TemplateBody_ctl00_PageLayout_ctl00_Placeholder3_ctl00_pageContent_ctl00_Placeholder5_ctl00_placeHolder_ctl00_historyList_ctl00']/tbody")); IList <IWebElement> TRinstallment = Tableinstallment.FindElements(By.TagName("tr")); IList <IWebElement> TDinstallment; try { foreach (IWebElement row in TRinstallment) { if (!row.Text.Contains("Summary of Taxes Due")) { TDinstallment = row.FindElements(By.TagName("td")); if (TDinstallment.Count != 0) { try { taxYear = GlobalClass.After(TDinstallment[0].Text, "\r\n"); netTaxable = GlobalClass.After(TDinstallment[1].Text, "\r\n"); tax = GlobalClass.After(TDinstallment[2].Text, "\r\n"); Interest = GlobalClass.After(TDinstallment[3].Text, "\r\n"); Penalty = GlobalClass.After(TDinstallment[4].Text, "\r\n"); Fees = GlobalClass.After(TDinstallment[5].Text, "\r\n"); Paid = GlobalClass.After(TDinstallment[6].Text, "\r\n"); AmountDue = GlobalClass.After(TDinstallment[7].Text, "\r\n"); if (taxYear == "" && netTaxable == "") { taxYear = TDinstallment[0].Text; netTaxable = TDinstallment[1].Text; tax = TDinstallment[2].Text; Interest = TDinstallment[3].Text; Penalty = TDinstallment[4].Text; Fees = TDinstallment[5].Text; Paid = TDinstallment[6].Text; AmountDue = TDinstallment[7].Text; } if (taxYear == "") { FirstHalftax = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[12]/td[3]")).Text; FirstHalfInterest = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[12]/td[4]")).Text; FirstHalfPenalty = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[12]/td[5]")).Text; FirstHalfFees = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[12]/td[6]")).Text; FirstHalfPaid = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[12]/td[7]")).Text; FirstHalfAmountDue = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[12]/td[8]")).Text; SecondHalftax = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[13]/td[3]")).Text; SecondHalfInterest = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[13]/td[4]")).Text; SecondHalfPenalty = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[13]/td[5]")).Text; SecondHalfFees = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[13]/td[6]")).Text; SecondHalfPaid = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[13]/td[7]")).Text; SecondHalfAmountDue = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[13]/td[8]")).Text; TotalHalftax = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[14]/td[3]")).Text; TotalHalfInterest = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[14]/td[4]")).Text; TotalHalfPenalty = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[14]/td[5]")).Text; TotalHalfFees = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[14]/td[6]")).Text; TotalHalfPaid = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[14]/td[7]")).Text; TotalHalfAmountDue = driver.FindElement(By.XPath("/html/body/form/div[6]/div[5]/div[1]/div[1]/div[3]/div[2]/div[1]/div/div[1]/table/tbody/tr[14]/td[8]")).Text; } if (taxYear == "" && netTaxable == "") { string taxinf = Owner1 + "~" + Location_Address + "~" + LegalDescription + "~" + "2017" + "~" + netTaxable + "~" + tax + "~" + Interest + "~" + Penalty + "~" + Fees + "~" + Paid + "~" + AmountDue + "~" + FirstHalftax + "~" + FirstHalfInterest + "~" + FirstHalfPenalty + "~" + FirstHalfFees + "~" + FirstHalfPaid + "~" + FirstHalfAmountDue + "~" + SecondHalftax + "~" + SecondHalfInterest + "~" + SecondHalfPenalty + "~" + SecondHalfFees + "~" + SecondHalfPaid + "~" + SecondHalfAmountDue + "~" + TotalHalftax + "~" + TotalHalfInterest + "~" + TotalHalfPenalty + "~" + TotalHalfFees + "~" + TotalHalfPaid + "~" + TotalHalfAmountDue + "~" + Tax_Authority + "~"; gc.insert_date(orderNumber, outparcelno, 114, taxinf, 1, DateTime.Now); } else { string taxinf = Owner1 + "~" + Location_Address + "~" + LegalDescription + "~" + taxYear + "~" + netTaxable + "~" + tax + "~" + Interest + "~" + Penalty + "~" + Fees + "~" + Paid + "~" + AmountDue + "~" + FirstHalftax + "~" + FirstHalfInterest + "~" + FirstHalfPenalty + "~" + FirstHalfFees + "~" + FirstHalfPaid + "~" + FirstHalfAmountDue + "~" + SecondHalftax + "~" + SecondHalfInterest + "~" + SecondHalfPenalty + "~" + SecondHalfFees + "~" + SecondHalfPaid + "~" + SecondHalfAmountDue + "~" + TotalHalftax + "~" + TotalHalfInterest + "~" + TotalHalfPenalty + "~" + TotalHalfFees + "~" + TotalHalfPaid + "~" + TotalHalfAmountDue + "~" + Tax_Authority + "~"; gc.insert_date(orderNumber, outparcelno, 114, taxinf, 1, DateTime.Now); } } catch { } } } } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "NM", "Bernalillo", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "NM", "Bernalillo"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public NoSuchElementException(By by, WebDriverTest ext) { string message = this.BuildNotFoundElementExceptionText(by, ext); throw new ApplicationException(message); }
public string FTP_Jefferson(string address, string ownername, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass gc = new GlobalClass(); GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "LA", "Jefferson"); 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_LAJefferson"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } driver.Navigate().GoToUrl("http://www.jpassessor.com/property-search"); Thread.Sleep(4000); if (searchType == "address") { driver.FindElement(By.XPath("//*[@id='radio-address']")).Click(); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='address']")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "LA", "Jefferson"); driver.FindElement(By.Id("btn-search-address")).Click(); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Address search result", driver, "LA", "Jefferson"); mul = driver.FindElement(By.XPath("//*[@id='panel-results']/div[2]/div[3]/div/span")).Text.Trim(); mul = WebDriverTest.Before(mul, " of"); List <string> searchlist = new List <string>(); IWebElement checksingle = driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody")); IList <IWebElement> TRchecksingle = checksingle.FindElements(By.TagName("tr")); int j = 1; IList <IWebElement> TDchecksingle; foreach (IWebElement row in TRchecksingle) { if (j <= 25) { TDchecksingle = row.FindElements(By.TagName("td")); if (TDchecksingle.Count != 0 && row.Text.Contains(address.ToUpper())) { if (TDchecksingle[2].Text == address.ToUpper()) { driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody/tr[" + j + "]/td[1]/a")).Click(); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); break; } } j++; } } try { if (mul != "1 - 1") { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); int k = 0; IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (k <= 25) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0 && row.Text.Contains(address.ToUpper())) { if (TDmulti[2].Text == address.ToUpper()) { driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody/tr[" + k + "]/td[1]/a")).Click(); break; } else { string multi1 = TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 245, multi1, 1, DateTime.Now); } searchlist.Add(TDmulti[0].Text); } k++; } } if (TRmulti.Count > 25) { HttpContext.Current.Session["multiParcel_Jefferson_Multicount"] = "Maximum"; } if (searchlist.Count > 1) { HttpContext.Current.Session["multiParcel_Jefferson"] = "Yes"; } driver.Quit(); return("MultiParcel"); } else { try { driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody/tr/td[1]/a")).Click(); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); } catch { } } } catch { } } else if (searchType == "parcel") { driver.FindElement(By.XPath("//*[@id='radio-parcel']")).Click(); Thread.Sleep(3000); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", ""); } driver.FindElement(By.XPath("//*[@id='parcel']")).SendKeys(parcelNumber); driver.FindElement(By.XPath("//*[@id='btn-search-parcel']")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "LA", "Jefferson"); mul = driver.FindElement(By.XPath("//*[@id='panel-results']/div[2]/div[3]/div/span")).Text.Trim(); mul = WebDriverTest.Before(mul, " of"); if (mul != "1 - 1") { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); int l = 0; IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (l <= 25) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { string multi1 = TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 245, multi1, 1, DateTime.Now); } l++; } } if (TRmulti.Count > 25) { HttpContext.Current.Session["multiParcel_Jefferson_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiParcel_Jefferson"] = "Yes"; } driver.Quit(); return("MultiParcel"); } else { try { driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody/tr/td[1]/a")).Click(); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); } catch { } } } else if (searchType == "ownername") { driver.FindElement(By.XPath("//*[@id='radio-owner']")).Click(); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='owner']")).SendKeys(ownername); driver.FindElement(By.XPath("//*[@id='btn-search-owner']")).Click(); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Owner search result", driver, "LA", "Jefferson"); mul = driver.FindElement(By.XPath("//*[@id='panel-results']/div[2]/div[3]/div/span")).Text.Trim(); mul = WebDriverTest.Before(mul, " of"); if (mul != "1 - 1") { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); int l = 0; IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (l <= 25) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { string multi1 = TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 245, multi1, 1, DateTime.Now); } l++; } } if (TRmulti.Count > 25) { HttpContext.Current.Session["multiParcel_Jefferson_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiParcel_Jefferson"] = "Yes"; } driver.Quit(); return("MultiParcel"); } else { try { driver.FindElement(By.XPath("//*[@id='panel-results']/div[1]/table/tbody/tr/td[1]/a")).Click(); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); } catch { } } } try { string nodata = driver.FindElement(By.XPath("//*[@id='panel-results']")).Text; if (nodata.Contains("0 - 0 of 0 items")) { HttpContext.Current.Session["Nodata_LAJefferson"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property details string Parcel_no = "", Ward_no = "", Owner_Name = "", Improvement_Address = "", Homestead_Exemption_Status = "", Subdivision = "", Legal_Description = "", Land_Assessment = "", Improvement_Assessment = "", Total_Assessment = ""; //gc.CreatePdf_WOP(orderNumber, "propert search result", driver); Parcel_no = driver.FindElement(By.XPath("/html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[1]/td[2]/span")).Text.Trim(); gc.CreatePdf(orderNumber, Parcel_no, "property search result", driver, "LA", "Jefferson"); Ward_no = driver.FindElement(By.XPath(" /html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]")).Text.Trim(); Owner_Name = driver.FindElement(By.XPath("/ html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[3]/td[2]")).Text.Trim(); Improvement_Address = driver.FindElement(By.XPath("/ html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[5]/td[2]")).Text.Trim(); Homestead_Exemption_Status = driver.FindElement(By.XPath("/ html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[3]/td[4]")).Text.Trim(); Subdivision = driver.FindElement(By.XPath(" / html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[4]/td[4]")).Text.Trim(); Legal_Description = driver.FindElement(By.XPath("/ html/body/div[2]/div/div/div/table/tbody/tr[2]/td/table/tbody/tr[5]/td[4]")).Text.Trim(); string assessment_details = Ward_no + "~" + Owner_Name + "~" + Improvement_Address + "~" + Homestead_Exemption_Status + "~" + Subdivision + "~" + Legal_Description; gc.insert_date(orderNumber, Parcel_no, 246, assessment_details, 1, DateTime.Now); //Assessment details Land_Assessment = driver.FindElement(By.XPath("/ html/body/div[2]/div/div/div/table/tbody/tr[3]/td/table/tbody/tr[2]/td[1]")).Text.Trim(); Improvement_Assessment = driver.FindElement(By.XPath(" / html/body/div[2]/div/div/div/table/tbody/tr[3]/td/table/tbody/tr[2]/td[2]")).Text.Trim(); Total_Assessment = driver.FindElement(By.XPath("/ html/body/div[2]/div/div/div/table/tbody/tr[3]/td/table/tbody/tr[2]/td[3]")).Text.Trim(); string property_details = Land_Assessment + "~" + Improvement_Assessment + "~" + Total_Assessment; gc.insert_date(orderNumber, Parcel_no, 247, property_details, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); string add1 = "200 Derbigny St.Suite 1200 Gretna, LA 70053", add2 = "504-363-5637", add3 = "504-363-5644"; string taxauthority_address = add1 + " PH:" + add2 + " FAX: " + add3; driver.Navigate().GoToUrl("https://propertytax.jpso.com/PropertyTax/propsrch.aspx#result"); Thread.Sleep(3000); var Select = driver.FindElement(By.Id("ContentPlaceHolder1_body_cboSearchBy")); var selectElement1 = new SelectElement(Select); selectElement1.SelectByText("Parcel #"); driver.FindElement(By.Id("ContentPlaceHolder1_body_txtParcel_In")).SendKeys(Parcel_no); gc.CreatePdf(orderNumber, Parcel_no, "property tax search ", driver, "LA", "Jefferson"); driver.FindElement(By.Id("ContentPlaceHolder1_body_btSearch")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_no, "property tax search result", driver, "LA", "Jefferson"); string Hex = "", Parcel_no1 = "", Notice_no = "", Assessment = "", Tax_Due = "", Tax_Year = ""; Hex = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblHEX")).Text.Trim(); Parcel_no1 = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblParcel")).Text.Trim(); Notice_no = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblBillNum")).Text.Trim(); Assessment = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblAssessAmt")).Text.Trim(); Tax_Due = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblTaxAmt")).Text.Trim(); Tax_Year = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblTaxYear")).Text.Trim(); string taxinfo_details = Hex + "~" + Assessment + "~" + Tax_Due + "~" + Tax_Year + "~" + taxauthority_address; gc.insert_date(orderNumber, Parcel_no, 240, taxinfo_details, 1, DateTime.Now); // Tax Notices and Payments Details Table: driver.FindElement(By.Id("ContentPlaceHolder1_body_btViewHistory")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_no, "View history", driver, "LA", "Jefferson"); IWebElement multitableElement1 = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_body_dgHistory']/tbody")); IList <IWebElement> multitableRow1 = multitableElement1.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD1; foreach (IWebElement row in multitableRow1) { if (!row.Text.Contains("Tax Year")) { multirowTD1 = row.FindElements(By.TagName("td")); string tax_payment = multirowTD1[0].Text.Trim() + "~" + multirowTD1[1].Text.Trim() + "~" + multirowTD1[2].Text.Trim() + "~" + multirowTD1[3].Text.Trim() + "~" + multirowTD1[4].Text.Trim() + "~" + multirowTD1[5].Text.Trim() + "~" + multirowTD1[6].Text.Trim(); gc.insert_date(orderNumber, Parcel_no, 248, tax_payment, 1, DateTime.Now); } } driver.FindElement(By.XPath("//*[@id='MAIN_OUTLINE_TABLE']/div[1]/div/div[2]/a")).Click(); Thread.Sleep(3000); driver.FindElement(By.Id("ContentPlaceHolder1_body_btViewMilage")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_no, "View millage", driver, "LA", "Jefferson"); string Bill_year = "", Bill_no = "", Tax_Due1 = ""; Bill_year = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblYear")).Text.Trim(); Bill_no = driver.FindElement(By.Id("ContentPlaceHolder1_body_lblBillnumber")).Text.Trim(); Tax_Due1 = driver.FindElement(By.Id("ContentPlaceHolder1_body_LblTaxDue")).Text.Trim(); string tax_Milege1 = Bill_year + "~" + Bill_no + "~" + Tax_Due1 + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-"; gc.insert_date(orderNumber, Parcel_no, 257, tax_Milege1, 1, DateTime.Now); try { IWebElement multitableElement11 = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_body_dgMileage']/tbody")); IList <IWebElement> multitableRow11 = multitableElement11.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD11; foreach (IWebElement row in multitableRow11) { if (!row.Text.Contains("Category")) { multirowTD11 = row.FindElements(By.TagName("td")); string tax_Milege = "-" + "~" + "-" + "~" + "-" + "~" + multirowTD11[0].Text.Trim() + "~" + multirowTD11[1].Text.Trim() + "~" + multirowTD11[2].Text.Trim() + "~" + multirowTD11[3].Text.Trim(); gc.insert_date(orderNumber, Parcel_no, 257, tax_Milege, 1, DateTime.Now); } } } catch { } // State Tax Commission information can be obtained through the link. driver.Navigate().GoToUrl("http://www.latax.state.la.us/Menu_ParishTaxRolls/TaxRolls.aspx"); Thread.Sleep(3000); //address search var Select1 = driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_ddParish")); var selectElement11 = new SelectElement(Select1); selectElement11.SelectByText("JEFFERSON PARISH"); Thread.Sleep(1000); var Select11 = driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_ddYear")); var selectElement12 = new SelectElement(Select11); selectElement12.SelectByIndex(2); // selectElement12.SelectByText("2017"); Thread.Sleep(1000); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_rbSearchField_0")).Click(); Thread.Sleep(1000); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_txtSearch")).SendKeys(Improvement_Address); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_btnSubmitSearch")).Click(); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolderMain_gvResults']/tbody/tr[2]/td[5]/a")).Click(); Thread.Sleep(3000); //DOWNLOAD REPORT IWebElement Itaxbill = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolderMain_lblReport']/a[1]")); string URL1 = Itaxbill.GetAttribute("href"); gc.downloadfile(URL1, orderNumber, Parcel_no, "REPORT.pdf", "LA", "Jefferson"); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_lbReset")).Click(); Thread.Sleep(3000); var Select13 = driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_ddParish")); var selectElement13 = new SelectElement(Select13); selectElement13.SelectByText("JEFFERSON PARISH"); Thread.Sleep(1000); var Select14 = driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_ddYear")); var selectElement14 = new SelectElement(Select14); selectElement14.SelectByIndex(2); //selectElement14.SelectByText("2017"); Thread.Sleep(1000); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_rbSearchField_1")).Click(); Thread.Sleep(1000); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_txtSearch")).SendKeys(Bill_no); driver.FindElement(By.Id("ctl00_ContentPlaceHolderMain_btnSubmitSearch")).Click(); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolderMain_gvResults']/tbody/tr[2]/td[5]/a")).Click(); Thread.Sleep(3000); //DOWNLOAD REPORT IWebElement Itaxbill1 = driver.FindElement(By.XPath("//*[@id='ctl00_ContentPlaceHolderMain_lblReport']/a[1] ")); string URL11 = Itaxbill1.GetAttribute("href"); gc.downloadfile(URL11, orderNumber, Parcel_no, "Assessment_REPORT.pdf", "LA", "Jefferson"); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "LA", "Jefferson", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "LA", "Jefferson"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_CASantaClara(string address, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel, string ownername) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; //var driverService = PhantomJSDriverService.CreateDefaultService(); //driverService.HideCommandPromptWindow = true; // driver = new PhantomJSDriver(); //driver = new ChromeDriver(); var option = new ChromeOptions(); option.AddArgument("No-Sandbox"); using (driver = new ChromeDriver(option)) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, parcelNumber, ownername, "", "CA", "Santa Clara"); 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_CASantaClara"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { try { driver.Navigate().GoToUrl("https://www.sccassessor.org/index.php/online-services/property-search/real-property"); Thread.Sleep(2000); IWebElement iframeElementAdd = driver.FindElement(By.XPath("//*[@id='blockrandom']")); driver.SwitchTo().Frame(iframeElementAdd); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='searchinput']")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "CA", "Santa Clara"); driver.FindElement(By.Id("btnAddress")).SendKeys(Keys.Enter); Thread.Sleep(4000); //MultiParcel try { IWebElement MultiTable = driver.FindElement(By.XPath("//*[@id='asrGrid']/div[2]/table/tbody")); IList <IWebElement> MultiTR = MultiTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiTD; gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "CA", "Santa Clara"); int maxCheck = 0; foreach (IWebElement multi in MultiTR) { if (maxCheck <= 25) { MultiTD = multi.FindElements(By.TagName("td")); if (MultiTD.Count != 0) { parcelNumber = MultiTD[0].Text; property_Address = MultiTD[1].Text; MultiParcelData = property_Address; gc.insert_date(orderNumber, parcelNumber, 547, MultiParcelData, 1, DateTime.Now); } maxCheck++; } } if (MultiTR.Count > 25) { HttpContext.Current.Session["multiParcel_SantaClara_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_SantaClara"] = "Yes"; } driver.Quit(); return("MultiParcel"); } catch { } } catch { } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='ContentMasterPage_lblError']/div")).Text; if (nodata.Contains("No records meet your search criteria:")) { HttpContext.Current.Session["Nodata_CASantaClara"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='ui-id-1']")).Text; if (nodata.Contains("No Such Address")) { HttpContext.Current.Session["Nodata_CASantaClara"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { try { driver.Navigate().GoToUrl("https://www.sccassessor.org/index.php/online-services/property-search/real-property"); Thread.Sleep(2000); IWebElement iframeElement1 = driver.FindElement(By.XPath("//*[@id='blockrandom']")); driver.SwitchTo().Frame(iframeElement1); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='myTab-accordion']/div[3]/div[1]/h4/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("apninput")).SendKeys(parcelNumber); gc.CreatePdf_WOP(parcelNumber, "Parcel search", driver, "CA", "Santa Clara"); driver.FindElement(By.Id("btnAPN")).SendKeys(Keys.Enter); Thread.Sleep(4000); try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='ContentMasterPage_lblError']/div")).Text; if (nodata.Contains("No records meet your search criteria:")) { HttpContext.Current.Session["Nodata_CASantaClara"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } catch { } } //Property Details parcelno = driver.FindElement(By.XPath("//*[@id='divFrame']/div[1]/div/div[1]")).Text; parcelno = WebDriverTest.After(parcelno, ":").Replace("\r\n", " ").Trim(); Property_Address = driver.FindElement(By.XPath("//*[@id='oneAddress']/div/div[1]/div")).Text; //Assessment Deatils Tax_Default_Date = driver.FindElement(By.XPath("//*[@id='tab-1-collapse']/div/div/div[1]/div/div/div/table/tbody/tr[2]/td[2]")).Text; Tax_Default_Date = WebDriverTest.After(Tax_Default_Date, ": "); IWebElement AssementTB = driver.FindElement(By.XPath("//*[@id='tab-1-collapse']/div/div/div[2]/div/div[2]/div/table/tbody")); IList <IWebElement> AssementTR = AssementTB.FindElements(By.TagName("tr")); IList <IWebElement> AssementTD; foreach (IWebElement Assement in AssementTR) { AssementTD = Assement.FindElements(By.TagName("td")); if (AssementTD.Count != 0 || !Assement.Text.Contains(" ")) { lan = AssementTD[0].Text; if (lan.Contains("Land:")) { Land_Value = AssementTD[1].Text; } Imp = AssementTD[0].Text; if (Imp.Contains("Improvements:")) { Impovement = AssementTD[1].Text; } TAss = AssementTD[0].Text; if (TAss.Contains("Total:")) { Total_Assessed = AssementTD[1].Text; } } } IWebElement AssementTB1 = driver.FindElement(By.XPath("//*[@id='tab-1-collapse']/div/div/div[2]/div/div[4]/div/table/tbody")); IList <IWebElement> AssementTR1 = AssementTB1.FindElements(By.TagName("tr")); IList <IWebElement> AssementTD1; foreach (IWebElement Assement1 in AssementTR1) { AssementTD1 = Assement1.FindElements(By.TagName("td")); if (AssementTD1.Count != 0 || !Assement1.Text.Contains(" ")) { Homeowner = AssementTD1[0].Text; if (Homeowner.Contains("Homeowner:")) { Home_Owner = AssementTD1[1].Text; } other = AssementTD1[0].Text; if (other.Contains("Other:")) { Other = AssementTD1[1].Text; } TExe = AssementTD1[0].Text; if (TExe.Contains("Total:")) { Total_Expections = AssementTD1[1].Text; } } } IWebElement AssementTB2 = driver.FindElement(By.XPath("//*[@id='tab-1-collapse']/div/div/div[2]/div/div[5]/div/table/tbody")); IList <IWebElement> AssementTR2 = AssementTB2.FindElements(By.TagName("tr")); IList <IWebElement> AssementTD2; foreach (IWebElement Assement2 in AssementTR2) { AssementTD2 = Assement2.FindElements(By.TagName("td")); if (AssementTD2.Count != 0 || !Assement2.Text.Contains(" ")) { Net_Total = AssementTD2[0].Text; if (Net_Total.Contains("Total:")) { Net_Assed_Value = AssementTD2[1].Text; } } } Assesssment_Details = Land_Value + "~" + Impovement + "~" + Total_Assessed + "~" + Home_Owner + "~" + Other + "~" + Total_Expections + "~" + Net_Assed_Value + "~" + Tax_Default_Date; gc.CreatePdf(orderNumber, parcelno, "Assessment Details", driver, "CA", "Santa Clara"); ByVisibleElement(driver.FindElement(By.XPath("//*[@id='tab-1-collapse']/div/div/div[2]/div/div[2]/div/table/tbody/tr[4]/td[1]"))); gc.CreatePdf(orderNumber, parcelno, "Assessment Details1", driver, "CA", "Santa Clara"); ByVisibleElement(driver.FindElement(By.XPath("//*[@id='tab-1-collapse']/div/div/div[2]/div/div[4]/div/table/thead/tr/td"))); gc.CreatePdf(orderNumber, parcelno, "Assessment Details2", driver, "CA", "Santa Clara"); gc.insert_date(orderNumber, parcelno, 542, Assesssment_Details, 1, DateTime.Now); driver.FindElement(By.XPath("//*[@id='myTab-accordion']/div[5]/div[1]/h4/a")).Click(); Thread.Sleep(2000); TRA = driver.FindElement(By.XPath("//*[@id='tab-5-collapse']/div/div/div/div/div[1]/div[1]/div/div/div[1]")).Text; TRA = gc.Between(TRA, "TAX RATE AREA INFORMATION ", "(Tax Rate Information as").Trim(); Property_Details = Property_Address + "~" + TRA; gc.insert_date(orderNumber, parcelno, 541, Property_Details, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Information driver.Navigate().GoToUrl("https://payments.sccgov.org/propertytax/Secured"); Thread.Sleep(2000); //Address Search //driver.FindElement(By.XPath("//*[@id='tab2_link']/a")).SendKeys(Keys.Enter); //Thread.Sleep(2000); //driver.FindElement(By.Id("FullAddress")).SendKeys(address); //driver.FindElement(By.XPath("//*[@id='FullAddress']")).SendKeys(Keys.Enter); //Thread.Sleep(2000); //parcelno = driver.FindElement(By.XPath("/html/body/div[2]/div/div[2]/div/form/div[1]/div/dl/dd[1]")).Text; //parcelno = WebDriverTest.Before(parcelno, " View Payment History"); driver.FindElement(By.Id("ParcelNumber")).SendKeys(parcelno); try { gc.CreatePdf(orderNumber, parcelno, "Tax Details 1", driver, "CA", "Santa Clara"); driver.FindElement(By.Id("ParcelSubmit")).SendKeys(Keys.Enter); Thread.Sleep(2000); } catch { } try { ByVisibleElement(driver.FindElement(By.XPath("//*[@id='index_avoidconv_link']/span"))); gc.CreatePdf(orderNumber, parcelno, "Tax Details 2", driver, "CA", "Santa Clara"); } catch { } //Tax Payment History Details try { driver.FindElement(By.XPath("//*[@id='tabs']/a/span")).Click(); Thread.Sleep(5000); } catch { } try { driver.FindElement(By.XPath("/html/body/div[2]/div/div[2]/div/form/div[1]/div/dl/dd[1]/a")).Click(); Thread.Sleep(5000); } catch { } IWebElement TaxHistoryTB = driver.FindElement(By.XPath("//*[@id='historybody']")); IList <IWebElement> TaxHistoryTR = TaxHistoryTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxHistoryTD; foreach (IWebElement TaxHistory in TaxHistoryTR) { TaxHistoryTD = TaxHistory.FindElements(By.TagName("td")); if (TaxHistoryTD.Count != 0) { Tax_Year_Payment = TaxHistoryTD[0].Text; APN_Suffix_Payment = TaxHistoryTD[1].Text; Installment_Payment = TaxHistoryTD[2].Text; Tax_Amount_Payment = TaxHistoryTD[3].Text; Additional_Charges_Payment = TaxHistoryTD[4].Text; Paid_Amount_Payment = TaxHistoryTD[5].Text; Paid_Date_Payment = TaxHistoryTD[6].Text; Taxpayment_Details = Tax_Year_Payment + "~" + APN_Suffix_Payment + "~" + Installment_Payment + "~" + Tax_Amount_Payment + "~" + Additional_Charges_Payment + "~" + Paid_Amount_Payment + "~" + Paid_Date_Payment; gc.CreatePdf(orderNumber, parcelno, "Tax Payment History Details", driver, "CA", "Santa Clara"); gc.insert_date(orderNumber, parcelno, 544, Taxpayment_Details, 1, DateTime.Now); } } try { ByVisibleElement(driver.FindElement(By.XPath("//*[@id='historybody']/tr[11]/td[1]"))); gc.CreatePdf(orderNumber, parcelno, "Tax Payment History Details1", driver, "CA", "Santa Clara"); } catch { } try { driver.FindElement(By.XPath("//*[@id='closebutton']")).Click(); Thread.Sleep(2000); } catch { } //Current Tax Details try { tax_type = driver.FindElement(By.XPath("//*[@id='select_invoiceslist']/div[1]/div[1]/span")).Text; try { IWebElement CurrentBill = driver.FindElement(By.XPath("//*[@id='select_invoiceslist']/div/div[1]/div/a")); string CurrentTaxBill = CurrentBill.GetAttribute("href"); gc.downloadfile(CurrentTaxBill, orderNumber, parcelno, "Current Tax Bill", "CA", "Santa Clara"); } catch { } if (tax_type == "Annual Tax Bill" || tax_type == "Supplemental Tax Bill") { for (int i = 0; i < 3; i++) { for (int j = 2; j < 11; j++) { Installment += driver.FindElement(By.XPath("//*[@id='select_invoiceslist']/div/div[3]/div[" + (i + 2) + "]/div[ " + j + " ]")).Text + "~"; } Installment = tax_type + "~" + Installment.Remove(Installment.Length - 1, 1); i++; gc.CreatePdf(orderNumber, parcelno, "Current Tax Details", driver, "CA", "Santa Clara"); gc.insert_date(orderNumber, parcelno, 540, Installment, 1, DateTime.Now); Installment = ""; } } } catch { } try { tax_type_Supp = driver.FindElement(By.XPath("//*[@id='select_invoiceslist']/div[2]/div[1]/span")).Text; try { IWebElement SupplementalBill = driver.FindElement(By.XPath("//*[@id='select_invoiceslist']/div[2]/div[1]/div/a")); string SupplementalTaxBill = SupplementalBill.GetAttribute("href"); gc.downloadfile(SupplementalTaxBill, orderNumber, parcelno, "Supplemental Tax Bill", "CA", "Santa Clara"); } catch { } if (tax_type_Supp == "Supplemental Tax Bill") { InstallmentSupplemnt = ""; for (int k = 0; k < 3; k++) { for (int l = 2; l < 11; l++) { InstallmentSupplemnt += driver.FindElement(By.XPath("//*[@id='select_invoiceslist']/div[2]/div[3]/div[" + (k + 2) + "]/div[" + l + "]")).Text + "~"; } InstallmentSupplemnt = tax_type_Supp + "~" + InstallmentSupplemnt.Remove(InstallmentSupplemnt.Length - 1, 1); k++; gc.CreatePdf(orderNumber, parcelno, "Supplemental Tax Details", driver, "CA", "Santa Clara"); gc.insert_date(orderNumber, parcelno, 545, InstallmentSupplemnt, 1, DateTime.Now); InstallmentSupplemnt = ""; } } if (tax_type_Supp == "Supplemental Tax Bill") { InstallmentSupplemnt1 = ""; for (int m = 0; m < 3; m++) { for (int n = 2; n < 11; n++) { try { InstallmentSupplemnt1 += driver.FindElement(By.XPath("//*[@id='select_invoiceslist']/div[3]/div[3]/div[" + (m + 2) + "]/div[" + n + "]")).Text + "~"; } catch { } } InstallmentSupplemnt1 = tax_type_Supp + "~" + InstallmentSupplemnt1.Remove(InstallmentSupplemnt1.Length - 1, 1); m++; try { ByVisibleElement(driver.FindElement(By.XPath("//*[@id='select_invoiceslist']/div[3]/div[3]/div[1]/div[2]"))); gc.CreatePdf(orderNumber, parcelno, "Supplemental Tax Details1", driver, "CA", "Santa Clara"); Thread.Sleep(2000); } catch { } gc.insert_date(orderNumber, parcelno, 546, InstallmentSupplemnt1, 1, DateTime.Now); InstallmentSupplemnt1 = ""; } } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "CA", "Santa Clara", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "CA", "Santa Clara"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw; } } }
public string FTP_Stark(string houseno, string housedir, string sname, string unitno, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel) { GlobalClass gc = new GlobalClass(); GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://ddti.starkcountyohio.gov/disclaimer.aspx"); Thread.Sleep(4000); driver.FindElement(By.Name("ctl00$ContentPlaceHolder1$btnDisclaimerAccept")).Click(); driver.FindElement(By.Name("ctl00$ContentPlaceHolder1$btnDisclaimerAccept")).Click(); Thread.Sleep(5000); if (searchType == "titleflex") { string titleaddress = houseno + " " + sname + " " + housedir + " " + unitno; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "OH", "Stark"); 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_OHStark"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { // Owner~Property_Address~Land_Use driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_mnuSearchn2']/table/tbody/tr/td/a")).Click(); Thread.Sleep(3000); driver.FindElement(By.Id("ContentPlaceHolder1_Address_tbAddressNumber")).SendKeys(houseno); driver.FindElement(By.Id("ContentPlaceHolder1_Address_tbAddressDirection")).SendKeys(housedir); driver.FindElement(By.Id("ContentPlaceHolder1_Address_tbAddressStreet")).SendKeys(sname); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "OH", "Stark"); driver.FindElement(By.Id("ContentPlaceHolder1_Address_btnSearchAddress")).SendKeys(Keys.Enter); Thread.Sleep(4000); gc.CreatePdf_WOP(orderNumber, "Address search result", driver, "OH", "Stark"); try { mul = driver.FindElement(By.Id("ContentPlaceHolder1_lblNumberOfResults")).Text.Trim(); mul = WebDriverTest.Before(mul, " Results"); if (mul != "1") { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (!row.Text.Contains("Parcel")) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { string multi1 = TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 302, multi1, 1, DateTime.Now); } } } HttpContext.Current.Session["multiparcel_Stark"] = "Yes"; driver.Quit(); return("MultiParcel"); } else { driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody/tr[2]/td[1]/a")).Click(); gc.CreatePdf_WOP(orderNumber, "Address search result1", driver, "OH", "Stark"); Thread.Sleep(4000); } } catch { } } if (searchType == "parcel") { if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); } driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_mnuSearchn0']/table/tbody/tr/td/a")).Click(); Thread.Sleep(3000); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", ""); } driver.FindElement(By.Id("ContentPlaceHolder1_Parcel_tbParcelNumber")).SendKeys(parcelNumber); gc.CreatePdf_WOP(orderNumber, "Parcel search", driver, "OH", "Stark"); driver.FindElement(By.Id("ContentPlaceHolder1_Parcel_btnSearchParcel")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "OH", "Stark"); try { mul = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_lblNumberOfResults']")).Text.Trim(); mul = WebDriverTest.Before(mul, " Results"); if (mul != "1") { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (!row.Text.Contains("Parcel")) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { string multi1 = TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 302, multi1, 1, DateTime.Now); } } } HttpContext.Current.Session["multiparcel_Stark"] = "Yes"; driver.Quit(); return("MultiParcel"); } else { driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody/tr[2]/td[1]/a")).Click(); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "OH", "Stark"); Thread.Sleep(3000); } } catch { } } else if (searchType == "ownername") { string s = ownername; string[] words = s.Split(' '); string lastname = "", firstname = ""; try { lastname = words[0]; firstname = words[1]; } catch { } driver.FindElement(By.Id("ContentPlaceHolder1_Owner_tbOwnerLastName")).SendKeys(lastname); driver.FindElement(By.Id("ContentPlaceHolder1_Owner_tbOwnerFirstName")).SendKeys(firstname); gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "OH", "Stark"); driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Owner_btnSearchOwner']")).Click(); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Owner search result", driver, "OH", "Stark"); try { mul = driver.FindElement(By.Id("ContentPlaceHolder1_lblNumberOfResults")).Text.Trim(); mul = WebDriverTest.Before(mul, " Results"); if (mul != "1") { //multi parcel IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; foreach (IWebElement row in TRmulti) { if (!row.Text.Contains("Parcel")) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count != 0) { string multi1 = TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text; gc.insert_date(orderNumber, TDmulti[0].Text, 302, multi1, 1, DateTime.Now); } } } HttpContext.Current.Session["multiparcel_Stark"] = "Yes"; driver.Quit(); return("MultiParcel"); } else { driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_gvSearchResults']/tbody/tr[2]/td[1]/a")).Click(); gc.CreatePdf_WOP(orderNumber, "Owner search result1", driver, "OH", "Stark"); Thread.Sleep(3000); } } catch { } } try { IWebElement INodata = driver.FindElement(By.Id("ContentPlaceHolder1_lblNumberOfResults")); if (INodata.Text.Contains("No results")) { HttpContext.Current.Session["Nodata_OHStark"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property details string Parcel_ID = "", Owner_Name = "", Property_Address = "", Property_Type = "", Year_Built = "", Legal_Description = ""; Parcel_ID = driver.FindElement(By.Id("ContentPlaceHolder1_Base_fvDataProfile_ParcelLabel")).Text.Trim(); Owner_Name = driver.FindElement(By.Id("ContentPlaceHolder1_Base_fvDataProfile_OwnerLabel")).Text.Trim(); Property_Address = driver.FindElement(By.Id("ContentPlaceHolder1_Base_fvDataProfile_AddressLabel")).Text.Trim(); Property_Type = driver.FindElement(By.Id("ContentPlaceHolder1_Base_fvDataLegal_PropertyClassLabel")).Text.Trim(); Legal_Description = driver.FindElement(By.Id("ContentPlaceHolder1_Base_fvDataLegal_LegalDescriptionLabel")).Text.Trim(); driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_mnuDatan5']/table/tbody/tr/td/a")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, Parcel_ID, "Building", driver, "OH", "Stark"); try { Year_Built = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Residential_gvDataBuildings']/tbody/tr[2]/td[5]")).Text.Trim(); } catch { } string property_details = Owner_Name + "~" + Property_Address + "~" + Property_Type + "~" + Year_Built + "~" + Legal_Description; gc.insert_date(orderNumber, Parcel_ID, 303, property_details, 1, DateTime.Now); // Owner_Name~Property_Address~Property_Type~Year_Built~Legal_Description //assessment details driver.FindElement(By.XPath(" //*[@id='ContentPlaceHolder1_mnuDatan2']/table/tbody/tr/td/a")).Click(); gc.CreatePdf(orderNumber, Parcel_ID, "Assessment", driver, "OH", "Stark"); Thread.Sleep(4000); IWebElement multitableElement11 = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Valuation_gvDataValuation']/tbody")); IList <IWebElement> multitableRow11 = multitableElement11.FindElements(By.TagName("tr")); int iRowsCount = driver.FindElements(By.XPath("//*[@id='ContentPlaceHolder1_Valuation_gvDataValuation']/tbody/tr")).Count; IList <IWebElement> multirowTD11; int i = 0; foreach (IWebElement row in multitableRow11) { if (!row.Text.Contains("Year")) { multirowTD11 = row.FindElements(By.TagName("td")); if (multirowTD11.Count != 1 && multirowTD11[0].Text.Trim() != "") { //Year~Appraised_Land_Value~Assessed_Land_Value~Appraised_Building_Value~Assessed_Building_Value~Appraised_Total_Value~Assessed_Total_Value~Override string assessment_details = multirowTD11[0].Text.Trim() + "~" + multirowTD11[1].Text.Trim() + "~" + multirowTD11[2].Text.Trim() + "~" + multirowTD11[3].Text.Trim() + "~" + multirowTD11[4].Text.Trim() + "~" + multirowTD11[5].Text.Trim() + "~" + multirowTD11[6].Text.Trim() + "~" + multirowTD11[7].Text.Trim(); gc.insert_date(orderNumber, Parcel_ID, 304, assessment_details, 1, DateTime.Now); i++; } if (i == 3) { break; } } } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //tax details driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_mnuDatan4']/table/tbody/tr/td/a")).Click(); gc.CreatePdf(orderNumber, Parcel_ID, "Tax details", driver, "OH", "Stark"); Thread.Sleep(3000); string taxdet = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Tax_fvDataTax']/tbody/tr/td/table/tbody")).Text.Trim(); string Bill_Number = gc.Between(taxdet, "Bill Number: ", "Installment Number:").Trim(); string Owner_Occupancy_Discount = driver.FindElement(By.XPath(" //*[@id='ContentPlaceHolder1_Tax_fvDataTax_ResidentialDiscountLabel']")).Text.Trim(); string CAUV_Recoupment = gc.Between(taxdet, "CAUV Recoupment:", "Recoupment Amount:").Trim(); string Homestead_Deduction = gc.Between(taxdet, "Homestead Deduction:", "Tax Abatement:").Trim(); string Homestead_Reduction = gc.Between(taxdet, "Homestead Reduction:", "CAUV Recoupment:").Trim(); string Recoupment_Amount = gc.Between(taxdet, "Recoupment Amount:", "Homestead Deduction:").Trim(); string Tax_Abatement = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Tax_fvDataTax_TaxAbatementLabel']")).Text.Trim(); string Property_Destruction = gc.Between(taxdet, "Property Destruction:", "Homestead Deduction Year:").Trim(); string Agricultural_Use_Value = gc.Between(taxdet, "Agricultural Use Value:", "Tax Year:").Trim(); string tax_year = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Tax_fvDataTax_TaxYearLabel']")).Text.Trim(); string tax_info_det = Bill_Number + "~" + Owner_Occupancy_Discount + "~" + CAUV_Recoupment + "~" + Homestead_Deduction + "~" + Homestead_Reduction + "~" + Recoupment_Amount + "~" + Tax_Abatement + "~" + Property_Destruction + "~" + Agricultural_Use_Value + "~" + tax_year; gc.insert_date(orderNumber, Parcel_ID, 390, tax_info_det, 1, DateTime.Now); // Bill_Number~Owner_Occupancy_Discount~CAUV_Recoupment~Homestead_Deduction~Homestead_Reduction~Recoupment_Amount~Tax_Abatement~Property_Destruction~Agricultural_Use_Value~tax_year IWebElement multitableElement2 = driver.FindElement(By.XPath(" //*[@id='ContentPlaceHolder1_Tax_gvDataTaxBilling']/tbody")); IList <IWebElement> multitableRow2 = multitableElement2.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD2; foreach (IWebElement row in multitableRow2) { if (!row.Text.Contains("Section")) { multirowTD2 = row.FindElements(By.TagName("td")); if (multirowTD2.Count != 1 && multirowTD2[1].Text.Trim() != "") { string tax_info = multirowTD2[0].Text.Trim() + "~" + multirowTD2[1].Text.Trim() + "~" + multirowTD2[2].Text.Trim() + "~" + multirowTD2[3].Text.Trim() + "~" + multirowTD2[4].Text.Trim() + "~" + multirowTD2[5].Text.Trim(); gc.insert_date(orderNumber, Parcel_ID, 305, tax_info, 1, DateTime.Now); //Section~Label~Tax_Amount~Paid_Amount~Due_Amount~Deliquent_Due } } } //tax payment IWebElement multitableElement3 = driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_Tax_gvDataTaxPayments']/tbody")); IList <IWebElement> multitableRow3 = multitableElement3.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD3; foreach (IWebElement row in multitableRow3) { if (!row.Text.Contains("Payment Date")) { multirowTD3 = row.FindElements(By.TagName("td")); if (multirowTD3.Count != 1 && multirowTD3[0].Text.Trim() != "") { string tax_payment = multirowTD3[0].Text.Trim() + "~" + multirowTD3[1].Text.Trim() + "~" + multirowTD3[2].Text.Trim(); gc.insert_date(orderNumber, Parcel_ID, 306, tax_payment, 1, DateTime.Now); //Payment_Date~Installment~Paid_Amount } } } //Special Assessments Table: IWebElement multitableElement4 = driver.FindElement(By.XPath(" //*[@id='ContentPlaceHolder1_Tax_gvSpecials']/tbody")); IList <IWebElement> multitableRow4 = multitableElement4.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD4; foreach (IWebElement row in multitableRow4) { if (!row.Text.Contains("Agency")) { multirowTD4 = row.FindElements(By.TagName("td")); if (multirowTD4.Count != 1) { string special_assessment = multirowTD4[0].Text.Trim() + "~" + multirowTD4[1].Text.Trim() + "~" + multirowTD4[2].Text.Trim() + "~" + multirowTD4[3].Text.Trim() + "~" + multirowTD4[4].Text.Trim() + "~" + multirowTD4[5].Text.Trim(); gc.insert_date(orderNumber, Parcel_ID, 307, special_assessment, 1, DateTime.Now); //Agency~Code~Amount~Status~Type~Due } } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "OH", "Stark", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "OH", "Stark"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_Dekalb(string address, string parcelNumber, string owner_name, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new PhantomJSDriver(); //driver = new ChromeDriver(); using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://taxcommissioner.dekalbcountyga.gov/PropertyAppraisal/realSearch.asp"); if (searchType == "address") { driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/form/table[1]/tbody/tr[4]/td[2]/input")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "InputPassed_Address Search", driver, "GA", "DeKalb"); driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/form/table[2]/tbody/tr/td/input")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "ResultGrid_AddressSearch", driver, "GA", "DeKalb"); //multi parcel.... try { IWebElement tableElement = driver.FindElement(By.XPath("/html/body/table[2]")); IList <IWebElement> tableRow = tableElement.FindElements(By.TagName("tr")); int tablerowcount = tableRow.Count; if (tablerowcount <= 10) { if (tablerowcount > 2) { IList <IWebElement> rowTD; HttpContext.Current.Session["multipleParcel_deKalb"] = "Yes"; foreach (IWebElement row in tableRow) { rowTD = row.FindElements(By.TagName("td")); if (rowTD.Count != 0) { string multiOwnerData = rowTD[0].Text.Trim() + "~" + rowTD[2].Text.Trim(); gc.insert_date(orderNumber, rowTD[1].Text.Trim(), 21, multiOwnerData, 1, DateTime.Now); } } driver.Quit(); return("MultiParcel"); } } else { HttpContext.Current.Session["multipleParcel_deKalb_count"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", "", address, "GA", "Dekalb"); 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_GADekalb"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "parcel") { if (GlobalClass.titleparcel != "") { parcelNumber = GlobalClass.titleparcel; } if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", ""); } driver.FindElement(By.Id("rePID")).SendKeys(parcelNumber); driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/form/table[2]/tbody/tr/td/input")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "GA", "DeKalb"); } if (searchType == "ownername") { driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/form/table[1]/tbody/tr[6]/td[2]/input")).SendKeys(owner_name); driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/form/table[2]/tbody/tr/td/input")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Owner Search", driver, "GA", "DeKalb"); //multi parcel.... try { IWebElement tableElement = driver.FindElement(By.XPath("/html/body/table[2]")); IList <IWebElement> tableRow = tableElement.FindElements(By.TagName("tr")); int tablerowcount = tableRow.Count; if (tablerowcount <= 10) { if (tablerowcount > 2) { IList <IWebElement> rowTD; HttpContext.Current.Session["multipleParcel_deKalb"] = "Yes"; foreach (IWebElement row in tableRow) { rowTD = row.FindElements(By.TagName("td")); if (rowTD.Count != 0) { string multiOwnerData = rowTD[0].Text.Trim() + "~" + rowTD[1].Text.Trim(); gc.insert_date(orderNumber, rowTD[2].Text.Trim(), 21, multiOwnerData, 1, DateTime.Now); } } driver.Quit(); return("MultiParcel"); } } else { HttpContext.Current.Session["multipleParcel_deKalb_count"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } Thread.Sleep(2000); //Property details.... if (searchType != "parcel") { try { driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td[1]/a")).SendKeys(Keys.Enter); } catch { } } Thread.Sleep(2000); try { IWebElement INodata = driver.FindElement(By.XPath("/html/body/table")); if (INodata.Text.Contains("entered was not found")) { HttpContext.Current.Session["Nodata_GADekalb"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } gc.CreatePdf(orderNumber, parcelNumber, "Parcel search Result", driver, "GA", "DeKalb"); string parcel_number = "-", owner_Name = "-", property_address = "-", year_built = "-", taxing_district = "-", deed_acreage = "-", property_class = "-"; parcel_number = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/table[1]/tbody/tr[1]/td[2]/a/font/b")).Text; parcelNumber = parcel_number; owner_Name = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/table[2]/tbody/tr[3]/td[2]")).Text; if (driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/table[2]/tbody/tr[4]/td[2]")).Text.Trim() != "") { owner_Name = owner_Name + " &" + driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/table[2]/tbody/tr[4]/td[2]")).Text; } property_address = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/table[2]/tbody/tr[8]/td[2]/a")).Text.Trim(); year_built = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/table[5]/tbody/tr[2]/td[2]")).Text.Trim(); if (year_built == "") { year_built = "-"; } taxing_district = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/table[2]/tbody/tr[2]/td[2]")).Text.Trim(); if (taxing_district == "") { taxing_district = "-"; } deed_acreage = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/table[2]/tbody/tr[6]/td[5]")).Text.Trim(); if (deed_acreage == "") { deed_acreage = "-"; } property_class = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/table[2]/tbody/tr[8]/td[5]")).Text.Trim(); if (property_class == "") { property_class = "-"; } string insertProprty = owner_Name + "~" + property_address + "~" + year_built + "~" + taxing_district + "~" + deed_acreage + "~" + property_class; gc.insert_date(orderNumber, parcel_number, 20, insertProprty, 1, DateTime.Now); //Assessment details.... try { IWebElement tableAss = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/table[6]/tbody")); IList <IWebElement> tableRowAss = tableAss.FindElements(By.TagName("tr")); IList <IWebElement> rowTDAss; int idx = 0; foreach (IWebElement row in tableRowAss) { rowTDAss = row.FindElements(By.TagName("td")); if (rowTDAss.Count != 0) { if (idx != 0 && idx != 1 && idx == 2) { string assessData = rowTDAss[0].Text.Trim() + "~" + rowTDAss[1].Text.Trim() + "~" + rowTDAss[2].Text.Trim() + "~" + rowTDAss[3].Text.Trim() + "~" + rowTDAss[4].Text.Trim() + "~" + rowTDAss[5].Text.Trim(); gc.insert_date(orderNumber, parcel_number, 29, assessData, 1, DateTime.Now); } } idx++; } } catch { } try { try { tableAss1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/table[5]/tbody")); if (!tableAss1.Text.Contains("Current Appraised & Assessment Value")) { tableAss1 = null; } } catch { } try { tableAss1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/table[6]/tbody")); if (!tableAss1.Text.Contains("Current Appraised & Assessment Value")) { tableAss1 = null; } } catch { } IList <IWebElement> tableRowAss1 = tableAss1.FindElements(By.TagName("tr")); IList <IWebElement> rowTDAss1; int idx1 = 0; foreach (IWebElement row in tableRowAss1) { rowTDAss1 = row.FindElements(By.TagName("td")); if (rowTDAss1.Count != 0) { if (idx1 != 0 && idx1 != 1 && idx1 == 2) { string assessData = rowTDAss1[0].Text.Trim() + "~" + rowTDAss1[1].Text.Trim() + "~" + rowTDAss1[2].Text.Trim() + "~" + rowTDAss1[3].Text.Trim() + "~" + rowTDAss1[4].Text.Trim() + "~" + rowTDAss1[5].Text.Trim(); gc.insert_date(orderNumber, parcel_number, 29, assessData, 1, DateTime.Now); } } idx1++; } } catch { } gc.CreatePdf(orderNumber, parcelNumber, "Property Detail and assessment detail", driver, "GA", "DeKalb"); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax details...... driver.Navigate().GoToUrl("https://taxcommissioner.dekalbcountyga.gov/TaxCommissioner/TCSearch.asp"); driver.FindElement(By.Id("Parcel")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "tax detail search", driver, "GA", "DeKalb"); driver.FindElement(By.Name("Submit")).Click(); //driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/div/table[3]/tbody/tr/td[1]/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "tax detail search result", driver, "GA", "DeKalb"); IWebElement Taxinfotable = driver.FindElement(By.XPath("//*[@id='printable']/table/tbody/tr/td/table/tbody/tr/td[1]/table/tbody/tr[1]/td/table/tbody")); string pin_Number = driver.FindElement(By.XPath("//*[@id='printable']/table/tbody/tr/td/table/tbody/tr/td[1]/table/tbody/tr[1]/td/table/tbody/tr[3]/td[2]")).Text.Trim().Replace("Pin Number", ""); string property_Type = gc.Between(Taxinfotable.Text, "Property Type", "Tax District").Trim(); string tax_District = GlobalClass.After(Taxinfotable.Text, "Tax District").Trim(); //IWebElement Taxinfotable1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody")); string tax_Year = driver.FindElement(By.XPath("//*[@id='printable']/table/tbody/tr/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[2]/td[2]")).Text.Replace("Taxable Year", "").Trim(); string milage_Rate = driver.FindElement(By.XPath("//*[@id='printable']/table/tbody/tr/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[3]/td[2]")).Text.Replace("Millage Rate", "").Trim(); string tax_Type = "DeKalb County"; string firstinstallmentamount = "", SecondInstallmentAmt = "", taxes_Billed = "", taxes_Paid = "", taxes_Due = ""; string total_Billed = "-", total_Paid = "-", total_Due = "-", firstPaymentDate = "-", firstPaymentAmount = "-", lastPaymentDate = "-", lastPaymentAmount = "-", cityTaxType = "-", cityTaxesBilled = "-", cityTaxesPaid = "-", cityTaxesDue = "-", cityFirstPaymentDate = "-", cityFirstPaymentAmount = "-", cityLastPaymentDate = "-", cityLastAmount = "-", taxingAuthority = "-", countyExemptionType = "", countyTaxExemptionAmount = "", cityExemptionType = "-", CityExemptionAmount = "-", taxExemptionType = "-", valueExemptionAmount = "-"; IWebElement tableTaxinfo = driver.FindElement(By.XPath("//*[@id='printable']/table/tbody/tr/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody")); IList <IWebElement> TRTaxinfo = tableTaxinfo.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxinfo; foreach (IWebElement row1 in TRTaxinfo) { TDTaxinfo = row1.FindElements(By.TagName("td")); if (TDTaxinfo.Count != 0) { if (row1.Text.Contains("1 st Installment Amount")) { firstinstallmentamount = TDTaxinfo[1].Text.Trim(); } if (row1.Text.Contains("2 nd Installment Amount")) { SecondInstallmentAmt = TDTaxinfo[1].Text.Trim(); } if (row1.Text.Contains("DeKalb County Taxes Billed")) { taxes_Billed = TDTaxinfo[1].Text.Trim(); } if (row1.Text.Contains("DeKalb County Taxes Paid")) { taxes_Paid = TDTaxinfo[1].Text.Trim(); } if (row1.Text.Contains("DeKalb County Taxes Due")) { taxes_Due = TDTaxinfo[1].Text.Trim(); } if (row1.Text.Contains("Total Taxes Billed")) { total_Billed = TDTaxinfo[1].Text.Trim(); } if (row1.Text.Contains("Total Taxes Paid")) { total_Paid = TDTaxinfo[1].Text.Trim(); } if (row1.Text.Contains("Total Taxes Due")) { total_Due = TDTaxinfo[1].Text.Trim(); } if (row1.Text.Contains("Atlanta Taxes Billed")) { cityTaxesBilled = TDTaxinfo[1].Text.Trim(); } if (row1.Text.Contains("Atlanta Taxes Paid")) { cityTaxesPaid = TDTaxinfo[1].Text.Trim(); } if (row1.Text.Contains("Atlanta Taxes Due")) { cityTaxesDue = TDTaxinfo[1].Text.Trim(); } } } try { IWebElement citytableTaxinfo = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table")); IList <IWebElement> cityTRTaxinfo = citytableTaxinfo.FindElements(By.TagName("tr")); IList <IWebElement> cityTDTaxinfo; int cityTRTaxinfocount = cityTRTaxinfo.Count; if (cityTRTaxinfocount == 5) { firstPaymentDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table/tbody/tr[2]/td[2]")).Text.Trim(); firstPaymentAmount = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table/tbody/tr3]/td[2]")).Text.Trim(); lastPaymentDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table/tbody/tr[4]/td[2]")).Text.Trim(); lastPaymentAmount = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table/tbody/tr[5]/td[2]")).Text.Trim(); } else if (cityTRTaxinfocount == 10) { firstPaymentDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table/tbody/tr[2]/td[2]")).Text.Trim(); firstPaymentAmount = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table/tbody/tr[3]/td[2]")).Text.Trim(); lastPaymentDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table/tbody/tr[4]/td[2]")).Text.Trim(); lastPaymentAmount = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table/tbody/tr[5]/td[2]")).Text.Trim(); cityFirstPaymentDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table/tbody/tr[7]/td[2]")).Text.Trim(); cityFirstPaymentAmount = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table/tbody/tr[8]/td[2]")).Text.Trim(); cityLastPaymentDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table/tbody/tr[9]/td[2]")).Text.Trim(); cityLastAmount = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table/tbody/tr[10]/td[2]")).Text.Trim(); } } catch { } try { IWebElement citytableTaxinfo = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[13]/td/table")); IList <IWebElement> cityTRTaxinfo = citytableTaxinfo.FindElements(By.TagName("tr")); IList <IWebElement> cityTDTaxinfo; int cityTRTaxinfocount = cityTRTaxinfo.Count; if (cityTRTaxinfocount == 5) { firstPaymentDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[13]/td/table/tbody/tr[2]/td[2]")).Text.Trim(); firstPaymentAmount = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[13]/td/table/tbody/tr[3]/td[2]")).Text.Trim(); lastPaymentDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[13]/td/table/tbody/tr[4]/td[2]")).Text.Trim(); lastPaymentAmount = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[13]/td/table/tbody/tr[5]/td[2]")).Text.Trim(); } else if (cityTRTaxinfocount == 10) { firstPaymentDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[13]/td/table/tbody/tr[2]/td[2]")).Text.Trim(); firstPaymentAmount = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[13]/td/table/tbody/tr[3]/td[2]")).Text.Trim(); lastPaymentDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[13]/td/table/tbody/tr[4]/td[2]")).Text.Trim(); lastPaymentAmount = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[13]/td/table/tbody/tr[5]/td[2]")).Text.Trim(); cityFirstPaymentDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[13]/td/table/tbody/tr[7]")).Text.Trim(); cityFirstPaymentAmount = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[13]/td/table/tbody/tr[8]")).Text.Trim(); cityLastPaymentDate = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[13]/td/table/tbody/tr[9]")).Text.Trim(); cityLastAmount = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[13]/td/table/tbody/tr[10]")).Text.Trim(); } } catch { } taxingAuthority = "DeKalb County Tax Commissioner Collections Division PO Box 100004,Decatur, GA 30031-7004"; try { countyExemptionType = driver.FindElement(By.XPath("//*[@id='printable']/table/tbody/tr/td/table/tbody/tr/td[1]/table/tbody/tr[4]/td/table/tbody/tr[2]/td[2]")).Text; countyTaxExemptionAmount = driver.FindElement(By.XPath("//*[@id='printable']/table/tbody/tr/td/table/tbody/tr/td[1]/table/tbody/tr[4]/td/table/tbody/tr[3]/td[2]")).Text; cityExemptionType = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[1]/table/tbody/tr[3]/td/table/tbody/tr[4]/td[2]")).Text; if (cityExemptionType == " ") { cityExemptionType = "-"; } CityExemptionAmount = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[1]/table/tbody/tr[3]/td/table/tbody/tr[5]/td[2]")).Text; } catch { } try { cityTaxType = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[1]/tbody/tr[16]/td/table/tbody/tr[6]/td")).Text.Trim(); } catch { } IWebElement Homesteadtable = driver.FindElement(By.XPath("//*[@id='printable']/table/tbody/tr/td/table/tbody/tr/td[1]/table/tbody/tr[3]/td/table/tbody")); taxExemptionType = gc.Between(Homesteadtable.Text, "Exemption Type", "Tax Exempt Amount").Trim(); valueExemptionAmount = GlobalClass.After(Homesteadtable.Text, "Tax Exempt Amount").Trim(); //Delinquent Taxes string Tax_Sale_File_Number = "-", FiFa_GED_Book_Page = "-", Levy_Date = "-", Sale_Date = "-", Delinquent_Amount_Due = "-"; try { Tax_Sale_File_Number = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]")).Text.Trim(); if (Tax_Sale_File_Number == "") { Tax_Sale_File_Number = "-"; } FiFa_GED_Book_Page = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[2]/td/table/tbody/tr[3]/td[2]")).Text.Trim(); if (FiFa_GED_Book_Page == "") { FiFa_GED_Book_Page = "-"; } Levy_Date = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[2]/td/table/tbody/tr[4]/td[2]")).Text.Trim(); if (Levy_Date == "") { Levy_Date = "-"; } Sale_Date = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[2]/td/table/tbody/tr[5]/td[2]")).Text.Trim(); if (Sale_Date == "") { Sale_Date = "-"; } Delinquent_Amount_Due = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[2]/td/table/tbody/tr[6]/td[2]")).Text.Trim(); if (Delinquent_Amount_Due == "") { Delinquent_Amount_Due = "-"; } } catch { } string tax_deliquent_details = pin_Number + "~" + property_Type + "~" + tax_District + "~" + tax_Year + "~" + milage_Rate + "~" + tax_Type + "~" + firstinstallmentamount + "~" + SecondInstallmentAmt + "~" + taxes_Billed + "~" + taxes_Paid + "~" + taxes_Due + "~" + total_Billed + "~" + total_Paid + "~" + total_Due + "~" + cityTaxesBilled + "~" + cityTaxesPaid + "~" + cityTaxesDue + "~" + firstPaymentDate + "~" + firstPaymentAmount + "~" + lastPaymentDate + "~" + lastPaymentAmount + "~" + cityFirstPaymentDate + "~" + cityFirstPaymentAmount + "~" + cityLastPaymentDate + "~" + cityLastAmount + "~" + taxingAuthority + "~" + countyExemptionType + "~" + countyTaxExemptionAmount + "~" + cityExemptionType + "~" + CityExemptionAmount + "~" + cityTaxType + "~" + taxExemptionType + "~" + valueExemptionAmount + "~" + Tax_Sale_File_Number + "~" + FiFa_GED_Book_Page + "~" + Levy_Date + "~" + Sale_Date + "~" + Delinquent_Amount_Due; gc.insert_date(orderNumber, parcel_number, 55, tax_deliquent_details, 1, DateTime.Now); int i = 1; string strTaxType = ""; //Tax History IWebElement tableTaxHistory = driver.FindElement(By.XPath("//*[@id='printable']/table/tbody/tr/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[3]/tbody")); IList <IWebElement> TRTaxHistory = tableTaxHistory.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxHistory; foreach (IWebElement row1 in TRTaxHistory) { TDTaxHistory = row1.FindElements(By.TagName("td")); if (TDTaxHistory.Count != 0 && TDTaxHistory.Count == 1 && !row1.Text.Contains("Commissioner") && !row1.Text.Contains("TaxYear") && !row1.Text.Contains("Prior Years Tax")) { if (TDTaxHistory[0].Text.Contains("DeKalb County Tax") || TDTaxHistory[0].Text.Contains("City Atlanta Tax")) { strTaxType = TDTaxHistory[0].Text; } } if (i >= 7) { if (TDTaxHistory.Count > 1 && !row1.Text.Contains("City ") && !row1.Text.Contains("TaxYear")) { string TDTaxHistory4 = ""; if (TDTaxHistory[4].Text.Trim() == "") { TDTaxHistory4 = "-"; } string taxhistory_details = strTaxType + "~" + TDTaxHistory[0].Text.Trim() + "~" + TDTaxHistory[1].Text.Trim() + "~" + TDTaxHistory[2].Text.Trim() + "~" + TDTaxHistory[3].Text.Trim() + "~" + TDTaxHistory4; gc.insert_date(orderNumber, parcel_number, 54, taxhistory_details, 1, DateTime.Now); } } i++; } gc.CreatePdf(orderNumber, parcelNumber, "Tax Details", driver, "GA", "DeKalb"); try { driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/table[2]/tbody/tr[1]/td[2]/form/input[3]")).SendKeys(Keys.Enter); driver.SwitchTo().Window(driver.WindowHandles.Last()); IWebElement tableTaxBill = driver.FindElement(By.XPath("/html/body/table/tbody/tr/td/table[3]")); IList <IWebElement> tableRowTaxBil = tableTaxBill.FindElements(By.TagName("tr")); IList <IWebElement> rowTDTaxBill; List <string> urlList = new List <string>(); foreach (IWebElement row in tableRowTaxBil) { rowTDTaxBill = row.FindElements(By.TagName("td")); if (rowTDTaxBill.Count != 0) { if (rowTDTaxBill[0].Text.Contains("2017") || rowTDTaxBill[0].Text.Contains("2018")) { IWebElement link = rowTDTaxBill[2].FindElement(By.TagName("a")); string url = link.GetAttribute("onclick"); url = WebDriverTest.Between(url, "('", "')"); string pdfName = url; //string outputPath = ConfigurationManager.AppSettings["screenShotPath-GAde"]; //outputPath = outputPath + orderNumber + "\\" + parcelNumber.Replace(" ", "") + "\\" + pdfName.Replace('/', '_'); url = "https://taxcommissioner.dekalbcountyga.gov/TaxCommissioner/" + url; //WebClient downloadTaxBills = new WebClient(); //downloadTaxBills.DownloadFile(url, outputPath); gc.downloadfile(url, orderNumber, parcelNumber, pdfName.Replace('/', '_'), "GA", "DeKalb"); } } } } catch { } if (tax_District.Contains("DECATUR")) { try { DekalbTax_search1(orderNumber, parcelNumber); DekalbTax_search2(orderNumber, parcelNumber); // DekalbTax_Year_Installment1(); //DekalbTax_Year_Installment2(); } catch (Exception e) { } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "GA", "DeKalb", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "GA", "DeKalb"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_Baltimore(string houseno, string sname, string stype, string unitno, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string Tax_Year = "", Paid_Date = "", Discount = "", Paid_Amount = "", Total_Due = "", b = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://sdat.dat.maryland.gov/RealProperty/Pages/default.aspx"); Thread.Sleep(3000); var Select = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchType_ddlCounty")); var selectElement1 = new SelectElement(Select); selectElement1.SelectByText("BALTIMORE CITY"); if (searchType == "address") { var Select1 = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchType_ddlSearchType")); var selectElement11 = new SelectElement(Select1); selectElement11.SelectByText("STREET ADDRESS"); gc.CreatePdf_WOP(orderNumber, "Address", driver, "MD", "Baltimore City"); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_StartNavigationTemplateContainerID_btnContinue")).SendKeys(Keys.Enter); Thread.Sleep(3000); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtStreenNumber")).SendKeys(houseno); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtStreetName")).SendKeys(sname); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "MD", "Baltimore City"); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_StepNavigationTemplateContainerID_btnStepNextButton")).SendKeys(Keys.Enter); Thread.Sleep(4000); try { if (driver.FindElement(By.XPath(" //*[@id='MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchResult_gv_SearchResult']/tbody")).Displayed) { gc.CreatePdf_WOP(orderNumber, "MultiParcel search result", driver, "MD", "Baltimore City"); IWebElement multitableElement11 = driver.FindElement(By.XPath("//*[@id='MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchResult_gv_SearchResult']/tbody")); IList <IWebElement> multitableRow11 = multitableElement11.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD11; int k = 0; foreach (IWebElement row in multitableRow11) { if (k <= 25) { if (!row.Text.Contains("Name")) { multirowTD11 = row.FindElements(By.TagName("td")); if (multirowTD11.Count != 1 && multirowTD11[0].Text.Trim() != "") { string p_no = multirowTD11[1].Text.Trim(); p_no = p_no.Replace(" ", ""); string multi_parcel = multirowTD11[0].Text.Trim() + "~" + multirowTD11[1].Text.Trim() + "~" + multirowTD11[2].Text.Trim() + "~" + multirowTD11[3].Text.Trim() + "~" + multirowTD11[4].Text.Trim() + "~" + multirowTD11[5].Text.Trim(); gc.insert_date(orderNumber, p_no, 210, multi_parcel, 1, DateTime.Now); } } k++; } } if (multitableRow11.Count > 25) { HttpContext.Current.Session["multiParcel_Baltimore_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiParcel_Baltimore"] = "Yes"; } driver.Quit(); // gc.mergpdf(orderNumber); return("MultiParcel"); } } catch { } } if (searchType == "titleflex") { string titleaddress = houseno + " " + sname + " " + stype + " " + unitno; gc.TitleFlexSearch(orderNumber, "", ownername, titleaddress.Trim(), "MD", "Baltimore City"); 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_MDBaltimore"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "parcel") { //if ((HttpContext.Current.Session["titleflex_alternateAPN"] == null)) //{ // gc.TitleFlexSearch(orderNumber, parcelNumber, "", "", "MD", "Baltimore City"); // string strParcelNumber = HttpContext.Current.Session["titleflex_alternateAPN"].ToString(); // if (strParcelNumber.Trim().Length == 13 || strParcelNumber.Trim().Length == 12 || strParcelNumber.Trim().Length == 9) // { // parcelNumber = strParcelNumber.Replace("-", "").Replace(" ", ""); // } // HttpContext.Current.Session["titleflex_alternateAPN"] = null; //} //if (HttpContext.Current.Session["titleparcel"] != null && HttpContext.Current.Session["titleflex_alternateAPN"] != null) //{ // string strParcelNumber = HttpContext.Current.Session["titleflex_alternateAPN"].ToString(); // if (strParcelNumber.Trim().Length == 13 || strParcelNumber.Trim().Length == 12 || strParcelNumber.Trim().Length == 9) // { // parcelNumber = strParcelNumber.Replace("-", "").Replace(" ", ""); // } //} var Select11 = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchType_ddlSearchType")); var selectElement111 = new SelectElement(Select11); selectElement111.SelectByText("PROPERTY ACCOUNT IDENTIFIER"); gc.CreatePdf_WOP(orderNumber, "Parcel search", driver, "MD", "Baltimore City"); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_StartNavigationTemplateContainerID_btnContinue")).SendKeys(Keys.Enter); Thread.Sleep(3000); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", ""); } if (parcelNumber.Length == 12) { string ward = parcelNumber.Substring(0, 2); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtWard")).SendKeys(ward); string section1 = parcelNumber.Substring(2, 2); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtSection")).SendKeys(section1); string block = parcelNumber.Substring(4, 5); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtBlock")).SendKeys(block); string lot = parcelNumber.Substring(9, 3); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtLot")).SendKeys(lot); } else { string ward1 = parcelNumber.Substring(0, 2); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtWard")).SendKeys(ward1); string section11 = parcelNumber.Substring(2, 2); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtSection")).SendKeys(section11); string block1 = parcelNumber.Substring(4, 4); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtBlock")).SendKeys(block1); string lot1 = parcelNumber.Substring(8, 3); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtLot")).SendKeys(lot1); } gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "MD", "Baltimore City"); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_StepNavigationTemplateContainerID_btnStepNextButton")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result1", driver, "MD", "Baltimore City"); } try { IWebElement INodata = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_lblErr")); if (INodata.Text.Contains("no records that match your criteria")) { HttpContext.Current.Session["Nodata_MDBaltimore"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property details gc.CreatePdf(orderNumber, parcelNumber, "Assessment details", driver, "MD", "Baltimore City"); string Account_id_number = "", Owner_name = "", Address = "", Legal_Description = "", Year_Built = "", use = "", Principal_Residence = "", Map = "", Sections = "", Land = "", Building = "", Total_Assessed_Value = ""; string Grid = "", Parcel = "", Sub_District = "", Subdivision = "", Block = "", Lot = "", Assessment_Year = "", Homestead_Application_Status = "", Homeowners_Tax_Credit_Application_Status = "", Homeowners_Tax_Credit_Application_Date = ""; Account_id_number = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblDetailsStreetHeader_0")).Text.Trim(); string value = Account_id_number.Replace("Ward", "").Replace("Section", "").Replace("Block", "").Replace("Lot", ""); Account_id_number = value.Replace(" ", "").Replace("-", ""); Owner_name = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblOwnerName_0")).Text.Trim(); Address = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblPremisesAddress_0")).Text.Trim(); Address = Address.Replace("\r\n", " "); string Mail_Address = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblMailingAddress_0")).Text.Trim(); Mail_Address = Mail_Address.Replace("\r\n", " "); Legal_Description = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblLegalDescription_0")).Text.Trim(); Year_Built = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label18_0")).Text.Trim(); use = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblUse_0")).Text.Trim(); Principal_Residence = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblPrinResidence_0")).Text.Trim(); Map = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label5_0")).Text.Trim(); Grid = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label6_0")).Text.Trim(); Parcel = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label7_0")).Text.Trim(); Sub_District = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label8_0")).Text.Trim(); Subdivision = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label9_0")).Text.Trim(); Sections = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label10_0")).Text.Trim(); Block = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label11_0")).Text.Trim(); Lot = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label12_0")).Text.Trim(); Assessment_Year = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label13_0")).Text.Trim(); Homestead_Application_Status = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblHomeStatus_0")).Text.Trim(); Homeowners_Tax_Credit_Application_Status = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblHTC_Status_0")).Text.Trim(); Homeowners_Tax_Credit_Application_Date = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblHTC_StatusDate_0")).Text.Trim(); string property_details = Account_id_number + "~" + Owner_name + "~" + Address + "~" + Mail_Address + "~" + Legal_Description + "~" + Year_Built + "~" + use + "~" + Principal_Residence + "~" + Map + "~" + Grid + "~" + Parcel + "~" + Sub_District + "~" + Subdivision + "~" + Sections + "~" + Block + "~" + Lot + "~" + Assessment_Year + "~" + Homestead_Application_Status + "~" + Homeowners_Tax_Credit_Application_Status + "~" + Homeowners_Tax_Credit_Application_Date; gc.insert_date(orderNumber, Account_id_number, 206, property_details, 1, DateTime.Now); //Assessment Details Table: Land = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblBaseLand_0")).Text.Trim(); Building = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblBaseImprove_0")).Text.Trim(); Total_Assessed_Value = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblBaseTotal_0")).Text.Trim(); string Assessment_details = Land + "~" + Building + "~" + Total_Assessed_Value; gc.insert_date(orderNumber, Account_id_number, 207, Assessment_details, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://cityservices.baltimorecity.gov/realproperty/default.aspx"); Thread.Sleep(3000); driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_txtBlock")).SendKeys(Block); driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_txtLot")).SendKeys(Lot); gc.CreatePdf(orderNumber, Account_id_number, "Tax_info", driver, "MD", "Baltimore City"); driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Account_id_number, "Tax_info1", driver, "MD", "Baltimore City"); driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_DataGrid1_ctl02_lnkBtnSelect")).Click(); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Account_id_number, "Tax_info2", driver, "MD", "Baltimore City"); string other_charges = ""; Tax_Year = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_LabelEndFY")).Text; string other = ""; try { other = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Other2")).Text; } catch { other = ""; } try { if (other != "OTHER CHARGES") { Paid_Date = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Paid")).Text; Paid_Date = Regex.Replace(Paid_Date, "[A-Za-z ]", "").Trim(); string a1 = Paid_Date.Substring(0, 8); Discount = Paid_Date.Substring(8, 4); Paid_Date = a1; Paid_Amount = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_AmtPaid")).Text; } else { Paid_Date = " "; Discount = " "; Paid_Date = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Other")).Text; Paid_Amount = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_OtherAmt")).Text; Paid_Date = Regex.Replace(Paid_Date, "[A-Za-z ]", "").Trim(); string a1 = Paid_Date.Substring(0, 8); Discount = Paid_Date.Substring(8, 4); Paid_Date = a1; other_charges = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Other2Amt")).Text; } } catch { } Total_Due = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_AmountDue")).Text; if (!Total_Due.Contains("0.00")) { other_charges = driver.FindElement(By.Id("ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_OtherAmt")).Text; } IWebElement multitableElement1 = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Table1']/tbody")); IList <IWebElement> multitableRow1 = multitableElement1.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD1; foreach (IWebElement row in multitableRow1) { if (!row.Text.Contains("ASSESSMENT")) { if (!row.Text.Contains("PAID")) { multirowTD1 = row.FindElements(By.TagName("td")); if (multirowTD1.Count != 1) { if (multirowTD1.Count == 4) { string tax_info = Tax_Year + "~" + "" + "~" + multirowTD1[0].Text.Trim() + "~" + multirowTD1[1].Text.Trim() + "~" + multirowTD1[2].Text.Trim() + "~" + multirowTD1[3].Text.Trim() + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-"; gc.insert_date(orderNumber, Account_id_number, 208, tax_info, 1, DateTime.Now); } } } } } string tax_info1 = Tax_Year + "~" + Paid_Date + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + other_charges + "~" + Discount + "~" + Paid_Amount + "~" + Total_Due; gc.insert_date(orderNumber, Account_id_number, 208, tax_info1, 1, DateTime.Now); string Taxing_authority_address1 = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_tblDetail']/tbody/tr[2]/td[2]")).Text.Trim(); Taxing_authority_address1 = Taxing_authority_address1.Replace("\r\n", " "); string Taxing_authority_address = WebDriverTest.Before(Taxing_authority_address1, "TELEPHONE").Trim(); string telephone = WebDriverTest.After(Taxing_authority_address1, "BILLING").Trim(); telephone = WebDriverTest.Before(telephone, "IVR REFERENCE").Trim(); string tax_info2 = "Taxing Authority :" + "~" + Taxing_authority_address + "~" + "Phone Number :" + "~" + telephone + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-"; gc.insert_date(orderNumber, Account_id_number, 208, tax_info2, 1, DateTime.Now); TaxTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Due / Delinquent Details if (!Total_Due.Contains("0.00")) { string install = ""; IWebElement multitableElement11 = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Table2']/tbody")); IList <IWebElement> multitableRow11 = multitableElement11.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD11; foreach (IWebElement row in multitableRow11) { if (!row.Text.Contains("SEMIANNUAL PAYMENT")) { if (row.Text.Contains("1ST INSTALLMENT")) { install = "1ST INSTALLMENT"; } if (row.Text.Contains("2ND INSTALLMENT")) { install = "2ND INSTALLMENT"; } if (row.Text.Contains("ANNUAL PAYMENT SCHEDULE")) { install = "ANNUAL PAYMENT SCHEDULE"; } if (!row.Text.Contains("IF PAID BY")) { if (!row.Text.Contains(" ")) { multirowTD11 = row.FindElements(By.TagName("td")); if (multirowTD11.Count == 3) { string tax_info = "-" + "~" + install + "~" + multirowTD11[0].Text.Trim() + "~" + multirowTD11[1].Text.Trim() + "~" + multirowTD11[2].Text.Trim(); gc.insert_date(orderNumber, Account_id_number, 209, tax_info, 1, DateTime.Now); } } } } } string service_fee = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Table2']/tbody/tr[14]/td[1]")).Text; tax_info1 = service_fee + "~" + "" + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, Account_id_number, 209, tax_info1, 1, DateTime.Now); string fee = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_rootMasterContent_LocalContentPlaceHolder_Table2']/tbody/tr[14]/td[2]")).Text; tax_info2 = fee + "~" + "" + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, Account_id_number, 209, tax_info2, 1, DateTime.Now); } CitytaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "MD", "Baltimore City", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "MD", "Baltimore City"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_FLPalmBeach(string address, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; string[] stringSeparators1 = new string[] { "\r\n" }; // driver = new ChromeDriver(); using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { // string titleaddress = houseno + " " + housedir + " " + sname + " " + sttype + " " + unitno; gc.TitleFlexSearch(orderNumber, "", "", address, "FL", "Palm Beach"); if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { driver.Quit(); return("MultiParcel"); } else if (HttpContext.Current.Session["titleparcel"].ToString() == "") { HttpContext.Current.Session["Nodata_FLPalmBeach"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://www.pbcgov.com/PAPA/index.htm"); Thread.Sleep(4000); IWebElement iframeElement = driver.FindElement(By.Id("master-search")); Thread.Sleep(6000); driver.SwitchTo().Frame(iframeElement); driver.FindElement(By.Id("txtSearch")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "FL", "Palm Beach"); driver.FindElement(By.XPath("//*[@id='form2']/div[3]/div[1]/div/button")).SendKeys(Keys.Enter); Thread.Sleep(2000); //MultiParcel try { IWebElement MultiTable = driver.FindElement(By.Id("gvSrchResults")); IList <IWebElement> MultiTR = MultiTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiTD; int maxCheck = 0; gc.CreatePdf_WOP(orderNumber, "MultiAddresssearch", driver, "FL", "Palm Beach"); foreach (IWebElement Multi in MultiTR) { MultiTD = Multi.FindElements(By.TagName("td")); if (MultiTD.Count != 0 && !Multi.Text.Contains("Owner Name")) { OwnerName = MultiTD[0].Text; Location = MultiTD[1].Text; Municipality = MultiTD[2].Text; parcelNumber = MultiTD[3].Text; Multidata = OwnerName + "~" + Location + "~" + Municipality; gc.insert_date(orderNumber, parcelNumber, 330, Multidata, 1, DateTime.Now); } maxCheck++; } if (maxCheck <= 25) { HttpContext.Current.Session["multiParcel_FLPalmBeach"] = "Yes"; GlobalClass.multiParcel_FLPalmBeach = "Yes"; driver.Quit(); return("MultiParcel"); } if (MultiTR.Count > 25) { HttpContext.Current.Session["multiParcel_FLPalmBeach_Multicount"] = "Maximum"; GlobalClass.multiParcel_FLPalmBeach_Multicount = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } else if (searchType == "parcel") { driver.Navigate().GoToUrl("http://www.pbcgov.com/PAPA/index.htm"); Thread.Sleep(2000); IWebElement iframeElement = driver.FindElement(By.Id("master-search")); Thread.Sleep(6000); driver.SwitchTo().Frame(iframeElement); driver.FindElement(By.Id("txtSearch")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "FL", "Palm Beach"); driver.FindElement(By.XPath("//*[@id='form2']/div[3]/div[1]/div/button")).SendKeys(Keys.Enter); Thread.Sleep(2000); } else if (searchType == "ownername") { driver.Navigate().GoToUrl("http://www.pbcgov.com/PAPA/index.htm"); Thread.Sleep(2000); IWebElement iframeElement = driver.FindElement(By.Id("master-search")); Thread.Sleep(6000); driver.SwitchTo().Frame(iframeElement); driver.FindElement(By.Id("txtSearch")).SendKeys(ownername); gc.CreatePdf(orderNumber, parcelNumber, "OwnerSearch", driver, "FL", "Palm Beach"); driver.FindElement(By.XPath("//*[@id='form2']/div[3]/div[1]/div/button")).SendKeys(Keys.Enter); Thread.Sleep(2000); //MultiParcel try { IWebElement MultiTable = driver.FindElement(By.Id("gvSrchResults")); IList <IWebElement> MultiTR = MultiTable.FindElements(By.TagName("tr")); IList <IWebElement> MultiTD; int maxCheck = 0; gc.CreatePdf_WOP(orderNumber, "MultiOwnersearch", driver, "FL", "Palm Beach"); foreach (IWebElement Multi in MultiTR) { if (maxCheck <= 25) { MultiTD = Multi.FindElements(By.TagName("td")); if (MultiTD.Count != 0 && !Multi.Text.Contains("Owner Name")) { OwnerName = MultiTD[0].Text; Location = MultiTD[1].Text; Municipaliti = MultiTD[2].Text; parcelNumber = MultiTD[3].Text; Multidata = OwnerName + "~" + Location + "~" + Municipaliti; gc.insert_date(orderNumber, parcelNumber, 330, Multidata, 1, DateTime.Now); } maxCheck++; } } HttpContext.Current.Session["multiParcel_FLPalmBeach"] = "Yes"; if (MultiTR.Count > 25) { HttpContext.Current.Session["multiParcel_FLPalmBeach_Multicount"] = "Maximum"; return("Maximum"); } driver.Quit(); return("MultiParcel"); } catch { } } try { string Nodata = driver.FindElement(By.Id("MainContent_lblMsg")).Text; if (Nodata == "No Results matched your search criteria. Please modify your search and try again.") { HttpContext.Current.Session["Nodata_FLPalmBeach"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //Scraped Data Location_Address = driver.FindElement(By.XPath("//*[@id='tdDetail']/table/tbody/tr[2]/td[2]")).Text; Municipality = driver.FindElement(By.XPath("//*[@id='tdDetail']/table/tbody/tr[3]/td[2]")).Text; ParcelNo = driver.FindElement(By.XPath("//*[@id='tdDetail']/table/tbody/tr[4]/td[2]")).Text; amck.TaxId = ParcelNo; gc.CreatePdf(orderNumber, ParcelNo, "Property Result", driver, "FL", "Palm Beach"); try { SubDivision = driver.FindElement(By.XPath("//*[@id='tdDetail']/table/tbody/tr[5]/td[2]")).Text; Legal_Description = driver.FindElement(By.XPath("//*[@id='tdDetail']/table/tbody/tr[8]/td[2]")).Text; IWebElement Acrestable = driver.FindElement(By.XPath("//*[@id='propertyInformationDiv']/fieldset/table[1]/tbody/tr[2]/td[1]/table[2]/tbody")); IList <IWebElement> AcresTR = Acrestable.FindElements(By.TagName("tr")); IList <IWebElement> AcresTD; foreach (IWebElement Acre in AcresTR) { AcresTD = Acre.FindElements(By.TagName("td")); if (AcresTD.Count != 0 && Acre.Text.Contains("Acres")) { Acres = AcresTD[1].Text; } } IWebElement Yeartable = driver.FindElement(By.XPath("//*[@id='propertyInformationDiv']/fieldset/table[1]/tbody/tr[2]/td[2]/table/tbody")); IList <IWebElement> YearTR = Yeartable.FindElements(By.TagName("tr")); IList <IWebElement> YearTD; foreach (IWebElement Year in YearTR) { YearTD = Year.FindElements(By.TagName("td")); if (YearTD.Count != 0 && Year.Text.Contains("Year Built")) { Year_Built = YearTD[2].Text; } } IWebElement OwnerTable = driver.FindElement(By.XPath("//*[@id='ownerInformationDiv']/fieldset/table/tbody/tr[2]/td[1]/table/tbody")); IList <IWebElement> OwnerTR = OwnerTable.FindElements(By.TagName("tr")); IList <IWebElement> OwnerTD; foreach (IWebElement Owner in OwnerTR) { OwnerTD = Owner.FindElements(By.TagName("td")); if (OwnerTD.Count != 0 && !Owner.Text.Contains("Owner(s)")) { Owner_Name += OwnerTD[0].Text + " "; } } string Mailaddress1 = driver.FindElement(By.Id("MainContent_lblAddrLine3")).Text; string Mailing_Address2 = driver.FindElement(By.XPath("//*[@id='ownerInformationDiv']/fieldset/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td")).Text; Mailing_Address = Mailing_Address2 + " " + Mailaddress1; } catch { } Property_Details = Location_Address + "~" + Municipality + "~" + SubDivision + "~" + Legal_Description + "~" + Acres + "~" + Year_Built + "~" + Owner_Name + "~" + Mailing_Address; gc.insert_date(orderNumber, ParcelNo, 338, Property_Details, 1, DateTime.Now); //Appraisals Details try { IWebElement AppraisalsTable = driver.FindElement(By.XPath("//*[@id='tblApprsal']/tbody")); IList <IWebElement> AppraisalsTR = AppraisalsTable.FindElements(By.TagName("tr")); IList <IWebElement> AppraisalsTD; List <string> Tax_Year = new List <string>(); List <string> Improvement_Value = new List <string>(); List <string> Land_Value = new List <string>(); List <string> TotalMarket_Value = new List <string>(); int i = 1; foreach (IWebElement Appraisals in AppraisalsTR) { AppraisalsTD = Appraisals.FindElements(By.TagName("td")); if (!Appraisals.Text.Contains("Show 5 year")) { if (i == 1) { Tax_Year.Add(AppraisalsTD[1].Text); Tax_Year.Add(AppraisalsTD[2].Text); Tax_Year.Add(AppraisalsTD[3].Text); Tax_Year.Add(AppraisalsTD[4].Text); Tax_Year.Add(AppraisalsTD[5].Text); } else if (i == 2) { Improvement_Value.Add(AppraisalsTD[1].Text); Improvement_Value.Add(AppraisalsTD[2].Text); Improvement_Value.Add(AppraisalsTD[3].Text); Improvement_Value.Add(AppraisalsTD[4].Text); Improvement_Value.Add(AppraisalsTD[5].Text); } else if (i == 3) { Land_Value.Add(AppraisalsTD[1].Text); Land_Value.Add(AppraisalsTD[2].Text); Land_Value.Add(AppraisalsTD[3].Text); Land_Value.Add(AppraisalsTD[4].Text); Land_Value.Add(AppraisalsTD[5].Text); } else if (i == 4) { TotalMarket_Value.Add(AppraisalsTD[1].Text); TotalMarket_Value.Add(AppraisalsTD[2].Text); TotalMarket_Value.Add(AppraisalsTD[3].Text); TotalMarket_Value.Add(AppraisalsTD[4].Text); TotalMarket_Value.Add(AppraisalsTD[5].Text); } i++; } } Appraisals_details1 = Tax_Year[0] + "~" + Improvement_Value[0] + "~" + Land_Value[0] + "~" + TotalMarket_Value[0]; Appraisals_details2 = Tax_Year[1] + "~" + Improvement_Value[1] + "~" + Land_Value[1] + "~" + TotalMarket_Value[1]; Appraisals_details3 = Tax_Year[2] + "~" + Improvement_Value[2] + "~" + Land_Value[2] + "~" + TotalMarket_Value[2]; Appraisals_details4 = Tax_Year[3] + "~" + Improvement_Value[3] + "~" + Land_Value[3] + "~" + TotalMarket_Value[3]; Appraisals_details5 = Tax_Year[4] + "~" + Improvement_Value[4] + "~" + Land_Value[4] + "~" + TotalMarket_Value[4]; //gc.CreatePdf(orderNumber, ParcelNo, "Appraisls Details", driver, "FL", "Palm Beach"); gc.insert_date(orderNumber, ParcelNo, 342, Appraisals_details1, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 342, Appraisals_details2, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 342, Appraisals_details3, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 342, Appraisals_details4, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 342, Appraisals_details5, 1, DateTime.Now); } catch { } //Assessed Details try { IWebElement AssessedTable = driver.FindElement(By.XPath("//*[@id='tblAssVal']/tbody")); IList <IWebElement> AssessedTR = AssessedTable.FindElements(By.TagName("tr")); IList <IWebElement> AssessedTD; List <string> Tax_Year = new List <string>(); List <string> Assessed_Value = new List <string>(); List <string> Exemption_Amount = new List <string>(); List <string> Taxable_Value = new List <string>(); int j = 1; foreach (IWebElement Assessed in AssessedTR) { AssessedTD = Assessed.FindElements(By.TagName("td")); if (!Assessed.Text.Contains("Show 5 year")) { if (j == 1) { Tax_Year.Add(AssessedTD[1].Text); Tax_Year.Add(AssessedTD[2].Text); Tax_Year.Add(AssessedTD[3].Text); Tax_Year.Add(AssessedTD[4].Text); Tax_Year.Add(AssessedTD[5].Text); } else if (j == 2) { Assessed_Value.Add(AssessedTD[1].Text); Assessed_Value.Add(AssessedTD[2].Text); Assessed_Value.Add(AssessedTD[3].Text); Assessed_Value.Add(AssessedTD[4].Text); Assessed_Value.Add(AssessedTD[5].Text); } else if (j == 3) { Exemption_Amount.Add(AssessedTD[1].Text); Exemption_Amount.Add(AssessedTD[2].Text); Exemption_Amount.Add(AssessedTD[3].Text); Exemption_Amount.Add(AssessedTD[4].Text); Exemption_Amount.Add(AssessedTD[5].Text); } else if (j == 4) { Taxable_Value.Add(AssessedTD[1].Text); Taxable_Value.Add(AssessedTD[2].Text); Taxable_Value.Add(AssessedTD[3].Text); Taxable_Value.Add(AssessedTD[4].Text); Taxable_Value.Add(AssessedTD[5].Text); } j++; } } Assessed_details1 = Tax_Year[0] + "~" + Assessed_Value[0] + "~" + Exemption_Amount[0] + "~" + Taxable_Value[0]; Assessed_details2 = Tax_Year[1] + "~" + Assessed_Value[1] + "~" + Exemption_Amount[1] + "~" + Taxable_Value[1]; Assessed_details3 = Tax_Year[2] + "~" + Assessed_Value[2] + "~" + Exemption_Amount[2] + "~" + Taxable_Value[2]; Assessed_details4 = Tax_Year[3] + "~" + Assessed_Value[3] + "~" + Exemption_Amount[3] + "~" + Taxable_Value[3]; Assessed_details5 = Tax_Year[4] + "~" + Assessed_Value[4] + "~" + Exemption_Amount[4] + "~" + Taxable_Value[4]; //gc.CreatePdf(orderNumber, ParcelNo, "Assessed Details", driver, "FL", "Palm Beach"); gc.insert_date(orderNumber, ParcelNo, 348, Assessed_details1, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 348, Assessed_details2, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 348, Assessed_details3, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 348, Assessed_details4, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 348, Assessed_details5, 1, DateTime.Now); } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //TaxesValue Details try { IWebElement TaxesValueTable = driver.FindElement(By.XPath("//*[@id='tblTaxes']/tbody")); IList <IWebElement> TaxesValueTR = TaxesValueTable.FindElements(By.TagName("tr")); IList <IWebElement> TaxesValueTD; List <string> Tax_Year = new List <string>(); List <string> Ad_Valorem = new List <string>(); List <string> NonAd_Valorem = new List <string>(); List <string> Total_tax = new List <string>(); int k = 1; foreach (IWebElement TaxesValue in TaxesValueTR) { TaxesValueTD = TaxesValue.FindElements(By.TagName("td")); if (!TaxesValue.Text.Contains("Show 5 year")) { if (k == 1) { Tax_Year.Add(TaxesValueTD[1].Text); Tax_Year.Add(TaxesValueTD[2].Text); Tax_Year.Add(TaxesValueTD[3].Text); Tax_Year.Add(TaxesValueTD[4].Text); Tax_Year.Add(TaxesValueTD[5].Text); } else if (k == 2) { Ad_Valorem.Add(TaxesValueTD[1].Text); Ad_Valorem.Add(TaxesValueTD[2].Text); Ad_Valorem.Add(TaxesValueTD[3].Text); Ad_Valorem.Add(TaxesValueTD[4].Text); Ad_Valorem.Add(TaxesValueTD[5].Text); } else if (k == 3) { NonAd_Valorem.Add(TaxesValueTD[1].Text); NonAd_Valorem.Add(TaxesValueTD[2].Text); NonAd_Valorem.Add(TaxesValueTD[3].Text); NonAd_Valorem.Add(TaxesValueTD[4].Text); NonAd_Valorem.Add(TaxesValueTD[5].Text); } else if (k == 4) { Total_tax.Add(TaxesValueTD[1].Text); Total_tax.Add(TaxesValueTD[2].Text); Total_tax.Add(TaxesValueTD[3].Text); Total_tax.Add(TaxesValueTD[4].Text); Total_tax.Add(TaxesValueTD[5].Text); } k++; } } TaxesValue_details1 = Tax_Year[0] + "~" + Ad_Valorem[0] + "~" + NonAd_Valorem[0] + "~" + Total_tax[0]; TaxesValue_details2 = Tax_Year[1] + "~" + Ad_Valorem[1] + "~" + NonAd_Valorem[1] + "~" + Total_tax[1]; TaxesValue_details3 = Tax_Year[2] + "~" + Ad_Valorem[2] + "~" + NonAd_Valorem[2] + "~" + Total_tax[2]; TaxesValue_details4 = Tax_Year[3] + "~" + Ad_Valorem[3] + "~" + NonAd_Valorem[3] + "~" + Total_tax[3]; TaxesValue_details5 = Tax_Year[4] + "~" + Ad_Valorem[4] + "~" + NonAd_Valorem[4] + "~" + Total_tax[4]; //gc.CreatePdf(orderNumber, ParcelNo, "TaxValues Details", driver, "FL", "Palm Beach"); gc.insert_date(orderNumber, ParcelNo, 349, TaxesValue_details1, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 349, TaxesValue_details2, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 349, TaxesValue_details3, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 349, TaxesValue_details4, 1, DateTime.Now); gc.insert_date(orderNumber, ParcelNo, 349, TaxesValue_details5, 1, DateTime.Now); } catch { } //Tax Information Details driver.Navigate().GoToUrl("https://pbctax.manatron.com/Tabs/PropertyTax.aspx"); Thread.Sleep(2000); var SelectParcel = driver.FindElement(By.Id("selSearchBy")); var SelectParcelTax = new SelectElement(SelectParcel); SelectParcelTax.SelectByText("Property Control Number"); driver.FindElement(By.Id("fldInput")).SendKeys(ParcelNo); driver.FindElement(By.Id("btnsearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNo, "ParcelTax Details", driver, "FL", "Palm Beach"); driver.FindElement(By.XPath("//*[@id='grm-search']/tbody/tr[2]/td[6]/a")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNo, "Tax Summary Details", driver, "FL", "Palm Beach"); Real_Property = driver.FindElement(By.XPath("//*[@id='lxT506']/table/tbody/tr[2]/td[2]")).Text; property_Address = driver.FindElement(By.XPath("//*[@id='lxT506']/table/tbody/tr[3]/td/table/tbody/tr[1]/td[2]")).Text; property_Address = WebDriverTest.After(property_Address, "Property Address:").Trim(); string[] linesName = property_Address.Split(stringSeparators1, StringSplitOptions.None); OwnerOf_record = driver.FindElement(By.XPath("//*[@id='lxT506']/table/tbody/tr[3]/td/table/tbody/tr[2]/td[1]")).Text; OwnerOf_record = WebDriverTest.After(OwnerOf_record, "Owner of Record").Trim(); string[] linesName1 = OwnerOf_record.Split(stringSeparators1, StringSplitOptions.None); driver.Navigate().GoToUrl("https://www.pbctax.com/content/help"); Thread.Sleep(2000); Tax_Authority = driver.FindElement(By.XPath("//*[@id='content-area']/div/div/div/div[1]/p")).Text.Replace("Mailing Address", "").Trim(); gc.CreatePdf(orderNumber, ParcelNo, "Tax Authority", driver, "FL", "Palm Beach"); driver.Navigate().Back(); Thread.Sleep(2000); TaxBill_Details = Real_Property + "~" + property_Address + "~" + OwnerOf_record + "~" + Tax_Authority; gc.insert_date(orderNumber, ParcelNo, 357, TaxBill_Details, 1, DateTime.Now); //Tax Payment History Details List <string> billinfo = new List <string>(); try { IWebElement TaxPaymentTB = driver.FindElement(By.XPath("//*[@id='508']/table/tbody")); IList <IWebElement> TaxPaymentTR = TaxPaymentTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxPaymentTD; int a = 0; //gc.CreatePdf(orderNumber, ParcelNo, "Tax Payment Details", driver, "FL", "Palm Beach"); foreach (IWebElement TaxPayment in TaxPaymentTR) { TaxPaymentTD = TaxPayment.FindElements(By.TagName("td")); if (TaxPaymentTD.Count != 0) { if (a < 3) { if (TaxPaymentTD.Count != 0 && !TaxPayment.Text.Contains("Bill Year")) { IWebElement value1 = TaxPaymentTD[0].FindElement(By.TagName("a")); string addview = value1.GetAttribute("href"); billinfo.Add(addview); } a++; } Bill_Year = TaxPaymentTD[0].Text; Bill_Type = TaxPaymentTD[1].Text; Bill_Number = TaxPaymentTD[2].Text; Gross_Tax = TaxPaymentTD[3].Text; Penalty_Fees = TaxPaymentTD[4].Text; Interest = TaxPaymentTD[5].Text; Discount = TaxPaymentTD[6].Text; Amount_Due = TaxPaymentTD[7].Text; TaxpaymentDetails = Bill_Year + "~" + Bill_Type + "~" + Bill_Number + "~" + Gross_Tax + "~" + Penalty_Fees + "~" + Interest + "~" + Discount + "~" + Amount_Due; gc.insert_date(orderNumber, ParcelNo, 359, TaxpaymentDetails, 1, DateTime.Now); } } } catch { } //Tax Bill int s = 0; foreach (string taxinfoclick in billinfo) { try { driver.Navigate().GoToUrl(taxinfoclick); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelNo, "TaxBill_priorYear" + s, driver, "FL", "Palm Beach"); Billtaxyear = driver.FindElement(By.XPath("//*[@id='lxT538']/h1")).Text.Replace("Bill Detail", "").Trim(); //Tax And Assement Details// IWebElement TaxAssementTB = driver.FindElement(By.XPath("//*[@id='dnn_ContentPane']/div[4]")); IList <IWebElement> TaxAssementTR = TaxAssementTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxAssementTD; int taxrowcount = TaxAssementTR.Count; int b = 1; /*string pathid = "";*/ foreach (IWebElement TaxAssement in TaxAssementTR) { TaxAssementTD = TaxAssement.FindElements(By.TagName("td")); if (TaxAssement.Text.Contains("Ad Valorem")) { Tax_Type = "Ad Valorem"; } if (TaxAssement.Text.Contains("Non Ad Valorem")) { Tax_Type = "Non Ad Valorem"; } if (TaxAssementTD.Count != 0 && !TaxAssement.Text.Contains("Ad Valorem") && TaxAssement.Text != "" && TaxAssementTD.Count != 1 && !TaxAssement.Text.Contains("Non Ad Valorem")) { if (TaxAssementTD.Count == 4 && !TaxAssement.Text.Contains("Total Tax")) { Description = "Sub Total"; TaxGross_Tax = TaxAssementTD[0].Text; Credit = TaxAssementTD[1].Text; Net_Tax = TaxAssementTD[2].Text; Savings = TaxAssementTD[3].Text; TaxAssement_Details = Billtaxyear + "~" + Tax_Type + "~" + Description + "~" + TaxGross_Tax + "~" + Credit + "~" + Net_Tax + "~" + Savings; gc.insert_date(orderNumber, ParcelNo, 363, TaxAssement_Details, 1, DateTime.Now); } else { if (b % 2 == 0 && b != taxrowcount) { try { //pathid = driver.FindElement(By.XPath("//*[@id='lxT512']/table/tbody/tr["+ b +"]/td[1]")).GetAttribute("tb"); driver.FindElement(By.XPath("//*[@id='lxT512']/table/tbody/tr[" + b + "]/td[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); //gc.CreatePdf(orderNumber, ParcelNo, "Ad Valorem and Non Ad Valorem" + b, driver, "FL", "Palm Beach"); } catch { } Description = TaxAssementTD[0].Text; TaxGross_Tax = TaxAssementTD[1].Text; Credit = TaxAssementTD[2].Text; Net_Tax = TaxAssementTD[3].Text; Savings = TaxAssementTD[4].Text; TaxAssement_Details = Billtaxyear + "~" + Tax_Type + "~" + Description + "~" + TaxGross_Tax + "~" + Credit + "~" + Net_Tax + "~" + Savings; gc.insert_date(orderNumber, ParcelNo, 363, TaxAssement_Details, 1, DateTime.Now); Description = ""; TaxGross_Tax = ""; Credit = ""; Net_Tax = ""; Savings = ""; } } if (TaxAssement.Text.Contains("Total Tax") && !TaxAssement.Text.Contains("Sub Total")) { Description = "Total Tax"; TaxGross_Tax = TaxAssementTD[0].Text; Credit = TaxAssementTD[1].Text; Net_Tax = TaxAssementTD[2].Text; if (Tax_Type == "Non Ad Valorem") { amck.Instamount1 = Net_Tax; } Savings = TaxAssementTD[3].Text; TaxAssement_Details = Billtaxyear + "~" + Tax_Type + "~" + Description + "~" + TaxGross_Tax + "~" + Credit + "~" + Net_Tax + "~" + Savings; gc.insert_date(orderNumber, ParcelNo, 363, TaxAssement_Details, 1, DateTime.Now); } } b++; } } catch { } gc.CreatePdf(orderNumber, ParcelNo, "Ad Valorem and Non Ad Valorem" + Billtaxyear, driver, "FL", "Palm Beach"); //Tax Installment Details try { IWebElement TaxInstallmentTB = driver.FindElement(By.XPath("//*[@id='dnn_ContentPane']/div[5]")); IList <IWebElement> TaxInstallmentTR = TaxInstallmentTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxInstallmentTD; foreach (IWebElement TaxInstallment in TaxInstallmentTR) { TaxInstallmentTD = TaxInstallment.FindElements(By.TagName("td")); if (TaxInstallmentTD.Count != 0 && !TaxInstallment.Text.Contains("Period")) { if (TaxInstallmentTD[0].Text.Trim() == "Total Due:") { Period = ""; BillNumber = ""; Due_Date = ""; BillYear = TaxInstallmentTD[0].Text; Tax = TaxInstallmentTD[1].Text; Discount1 = TaxInstallmentTD[2].Text; Penality = TaxInstallmentTD[3].Text; Interest1 = TaxInstallmentTD[4].Text; Total_Due = TaxInstallmentTD[5].Text; if (s == 0) { if (TaxInstallmentTR.Count == 3) { if (Total_Due == "$0.00") { amck.IsDelinquent = "No"; amck.InstPaidDue1 = "Paid"; gc.InsertAmrockTax(orderNumber, amck.TaxId, amck.Instamount1, amck.Instamount2, amck.Instamount3, amck.Instamount4, amck.Instamountpaid1, amck.Instamountpaid2, amck.Instamountpaid3, amck.Instamountpaid4, amck.InstPaidDue1, amck.InstPaidDue2, amck.instPaidDue3, amck.instPaidDue4, amck.IsDelinquent); } else if (Total_Due != "$0.00" && Interest1 != "$0.00") { amck.IsDelinquent = "Yes"; amck.InstPaidDue1 = "Due"; gc.InsertAmrockTax(orderNumber, amck.TaxId, amck.Instamount1, amck.Instamount2, amck.Instamount3, amck.Instamount4, amck.Instamountpaid1, amck.Instamountpaid2, amck.Instamountpaid3, amck.Instamountpaid4, amck.InstPaidDue1, amck.InstPaidDue2, amck.instPaidDue3, amck.instPaidDue4, amck.IsDelinquent); } } } } else { Period = TaxInstallmentTD[0].Text; BillNumber = TaxInstallmentTD[1].Text; Due_Date = TaxInstallmentTD[2].Text; BillYear = TaxInstallmentTD[3].Text; if (BillYear != "") { amck.TaxYear = BillYear; } Tax = TaxInstallmentTD[4].Text; Discount1 = TaxInstallmentTD[5].Text; Penality = TaxInstallmentTD[6].Text; Interest1 = TaxInstallmentTD[7].Text; Total_Due = TaxInstallmentTD[8].Text; } TaxInstallmentDetails = Period + "~" + BillNumber + "~" + Due_Date + "~" + BillYear + "~" + Tax + "~" + Discount1 + "~" + Penality + "~" + Interest1 + "~" + Total_Due; gc.insert_date(orderNumber, ParcelNo, 361, TaxInstallmentDetails, 1, DateTime.Now); } } } catch { } //Tax Payment details try { IWebElement PaymentTB = driver.FindElement(By.XPath("//*[@id='dnn_ContentPane']/div[7]")); IList <IWebElement> PaymentTR = PaymentTB.FindElements(By.TagName("tr")); IList <IWebElement> PaymentTD; foreach (IWebElement Payment in PaymentTR) { PaymentTD = Payment.FindElements(By.TagName("td")); if (PaymentTD.Count != 0 && !Payment.Text.Contains("Bill Year")) { Payment_BillYear = PaymentTD[0].Text; Payment_BillNumber = PaymentTD[1].Text; Receipt_Number = PaymentTD[2].Text; Amount_Paid = PaymentTD[3].Text; if (Amount_Paid != "") { amck.Instamountpaid1 = Amount_Paid; } Last_Paid = PaymentTD[4].Text; Paid_By = PaymentTD[5].Text; Payment_Details = Payment_BillYear + "~" + Payment_BillNumber + "~" + Receipt_Number + "~" + Amount_Paid + "~" + Last_Paid + "~" + Paid_By; gc.insert_date(orderNumber, ParcelNo, 362, Payment_Details, 1, DateTime.Now); } } } catch { } //Tax Bill Dowload try { IWebElement taxinfotable = driver.FindElement(By.XPath("//*[@id='lxT538']/p")); IList <IWebElement> viwetaxbill = taxinfotable.FindElements(By.TagName("a")); foreach (IWebElement taxyearelement in viwetaxbill) { if (taxyearelement.Text.Contains("Print Tax Bill")) { string viewhref = taxyearelement.GetAttribute("href"); gc.downloadfile(viewhref, orderNumber, ParcelNo, "ViewTaxBill.pdf" + s, "FL", "Palm Beach"); } } s++; } catch { } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "FL", "Palm Beach", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); //megrge pdf files gc.mergpdf(orderNumber, "FL", "Palm Beach"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_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; 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(); 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 "); 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 = 1; 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; BALANCE = TDTax[3].Text; 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++; } //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_FLMarion(string address, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel, string ownername) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; List <string> mcheck = new List <string>(); string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { //driver = new ChromeDriver(); try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { titleaddress = address; titleOwner = ownername; gc.TitleFlexSearch(orderNumber, "", ownername, titleaddress, "FL", "Marion"); 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_FLMarion"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://www.pa.marion.fl.us/PropertySearch.aspx"); Thread.Sleep(2000); driver.FindElement(By.Id("MCPAMaster_MCPAContent_rblSearchBy_0")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("MCPAMaster_MCPAContent_txtParm")).SendKeys(address); driver.FindElement(By.Id("MCPAMaster_MCPAContent_btnWine")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "FL", "Marion"); Thread.Sleep(2000); try { IWebElement MultiAddressTB = driver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody")); IList <IWebElement> MultiAddressTR = MultiAddressTB.FindElements(By.TagName("tr")); IList <IWebElement> MultiAddressTD; gc.CreatePdf_WOP(orderNumber, "Multi Address search", driver, "FL", "Marion"); if (MultiAddressTR.Count == 1) { driver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody/tr/td[1]/a")).Click(); Thread.Sleep(4000); } else { int AddressmaxCheck = 0; string xpath = ""; int m = 1; foreach (IWebElement MultiAddress in MultiAddressTR) { if (AddressmaxCheck <= 25) { MultiAddressTD = MultiAddress.FindElements(By.TagName("td")); if (MultiAddressTD.Count != 0 && MultiAddress.Text.Contains(address.ToUpper())) { IWebElement Parcelno1 = MultiAddressTD[0].FindElement(By.TagName("a")); Parcelno = Parcelno1.Text; Owner = MultiAddressTD[1].Text; Property_Address = MultiAddressTD[2].Text; MultiAddress_details = Owner + "~" + Property_Address; gc.insert_date(orderNumber, Parcelno, 672, MultiAddress_details, 1, DateTime.Now); xpath = "//*[@id='srch']/table[1]/tbody/tr[" + m + "]/td[1]/a"; mcheck.Add(MultiAddressTD[0].Text.Trim()); } m++; } AddressmaxCheck++; } if (mcheck.Count == 1) { driver.FindElement(By.XPath(xpath)).Click(); Thread.Sleep(4000); } else { if (MultiAddressTR.Count > 25) { HttpContext.Current.Session["multiParcel_FLMarion_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } else { HttpContext.Current.Session["multiparcel_FLMarion"] = "Yes"; driver.Quit(); return("MultiParcel"); } } } } catch { } try { //No Data Found string nodata = driver.FindElement(By.Id("srch")).Text; if (nodata.Contains("0 records found. End of search reached.")) { HttpContext.Current.Session["Nodata_FLMarion"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("http://www.pa.marion.fl.us/PropertySearch.aspx"); Thread.Sleep(2000); driver.FindElement(By.Id("MCPAMaster_MCPAContent_rblSearchBy_2")).Click(); Thread.Sleep(2000); driver.FindElement(By.Id("MCPAMaster_MCPAContent_txtParm")).SendKeys(parcelNumber); driver.FindElement(By.Id("MCPAMaster_MCPAContent_btnWine")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "FL", "Marion"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody/tr/td[1]/a")).Click(); Thread.Sleep(2000); try { //No Data Found string nodata = driver.FindElement(By.Id("srch'")).Text; if (nodata.Contains("0 records found. End of search reached.")) { HttpContext.Current.Session["Nodata_FLMarion"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "ownername") { var chromeOptions = new ChromeOptions(); var chDriver = new ChromeDriver(chromeOptions); chDriver.Navigate().GoToUrl("http://www.pa.marion.fl.us/PropertySearch.aspx"); Thread.Sleep(2000); chDriver.FindElement(By.Id("MCPAMaster_MCPAContent_rblSearchBy_1")).Click(); Thread.Sleep(2000); chDriver.FindElement(By.Id("MCPAMaster_MCPAContent_txtParm")).SendKeys(ownername); chDriver.FindElement(By.Id("MCPAMaster_MCPAContent_btnWine")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "Owner search", chDriver, "FL", "Marion"); Thread.Sleep(2000); try { IWebElement MultiOwnerTB = chDriver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody")); IList <IWebElement> MultiOwnerTR = MultiOwnerTB.FindElements(By.TagName("tr")); IList <IWebElement> MultiOwnerTD; gc.CreatePdf_WOP(orderNumber, "Multi Owner search", chDriver, "FL", "Marion"); if (MultiOwnerTR.Count == 1) { chDriver.FindElement(By.XPath("//*[@id='srch']/table[1]/tbody/tr/td[1]/a")).Click(); Thread.Sleep(2000); } else { int OwnermaxCheck = 0; foreach (IWebElement MultiOwner in MultiOwnerTR) { if (OwnermaxCheck <= 25) { MultiOwnerTD = MultiOwner.FindElements(By.TagName("td")); if (MultiOwnerTD.Count != 0) { IWebElement Parcelno1 = MultiOwnerTD[0].FindElement(By.TagName("a")); Parcelno = Parcelno1.Text; Owner = MultiOwnerTD[1].Text; Property_Address = MultiOwnerTD[2].Text; MultiOwner_details = Owner + "~" + Property_Address; gc.insert_date(orderNumber, Parcelno, 672, MultiOwner_details, 1, DateTime.Now); } OwnermaxCheck++; } } if (MultiOwnerTR.Count > 25) { HttpContext.Current.Session["multiParcel_FLMarion_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_FLMarion"] = "Yes"; } chDriver.Quit(); return("MultiParcel"); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='srch']/text()")).Text; if (nodata.Contains("0 records found. End of search reached.")) { HttpContext.Current.Session["Nodata_FLMarion"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } chDriver.Quit(); } Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(4000); //Property Details //try //{ // driver.FindElement(By.XPath("//*[@id='prc']/div/a[1]")).Click(); // Thread.Sleep(6000); //} //catch //{ } try { ParcelID = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/h1")).Text; Primary_Key = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[1]/tbody/tr/td[1]")).Text; Primary_Key = WebDriverTest.After(Primary_Key, "Prime Key: "); Owner_Mailing = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[2]/tbody/tr/td[1]")).Text; try { driver.FindElement(By.XPath("//*[@id='prc']/div/a[2]")).Click(); Thread.Sleep(2000); full = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[2]/tbody/tr/td[2]")).Text; Taxes_Assments = gc.Between(full, "Taxes / Assessments:", "Map ID:"); try { assess1 = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[3]/tbody/tr/td[1]")).Text.Replace("\r\n", "~"); assess11 = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[3]/tbody/tr/td[2]")).Text.Replace("\r\n", "~"); DBconnection dbconn = new DBconnection(); dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + assess1 + "' where Id = '" + 692 + "'"); gc.CreatePdf(orderNumber, ParcelID, "Assessment1 Details", driver, "FL", "Marion"); gc.insert_date(orderNumber, ParcelID, 692, assess11, 1, DateTime.Now); } catch { } //History Accessd Values try { IWebElement HistoryTB = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[4]/tbody")); IList <IWebElement> HistoryTR = HistoryTB.FindElements(By.TagName("tr")); IList <IWebElement> HistoryTD; foreach (IWebElement History in HistoryTR) { HistoryTD = History.FindElements(By.TagName("td")); if (HistoryTD.Count != 0 && HistoryTR.Count != 1) { Year = HistoryTD[0].Text; Land_Just = HistoryTD[1].Text; Building = HistoryTD[2].Text; Misc_Value = HistoryTD[3].Text; Mkt_Just = HistoryTD[4].Text; Assed_Value = HistoryTD[5].Text; Exceptions = HistoryTD[6].Text; Taxabl_Val = HistoryTD[7].Text; History_details = Year + "~" + Land_Just + "~" + Building + "~" + Misc_Value + "~" + Mkt_Just + "~" + Assed_Value + "~" + Exceptions + "~" + Taxabl_Val; gc.insert_date(orderNumber, ParcelID, 693, History_details, 1, DateTime.Now); } } } catch { } driver.Navigate().Back(); Thread.Sleep(5000); } catch { } Map_Id = gc.Between(full, "Map ID:", "Millage:"); Millage = GlobalClass.After(full, "Millage:"); full1 = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[2]/tbody/tr/td[3]")).Text; try { Acres = gc.Between(full1, "Acres: ", "Situs: ").Replace("More Situs", ""); Situs = WebDriverTest.After(full1, "Situs: "); } catch { } Proty_Desp = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td")).Text; Proty_Desp = gc.Between(Proty_Desp, "Property Description", "Land Data - Warning: Verify Zoning"); try { Improve1 = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[6]/tbody/tr/td[1]/table/tbody/tr/td[2]")).Text.Replace("\r\n", "~"); string[] rowarrayname1 = Improve1.Split('~'); Improve = rowarrayname1[0]; Year_Built = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[6]/tbody/tr/td[2]")).Text; Year_Built = gc.Between(Year_Built, "Year Built", "Physical Deterioration"); } catch { } property = Primary_Key + "~" + Owner_Mailing + "~" + Situs + "~" + Taxes_Assments + "~" + Map_Id + "~" + Millage + "~" + Acres + "~" + Proty_Desp + "~" + Improve + "~" + Year_Built; gc.CreatePdf(orderNumber, ParcelID, "Assessment11 Details", driver, "FL", "Marion"); gc.insert_date(orderNumber, ParcelID, 691, property, 1, DateTime.Now); } catch { } //try //{ // assess = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[3]/tbody/tr/td[1]")).Text.Replace("\r\n", "~"); // assess1 = driver.FindElement(By.XPath("//*[@id='prc']/table/tbody/tr/td/table[3]/tbody/tr/td[2]")).Text.Replace("\r\n", "~"); // DBconnection dbconn = new DBconnection(); // dbconn.ExecuteQuery("update data_field_master set Data_Fields_Text='" + assess + "' where Id = '" + 692 + "'"); // gc.insert_date(orderNumber, ParcelID, 692, assess1, 1, DateTime.Now); //} //catch //{ } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Details driver.Navigate().GoToUrl("https://www.mariontax.com/itm/PropertySearchAccount.aspx"); Thread.Sleep(4000); driver.FindElement(By.Id("btnAgree")).Click(); Thread.Sleep(4000); driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_txtAccount")).SendKeys(ParcelID); gc.CreatePdf(orderNumber, ParcelID, "Tax Details", driver, "FL", "Marion"); driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(4000); gc.CreatePdf(orderNumber, ParcelID, "Tax Parcels Details", driver, "FL", "Marion"); driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_rptSummary__ctl0_lnkDetails1")).Click(); Thread.Sleep(4000); //Tax Payment History try { IWebElement BreakdownTB = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_tblSummary']/tbody")); IList <IWebElement> BreakdownTR = BreakdownTB.FindElements(By.TagName("tr")); IList <IWebElement> BreakdownTD; foreach (IWebElement Breakdown in BreakdownTR) { BreakdownTD = Breakdown.FindElements(By.TagName("td")); if (BreakdownTD.Count != 0 && !Breakdown.Text.Contains("Year")) { Tax_Year = BreakdownTD[0].Text; Roll = BreakdownTD[1].Text; Acc_Num = BreakdownTD[2].Text; Sta = BreakdownTD[3].Text; Date_Paid = BreakdownTD[4].Text; Amount_Paid = BreakdownTD[5].Text; Balnc_Due = BreakdownTD[6].Text; Payment_details = Tax_Year + "~" + Roll + "~" + Acc_Num + "~" + Sta + "~" + Date_Paid + "~" + Amount_Paid + "~" + Balnc_Due; gc.insert_date(orderNumber, ParcelID, 695, Payment_details, 1, DateTime.Now); } } } catch { } //Tax Information Acc_No = driver.FindElement(By.XPath("//*[@id='tbl1']/tbody/tr[2]/td[2]")).Text.Replace(" ", ""); Typ = driver.FindElement(By.XPath("//*[@id='tbl1']/tbody/tr[2]/td[4]/table/tbody/tr/td[1]")).Text; Add = driver.FindElement(By.XPath("//*[@id='tbl1']/tbody/tr[3]/td[2]")).Text; try { Deliquent = driver.FindElement(By.XPath("//*[@id='tbl3']/tbody/tr[4]/td")).Text; } catch { } try { Roll_Coment = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_tblSummary']/tbody/tr[3]/td[2]")).Text; } catch { } List <string> ParcelSearch = new List <string>(); try { IWebElement ParcelTB = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_tblSummary']/tbody")); IList <IWebElement> ParcelTR = ParcelTB.FindElements(By.TagName("tr")); ParcelTR.Reverse(); int rows_count = ParcelTR.Count; for (int row = 0; row < rows_count; row++) { if (row == rows_count - 1 || row == rows_count - 2 || row == rows_count - 3) { IList <IWebElement> Columns_row = ParcelTR[row].FindElements(By.TagName("td")); int columns_count = Columns_row.Count; for (int column = 0; column < columns_count; column++) { if (column == columns_count - 2) { IWebElement ParcelBill_link = Columns_row[0].FindElement(By.TagName("a")); string Parcelurl = ParcelBill_link.GetAttribute("href"); ParcelSearch.Add(Parcelurl); } } } } } catch { } foreach (string Parcelbill in ParcelSearch) { driver.Navigate().GoToUrl(Parcelbill); Thread.Sleep(3000); Taxy = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_lblDetTaxYear']")).Text; try { Pdes1 = driver.FindElement(By.XPath("//*[@id='Table2a']/tbody/tr[1]/td")).Text; Pdes2 = driver.FindElement(By.XPath("//*[@id='Table2a']/tbody/tr[2]/td")).Text; Pdes3 = driver.FindElement(By.XPath("//*[@id='Table2a']/tbody/tr[3]/td")).Text; Pdes4 = driver.FindElement(By.XPath("//*[@id='Table2a']/tbody/tr[4]/td")).Text; P_des = Pdes1 + " " + Pdes2 + " " + Pdes3 + " " + Pdes4; } catch { } try { OInfo1 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[1]/td")).Text; M_Addr1 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[2]/td")).Text; M_Addr2 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[3]/td")).Text; Owner_Mail = OInfo1 + " & " + M_Addr1 + " " + M_Addr2; } catch { } try { OInfo1 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[1]/td")).Text; OInfo2 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[2]/td")).Text; M_Addr1 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[3]/td")).Text; M_Addr2 = driver.FindElement(By.XPath("//*[@id='Table2b']/tbody/tr[4]/td")).Text; Owner_Mail = OInfo1 + " " + OInfo2 + " & " + M_Addr1 + " " + M_Addr2; } catch { } try { IWebElement tbmulti11 = driver.FindElement(By.XPath("//*[@id='Table2c']/tbody")); IList <IWebElement> TRmulti11 = tbmulti11.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti11; foreach (IWebElement row in TRmulti11) { TDmulti11 = row.FindElements(By.TagName("td")); if (TDmulti11.Count != 0) { Mkt = TDmulti11[0].Text; if (Mkt.Contains("MARKET VALU")) { Markt_Value = TDmulti11[0].Text.Replace(" ", ""); Markt_Value = WebDriverTest.After(Markt_Value, "MARKETVALU"); } Asst = TDmulti11[0].Text; if (Asst.Contains("ASSESSMENT")) { ASSESSMENT = TDmulti11[0].Text.Replace(" ", ""); ASSESSMENT = WebDriverTest.After(ASSESSMENT, "ASSESSMENT"); } Txb = TDmulti11[0].Text; if (Txb.Contains("TAXABLE")) { TAXABLE = TDmulti11[0].Text.Replace(" ", ""); TAXABLE = WebDriverTest.After(TAXABLE, "TAXABLE"); } Ext = TDmulti11[0].Text; if (Ext.Contains("EXCD01")) { EXC = TDmulti11[0].Text.Replace(" ", ""); EXC = WebDriverTest.After(EXC, "EXCD01"); } Ext1 = TDmulti11[0].Text; if (Ext1.Contains("EXCD38")) { EXC1 = TDmulti11[0].Text.Replace(" ", ""); EXC1 = WebDriverTest.After(EXC1, "EXCD38"); } Ext2 = TDmulti11[0].Text; if (Ext2.Contains("EXCD02")) { EXC2 = TDmulti11[0].Text.Replace(" ", ""); EXC2 = WebDriverTest.After(EXC2, "EXCD02"); } Count_Asst = TDmulti11[0].Text; if (Count_Asst.Contains("COUNTY ASMT")) { County_ASMT = TDmulti11[0].Text.Replace(" ", ""); County_ASMT = WebDriverTest.After(County_ASMT, "COUNTYASMT"); } Count_txbl = TDmulti11[0].Text; if (Count_txbl.Contains("COUNTY TXBL")) { County_TXBL = TDmulti11[0].Text.Replace(" ", ""); County_TXBL = WebDriverTest.After(County_TXBL, "COUNTYTXBL"); } Tax_Asst = TDmulti11[0].Text; if (Tax_Asst.Contains("SCHOOL ASMT")) { Tax_ASMT = TDmulti11[0].Text.Replace(" ", ""); Tax_ASMT = WebDriverTest.After(Tax_ASMT, "SCHOOLASMT"); } Tax_txbl = TDmulti11[0].Text; if (Tax_txbl.Contains("SCHOOL TXBL")) { Tax_TXBL = TDmulti11[0].Text.Replace(" ", ""); Tax_TXBL = WebDriverTest.After(Tax_TXBL, "SCHOOLTXBL"); } } } IWebElement tbmulti1 = driver.FindElement(By.XPath("//*[@id='Table2d']/tbody")); IList <IWebElement> TRmulti1 = tbmulti1.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti1; foreach (IWebElement row in TRmulti1) { TDmulti1 = row.FindElements(By.TagName("td")); if (TDmulti1.Count != 0) { txes = TDmulti1[0].Text; if (txes.Contains("TAXES")) { TAXES = TDmulti1[0].Text.Replace(" ", ""); TAXES = WebDriverTest.After(TAXES, "TAXES"); } sptxs = TDmulti1[0].Text; if (sptxs.Contains("SP. ASMT")) { SP_ASMT = TDmulti1[0].Text.Replace(" ", ""); SP_ASMT = WebDriverTest.After(SP_ASMT, "SP.ASMT"); } intt = TDmulti1[0].Text; if (intt.Contains("INT.")) { INT = TDmulti1[0].Text.Replace(" ", ""); INT = WebDriverTest.After(INT, "INT."); } Salet = TDmulti1[0].Text; if (Salet.Contains("SALE 5%")) { SALE = TDmulti1[0].Text.Replace(" ", ""); SALE = WebDriverTest.After(SALE, "SALE5%"); } Advt = TDmulti1[0].Text; if (Advt.Contains("ADV. FEE")) { ADV = TDmulti1[0].Text.Replace(" ", ""); ADV = WebDriverTest.After(ADV, "ADV.FEE"); } } } Tax_Info = Acc_No + "~" + Typ + "~" + Add + "~" + Taxy + "~" + P_des + "~" + Owner_Mail + "~" + Markt_Value + "~" + ASSESSMENT + "~" + TAXABLE + "~" + EXC + "~" + EXC1 + "~" + EXC2 + "~" + TAXES + "~" + SP_ASMT + "~" + INT + "~" + SALE + "~" + ADV + "~" + County_ASMT + "~" + County_TXBL + "~" + Tax_ASMT + "~" + Tax_TXBL; gc.insert_date(orderNumber, ParcelID, 697, Tax_Info, 1, DateTime.Now); Markt_Value = ""; ASSESSMENT = ""; TAXABLE = ""; EXC = ""; EXC1 = ""; EXC2 = ""; TAXES = ""; SP_ASMT = ""; INT = ""; SALE = ""; ADV = ""; County_ASMT = ""; County_TXBL = ""; Tax_ASMT = ""; Tax_TXBL = ""; } catch { } gc.CreatePdf(orderNumber, ParcelID, "Tax Payment Details" + Taxy, driver, "FL", "Marion"); Thread.Sleep(2000); //Tax Receipt try { Receipt = driver.FindElement(By.XPath("//*[@id='tbl5']/tbody/tr[4]/td")).Text.Replace(" ", ""); Commonreceipt = Receipt; if (Commonreceipt.Length == 58) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 9); D = Receipt.Substring(38, 7); E = Receipt.Substring(45, 4); F = Receipt.Substring(49, 9); Receipt_Details5 = A + "~" + B + "~" + "~" + C + "~" + D + "~" + E + "~" + F; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details5, 1, DateTime.Now); } if (Commonreceipt.Length == 42) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 4); D = Receipt.Substring(33, 9); Receipt_Details1 = A + "~" + B + "~" + C + "~" + D + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details1, 1, DateTime.Now); } if (Commonreceipt.Length == 62) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 4); D = Receipt.Substring(33, 9); E = Receipt.Substring(42, 7); F = Receipt.Substring(49, 4); G = Receipt.Substring(53, 9); Receipt_Details2 = A + "~" + B + "~" + C + "~" + D + "~" + E + "~" + F + "~" + G; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details2, 1, DateTime.Now); } if (Commonreceipt.Length == 61) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 4); D = Receipt.Substring(33, 10); E = Receipt.Substring(43, 6); F = Receipt.Substring(49, 5); G = Receipt.Substring(54, 7); Receipt_Details3 = A + "~" + B + "~" + C + "~" + D + "~" + E + "~" + F + "~" + G; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details3, 1, DateTime.Now); } if (Commonreceipt.Length == 60) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 4); D = Receipt.Substring(33, 9); E = Receipt.Substring(42, 7); F = Receipt.Substring(49, 4); G = Receipt.Substring(53, 7); Receipt_Details4 = A + "~" + B + "~" + C + "~" + D + "~" + E + "~" + F + "~" + G; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details4, 1, DateTime.Now); } if (Commonreceipt.Length == 56) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 9); D = Receipt.Substring(38, 7); E = Receipt.Substring(45, 4); F = Receipt.Substring(49, 7); Receipt_Details4 = A + "~" + B + "~" + "" + "~" + C + "~" + D + "~" + E + "~" + F; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details4, 1, DateTime.Now); } if (Commonreceipt.Length == 64) { A = Receipt.Substring(0, 10); B = Receipt.Substring(10, 19); C = Receipt.Substring(29, 4); D = Receipt.Substring(33, 9); E = Receipt.Substring(42, 8); F = Receipt.Substring(50, 4); G = Receipt.Substring(54, 10); Receipt_Details9 = A + "~" + B + "~" + C + "~" + D + "~" + E + "~" + F + "~" + G; gc.insert_date(orderNumber, ParcelID, 698, Receipt_Details9, 1, DateTime.Now); } } catch { } //driver.Navigate().Back(); //Thread.Sleep(2000); } driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_lnkAcctBill2")).Click(); Thread.Sleep(3000); driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(4000); //Ad-Valorem & Non-Ad Valorem IWebElement AdValoremTB = driver.FindElement(By.XPath("//*[@id='Table3']/tbody")); IList <IWebElement> AdValoremTR = AdValoremTB.FindElements(By.TagName("tr")); IList <IWebElement> AdValoremTD; foreach (IWebElement AdValorem in AdValoremTR) { AdValoremTD = AdValorem.FindElements(By.TagName("td")); if (AdValoremTD.Count != 0 && !AdValorem.Text.Contains("TAXING AUTHORITY") && AdValoremTD[0].Text != "" && !AdValorem.Text.Contains("*** PAID *** PAID *** PAID ***") && !AdValorem.Text.Contains("PERIOD")) { //if (AdValorem.Text.Contains("COMBINED TAXES & ASSESSMENTS TOTAL:")) //{ // break; //} string Output = AdValoremTD[0].Text; Output = Regex.Replace(Output, @"\s+", " ").TrimStart(); Output = Output.Replace(" ", "~"); string[] rowarrayname1 = Output.Split('~'); List <string> listname = new List <string>(); listname.AddRange(rowarrayname1); int count = listname.Count(); string name = "", millege = "", assessed = "", exemptions = "", taxable = "", taxes = ""; int k = 0; if (count == 2 && listname[0].Any(Char.IsDigit)) { Advalorem_details1 = "Total Millege" + "~" + listname[0] + "~" + "" + "~" + "" + "~" + "Total Ad Valorem Taxes" + "~" + listname[1]; gc.CreatePdf(orderNumber, ParcelID, "Ad-Valorem & Non-Ad Valorem Taxs Details" + Taxy, driver, "FL", "Marion"); gc.insert_date(orderNumber, ParcelID, 700, Advalorem_details1, 1, DateTime.Now); } else { for (int i = 0; i < count; i++) { if (!listname[i].Any(Char.IsDigit)) { name = name + " " + listname[i]; } else { if (listname[i].Any(Char.IsDigit) && (k == 0)) { millege = listname[i]; } if (listname[i].Any(Char.IsDigit) && (k == 1)) { assessed = listname[i]; } if (listname[i].Any(Char.IsDigit) && (k == 2)) { exemptions = listname[i]; } if (listname[i].Any(Char.IsDigit) && (k == 3)) { taxable = listname[i]; } if (listname[i].Any(Char.IsDigit) && (k == 4)) { taxes = listname[i]; } k++; } } } Advalorem_details = name + "~" + millege + "~" + assessed + "~" + exemptions + "~" + taxable + "~" + taxes; gc.CreatePdf(orderNumber, ParcelID, "Ad-Valorem & Non-Ad Valorem Taxs Details" + Taxy, driver, "FL", "Marion"); gc.insert_date(orderNumber, ParcelID, 700, Advalorem_details, 1, DateTime.Now); } } //Taxing Authority driver.Navigate().GoToUrl("https://www.mariontax.com/itm.asp"); Thread.Sleep(2000); Deliquent_Comments = ""; CER_Comments = ""; try { Taxing_Authority = driver.FindElement(By.XPath("//*[@id='ss-block-container-1']/div/address[2]")).Text.Replace("\r\n", " "); } catch { } if (Deliquent == "DELINQUENT TAXES DUE ") { Deliquent_Comments = "For prior tax amount due, you must call the tax Collector's Office."; } if (Roll_Coment == "CER") { CER_Comments = "Tax Sale in property. Need to contact Tax Collector"; } Taxauthority_Details = Taxing_Authority + "~" + Deliquent_Comments + "~" + CER_Comments; gc.CreatePdf(orderNumber, ParcelID, "Tax Authority", driver, "FL", "Marion"); gc.insert_date(orderNumber, ParcelID, 704, Taxauthority_Details, 1, DateTime.Now); TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "FL", "Marion", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "FL", "Marion"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw; } } }