private void cmdSelect_Click(object sender, EventArgs e) { GlobalClass gc = new GlobalClass(); gc.ClearEverything(); GlobalClass.RegisterStart = this.dateTimePicker1.Value; GlobalClass.RegisterEnd = this.dateTimePicker2.Value; Report_PickUpPayment pmt = new Report_PickUpPayment(); Form parentForm = (Form)this.Parent.Parent.Parent.Parent; pmt.MdiParent = parentForm; pmt.Show(); }
protected override GlobalClassBase OnSetup() { var class2 = new GlobalClass<Class2>(); class2.Setup(the => { the.Method( (string value) => { throw new NotImplementedException(); return default(string); }). Instead(_ => _.ReturnTrimedStringIfContainsB); }); return class2; }
private void cmdSelectedInventory_Click(object sender, EventArgs e) { GlobalClass gc = new GlobalClass(); gc.ClearEverything(); GlobalClass.ConsignerID = ParseID(comboBox2.SelectedValue.ToString()); ListBox.SelectedObjectCollection delimitedResults = listBox1.SelectedItems; List<string> collection = ConvertToString(listBox1.SelectedItems); string sqlParam = ConvertToSqlParam(collection); GlobalClass.WhateverString = sqlParam; // fire off the report Report_ConsignorDetailReport rpt = new Report_ConsignorDetailReport(); Form parentForm = (Form)this.Parent.Parent.Parent.Parent; rpt.MdiParent = parentForm; rpt.Show(); }
protected override GlobalClassBase OnSetup() { var class1 = new GlobalClass<Class1>(); class1.Setup(the => { the.Method( (string value) => { return value + value + value; }). Instead(_ => _.DoNothing); the.Method( (string value) => { return value; }). Instead(_ => _.Return3TimesIfValueContainsA); }); return class1; }
public ActionResult Delete(int id) { var imageName = _iCompanyDetailManager.GetACompanyDetail(id); var path = ConfigurationManager.AppSettings["CompanyImage"]; var finalpath = Path.Combine(Server.MapPath(path), imageName.CompanyImage); if (System.IO.File.Exists(finalpath)) { System.IO.File.Delete(finalpath); } var data = _iCompanyDetailManager.Delete(id); return(Json(new { messageType = data.MessageType, message = data.ReturnMessage, html = GlobalClass.RenderRazorViewToString(this, "ViewAll", _iCompanyDetailManager.GetAllCompanyDetail()) }, JsonRequestBehavior.AllowGet)); }
public string FTP_Medina(string address, string parcelNumber, string ownername, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; GlobalClass.sname = "OH"; GlobalClass.cname = "Medina"; 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"); driver.Navigate().GoToUrl("http://www.medinacountyauditor.org/property-search.htm"); Thread.Sleep(4000); if (searchType == "titleflex") { string titleaddress = address; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "OH", "Medina"); 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_MedinaOH"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.Id("address")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "OH", "Medina"); driver.FindElement(By.XPath("//*[@id='propsearch']/p/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Address Search result", driver, "OH", "Medina"); try { string strowner = "", strAddress = "", strCity = ""; IWebElement multiaddress = driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/table/tbody")); IList <IWebElement> multiRow = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> multiTD; foreach (IWebElement multi in multiRow) { multiTD = multi.FindElements(By.TagName("td")); if (multiTD.Count != 0 && multiRow.Count < 3) { IWebElement IsearchClick = multiTD[3].FindElement(By.TagName("a")); string searchclick = IsearchClick.GetAttribute("href"); driver.Navigate().GoToUrl(searchclick); break; } if (multiTD.Count != 0 && multiRow.Count > 25) { HttpContext.Current.Session["multiparcel_MedinaOH_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } if (multiTD.Count != 0 && multiRow.Count > 2 && multiRow.Count <= 25) { strowner = multiTD[0].Text; strAddress = multiTD[1].Text; strCity = multiTD[2].Text; string multidetails = strowner + "~" + strAddress + "~" + strCity; gc.insert_date(orderNumber, multiTD[3].Text, 637, multidetails, 1, DateTime.Now); } } if (multiRow.Count > 2 && multiRow.Count <= 25) { HttpContext.Current.Session["multiparcel_MedinaOH"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (multiRow.Count == 1) { HttpContext.Current.Session["Nodata_MedinaOH"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } else if (searchType == "parcel") { driver.FindElement(By.XPath("//*[@id='parcel']")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "parcel search", driver, "OH", "Medina"); driver.FindElement(By.XPath("//*[@id='propsearch']/p/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "parcel search Result", driver, "OH", "Medina"); try { driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/table/tbody/tr[2]/td[4]/a")).SendKeys(Keys.Enter); Thread.Sleep(3000); } catch { } try { IWebElement multiaddress = driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/table/tbody")); IList <IWebElement> multiRow = multiaddress.FindElements(By.TagName("tr")); if (multiRow.Count == 1) { HttpContext.Current.Session["Nodata_MedinaOH"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } else if (searchType == "ownername") { //*[@id="owner"] driver.FindElement(By.XPath("//*[@id='owner']")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "OwnerName Search", driver, "OH", "Medina"); driver.FindElement(By.XPath("//*[@id='propsearch']/p/input[1]")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "OwnerName Search Results", driver, "OH", "Medina"); try { string strowner = "", strAddress = "", strCity = ""; IWebElement multiaddress = driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/table/tbody")); IList <IWebElement> multiRow = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> multiTD; foreach (IWebElement multi in multiRow) { multiTD = multi.FindElements(By.TagName("td")); if (multiTD.Count != 0 && multiRow.Count < 2) { IWebElement IsearchClick = multiTD[3].FindElement(By.TagName("a")); string searchclick = IsearchClick.GetAttribute("href"); driver.Navigate().GoToUrl(searchclick); break; } if (multiTD.Count != 0 && multiRow.Count > 25) { HttpContext.Current.Session["multiparcel_MedinaOH_Maximum"] = "Maximum"; driver.Quit(); return("Maximum"); } if (multiTD.Count != 0 && multiRow.Count > 2 && multiRow.Count <= 25) { strowner = multiTD[0].Text; strAddress = multiTD[1].Text; strCity = multiTD[2].Text; string multidetails = strowner + "~" + strAddress + "~" + strCity; gc.insert_date(orderNumber, multiTD[3].Text, 637, multidetails, 1, DateTime.Now); } } if (multiRow.Count > 2 && multiRow.Count <= 25) { HttpContext.Current.Session["multiparcel_MedinaOH"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (multiRow.Count == 1) { HttpContext.Current.Session["Nodata_MedinaOH"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //property details string parcel_no = "", owner_name = "", Address = "", strMultiAddress = "", property_class = "", average = "", Legal_Description = "", yearbuilt = ""; // Parcel Number 033 - 12C - 17 - 041Owner Name MILLER GARY L & DEBRA LAddress 7015 FAIRHAVEN OVALCity, State, Zip Code MEDINA, OH 44256Property Class 510 Property Class CodesAcreage 2.030000Legal Descrption LOT 11 WH CREEKSIDE CHASE SUB 2.0258A string bulkpropertytext = driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/table/tbody")).Text.Trim().Replace("\r\n", ""); parcel_no = gc.Between(bulkpropertytext, "Parcel Number", "Owner Name").Trim(); gc.CreatePdf(orderNumber, parcel_no, "property details search", driver, "OH", "Medina"); owner_name = gc.Between(bulkpropertytext, "Owner Name", "Address").Trim(); Address = GlobalClass.After(bulkpropertytext, "Address").Trim(); strMultiAddress = gc.Between(bulkpropertytext, "Address", "Property Class").Trim(); property_class = gc.Between(bulkpropertytext, "Property Class", "Property Class Codes").Trim(); try { average = gc.Between(bulkpropertytext, "Acreage", "Legal Description").Trim(); } catch { } try { Legal_Description = GlobalClass.After(bulkpropertytext, "Legal Description").Trim(); } catch { } try { string bulkdwellingtext = driver.FindElement(By.XPath("/html/body/div[4]/div/div/div[2]/table/tbody")).Text.Trim(); yearbuilt = gc.Between(bulkdwellingtext, "Year Built", "Story Height"); } catch { } string propertydetails = owner_name + "~" + strMultiAddress + "~" + property_class + "~" + average + "~" + Legal_Description + "~" + yearbuilt; gc.insert_date(orderNumber, parcel_no, 618, propertydetails, 1, DateTime.Now); //assessment details string land_value = "", cauv_value = "", building_value = "", total_value = ""; //Land Value 98,220CAUV Value 0Building Value 186,280Total Value 284,500 string bulkaccesstext = driver.FindElement(By.XPath("/html/body/div[3]/div[1]/div/div[2]/table/tbody")).Text.Trim().Replace("\r\n", ""); land_value = gc.Between(bulkaccesstext, "Land Value", "CAUV Value").Trim(); cauv_value = gc.Between(bulkaccesstext, "CAUV Value", "Building Value").Trim(); building_value = gc.Between(bulkaccesstext, "Building Value", "Total Value").Trim(); total_value = GlobalClass.After(bulkaccesstext, "Total Value").Trim(); //assessment Tax information string tland_value = "", tcauv_value = "", tbuilding_value = "", ttotal_value = ""; string bulktaxabletext = driver.FindElement(By.XPath("/html/body/div[3]/div[2]/div/div[2]/table/tbody")).Text.Trim().Replace("\r\n", ""); tland_value = gc.Between(bulktaxabletext, "Taxable Land Value", "Taxable CAUV Value").Trim(); tcauv_value = gc.Between(bulktaxabletext, "Taxable CAUV Value", "Taxable Building Value").Trim(); tbuilding_value = gc.Between(bulktaxabletext, "Taxable Building Value", "Taxable Total Value").Trim(); ttotal_value = GlobalClass.After(bulktaxabletext, "Taxable Total Value").Trim(); string assessmentdetails = land_value + "~" + cauv_value + "~" + building_value + "~" + total_value + "~" + tland_value + "~" + tcauv_value + "~" + tbuilding_value + "~" + ttotal_value; gc.insert_date(orderNumber, parcel_no, 619, assessmentdetails, 1, DateTime.Now); //tax bill driver.FindElement(By.LinkText("Tax Bill")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcel_no, "Tax Bill search", driver, "OH", "Medina"); string gross_tax1 = "", gross_tax2 = "", reduction_1 = "", reduction_2 = "", sub_total1 = "", sub_total2 = "", nonbusiness_reduction1 = "", nonbusiness_reduction2 = ""; string owneroccupied_reduction1 = "", owneroccupied_reduction2 = "", homestead_reduction1 = "", homestead_reduction2 = "", current_tax1 = "", current_tax2 = "", special_assessment1 = "", special_assessment2 = "", total_due1 = "", total_due2 = "", total_paid1 = "", total_paid2 = "", grand_totaldue2 = ""; string Sp_A_Penalty1 = "", Sp_A_Penalty2 = "", Sp_A_Penalty3 = "", Sp_A_Penalty4 = "", penalty1 = "", penalty2 = "", special_assessment3 = "", special_assessment4 = ""; int i1 = 1; IWebElement tbmulti2; tbmulti2 = driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/table[2]/tbody")); IList <IWebElement> TRmulti2 = tbmulti2.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti2; foreach (IWebElement row in TRmulti2) { TDmulti2 = row.FindElements(By.TagName("td")); if (!row.Text.Contains("Delinquent") && TDmulti2[1].Text.Trim() != "") { if (TDmulti2.Count == 2 && TDmulti2[1].Text.Trim() != "") { if (i1 == 1) { gross_tax1 = TDmulti2[0].Text; gross_tax2 = TDmulti2[1].Text; } if (i1 == 2) { reduction_1 = TDmulti2[0].Text; reduction_2 = TDmulti2[1].Text; } if (i1 == 3) { sub_total1 = TDmulti2[0].Text; sub_total2 = TDmulti2[1].Text; } if (i1 == 4) { nonbusiness_reduction1 = TDmulti2[0].Text; nonbusiness_reduction2 = TDmulti2[1].Text; } if (i1 == 5) { owneroccupied_reduction1 = TDmulti2[0].Text; owneroccupied_reduction2 = TDmulti2[1].Text; } if (i1 == 6) { homestead_reduction1 = TDmulti2[0].Text; homestead_reduction2 = TDmulti2[1].Text; } if (i1 == 7) { current_tax1 = TDmulti2[0].Text; current_tax2 = TDmulti2[1].Text; } if ((i1 == 8) && !row.Text.Contains("Penalty")) { special_assessment1 = TDmulti2[0].Text; special_assessment2 = TDmulti2[1].Text; } if ((i1 == 9) && !row.Text.Contains("Special Assessment")) { total_due1 = TDmulti2[0].Text; total_due2 = TDmulti2[1].Text; } if ((i1 == 10) && !row.Text.Contains("Sp. A. Penalty")) { total_paid1 = TDmulti2[0].Text; total_paid2 = TDmulti2[1].Text; } if ((i1 == 11) && !row.Text.Contains("Special Assessment")) { // grand_totaldue1 = TDmulti2[0].Text; grand_totaldue2 = TDmulti2[1].Text; } try { if ((i1 == 8) && row.Text.Contains("Penalty")) { penalty1 = TDmulti2[0].Text; penalty2 = TDmulti2[1].Text; } if ((i1 == 9) && row.Text.Contains("Special Assessment")) { special_assessment1 = TDmulti2[0].Text; special_assessment2 = TDmulti2[1].Text; } if ((i1 == 10) && row.Text.Contains("Sp. A. Penalty")) { Sp_A_Penalty1 = TDmulti2[0].Text; Sp_A_Penalty2 = TDmulti2[1].Text; } if ((i1 == 11) && !row.Text.Contains("Special Assessment")) { special_assessment3 = TDmulti2[0].Text; special_assessment4 = TDmulti2[1].Text; } if ((i1 == 12) && row.Text.Contains("Sp. A. Penalty")) { Sp_A_Penalty3 = TDmulti2[0].Text; Sp_A_Penalty4 = TDmulti2[1].Text; } if ((i1 == 13) && row.Text.Contains("Total Due")) { total_due1 = TDmulti2[0].Text; total_due2 = TDmulti2[1].Text; } if ((i1 == 14) && row.Text.Contains("Total Paid")) { total_paid1 = TDmulti2[0].Text; total_paid2 = TDmulti2[1].Text; } if ((i1 == 15) && row.Text.Contains("Grand Total Due")) { grand_totaldue2 = TDmulti2[1].Text; } } catch { } } i1++; } } string taxbill1 = "FirstHalf" + "~" + gross_tax1 + "~" + reduction_1 + "~" + sub_total1 + "~" + nonbusiness_reduction1 + "~" + owneroccupied_reduction1 + "~" + homestead_reduction1 + "~" + current_tax1 + "~" + special_assessment1 + "~" + total_due1 + "~" + total_paid1; gc.insert_date(orderNumber, parcel_no, 620, taxbill1, 1, DateTime.Now); string taxbill2 = "SecondHalf" + "~" + gross_tax2 + "~" + reduction_2 + "~" + sub_total2 + "~" + nonbusiness_reduction2 + "~" + owneroccupied_reduction2 + "~" + homestead_reduction2 + "~" + current_tax2 + "~" + special_assessment2 + "~" + total_due2 + "~" + total_paid2 + "~" + grand_totaldue2; gc.insert_date(orderNumber, parcel_no, 620, taxbill2, 1, DateTime.Now); //Tax Distribution Details Table driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/p[1]/a[5]")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { IWebElement taxdb1 = driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/center")); string taxdb = ""; taxdb = taxdb1.Text; if (taxdb.Contains("No transfers found for parcel")) { driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/p[1]/a[5]")).SendKeys(Keys.Enter); Thread.Sleep(2000); } else { } } catch { } gc.CreatePdf(orderNumber, parcel_no, "Tax Distribution Table search", driver, "OH", "Medina"); IWebElement tbmulti = driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/table/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 == 5) { string multi1 = TDmulti[0].Text + "~" + TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text + "~" + TDmulti[4].Text; gc.insert_date(orderNumber, parcel_no, 622, multi1, 1, DateTime.Now); } if (TDmulti.Count == 1 && row.Text.Contains("Total")) { string multi1 = "" + "~" + "" + "~" + "Total" + "~" + "" + "~" + TDmulti[0].Text; gc.insert_date(orderNumber, parcel_no, 622, multi1, 1, DateTime.Now); } } //special Assessment Details driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/p[1]/a[6]")).SendKeys(Keys.Enter); Thread.Sleep(1000); try { IWebElement taxdb1 = driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/center")); string taxdb = ""; taxdb = taxdb1.Text; if (taxdb.Contains("No transfers found for parcel")) { driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/p[1]/a[6]")).SendKeys(Keys.Enter); Thread.Sleep(2000); } else { } } catch { } gc.CreatePdf(orderNumber, parcel_no, "Special Assessment Details search", driver, "OH", "Medina"); int i2 = 0; string first_half = "", second_half = "", charge_no1 = "", charge_no2 = "", charge_amount1 = "", charge_amount2 = "", penalty_1 = "", penalty_2 = "", penalty_amount1 = "", penalty_amount2 = "", paid_1 = "", paid_amount1 = "", paid_2 = "", paid_amount2 = "", half_due1 = "", half_due2 = "", halfdue_amount1 = "", halfdue_amount2 = ""; try { IWebElement tbmulti3 = driver.FindElement(By.XPath("/html/body/div[2]/div/div/div[2]/table[2]/tbody")); IList <IWebElement> TRmulti3 = tbmulti3.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti3; IList <IWebElement> THmulti3; foreach (IWebElement row in TRmulti3) { TDmulti3 = row.FindElements(By.TagName("td")); THmulti3 = row.FindElements(By.TagName("th")); if (THmulti3.Count != 0) { if (i2 == 0) { first_half = THmulti3[0].Text; second_half = THmulti3[1].Text; } } if (TDmulti3.Count != 0) { if (i2 == 1) { charge_no1 = TDmulti3[0].Text.Replace("\r\n", " ").Replace("Charge", ""); charge_amount1 = TDmulti3[1].Text; charge_no2 = TDmulti3[2].Text.Replace("\r\n", " ").Replace("Charge", ""); charge_amount2 = TDmulti3[3].Text; } if (i2 == 2) { penalty_1 = TDmulti3[0].Text.Replace("\r\n", " ").Replace("Penalty", ""); penalty_amount1 = TDmulti3[1].Text; penalty_2 = TDmulti3[2].Text.Replace("\r\n", " ").Replace("Penalty", ""); penalty_amount2 = TDmulti3[3].Text; } if (i2 == 3) { paid_1 = TDmulti3[0].Text.Replace("\r\n", " ").Replace("Paid", ""); paid_amount1 = TDmulti3[1].Text; paid_2 = TDmulti3[2].Text.Replace("\r\n", " ").Replace("Paid", ""); paid_amount2 = TDmulti3[3].Text; } if (i2 == 4) { half_due1 = TDmulti3[0].Text.Replace("\r\n", " ").Replace("Due", ""); halfdue_amount1 = TDmulti3[1].Text; half_due2 = TDmulti3[2].Text.Replace("\r\n", " ").Replace("Due", ""); halfdue_amount2 = TDmulti3[3].Text; } i2++; } } string firsthalf_splassessment = first_half + "~" + charge_no1 + "~" + charge_amount1 + "~" + penalty_1 + "~" + penalty_amount1 + "~" + paid_1 + "~" + paid_amount1 + "~" + half_due1 + "~" + halfdue_amount1; gc.insert_date(orderNumber, parcel_no, 623, firsthalf_splassessment, 1, DateTime.Now); string secondhalf_splassessment = second_half + "~" + charge_no2 + "~" + charge_amount2 + "~" + penalty_2 + "~" + penalty_amount2 + "~" + paid_2 + "~" + paid_amount2 + "~" + half_due2 + "~" + halfdue_amount2; gc.insert_date(orderNumber, parcel_no, 623, secondhalf_splassessment, 1, DateTime.Now); } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); // Tax information driver.Navigate().GoToUrl("https://www.medinacountytax.com/taxes.html#/WildfireSearch"); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcel_no, "Tax Information search", driver, "OH", "Medina"); //try //{ // driver.FindElement(By.XPath("//*[@id='vertNav2']/a[1]")).Click(); // Thread.Sleep(5000); //} //catch { } //try //{ // driver.FindElement(By.XPath("//*[@id='avalon']/div/p[3]/button[1]/span")).Click(); // Thread.Sleep(5000); //} //catch { } try { driver.FindElement(By.XPath("/html/body/div[1]/div/div/div[3]/button[2]")).SendKeys(Keys.Enter); Thread.Sleep(4000); } catch { } gc.CreatePdf(orderNumber, parcel_no, "Tax Information Result", driver, "OH", "Medina"); driver.FindElement(By.XPath("//*[@id='searchBox']")).SendKeys(parcel_no); Thread.Sleep(5000); gc.CreatePdf(orderNumber, parcel_no, "Tax Information Result view", driver, "OH", "Medina"); IWebElement ISpan12 = null; try { ISpan12 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[3]/div[2]/table/tbody/tr/td[6]/button")); } catch { } try { ISpan12 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div[4]/div[2]/table/tbody/tr/td[6]/button")); } catch { } IJavaScriptExecutor js12 = driver as IJavaScriptExecutor; js12.ExecuteScript("arguments[0].click();", ISpan12); Thread.Sleep(3000); // Tax payer Information string taxpayer_information = ""; string bulktaxtext4 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[2]/div[2]")).Text.Trim().Replace("\r\n", ""); taxpayer_information = GlobalClass.After(bulktaxtext4, "Taxpayer Information").Trim(); string property_type = "", loacation_name = "", tax_district = "", school_district = "", land_use = ""; string bulktaxtext = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[3]/div[1]/table[1]/tbody")).Text.Trim().Replace("\r\n", ""); property_type = gc.Between(bulktaxtext, "Property Type", "Location").Trim(); loacation_name = gc.Between(bulktaxtext, "Location", "Tax District").Trim(); tax_district = gc.Between(bulktaxtext, "Tax District", "School District").Trim(); school_district = gc.Between(bulktaxtext, "School District", "Land Use").Trim(); land_use = gc.Between(bulktaxtext, "Land Use", "Acres").Trim(); // assessment information string annual_tax = "", homestead_exemption = "", owneroccupied_reduction3 = "", escrow_1 = ""; string bulktaxtext2 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[4]/div[1]/table/tbody")).Text.Trim().Replace("\r\n", ""); annual_tax = gc.Between(bulktaxtext2, "Annual Real Estate Tax", "Homestead Exemption").Trim(); homestead_exemption = gc.Between(bulktaxtext2, "Homestead Exemption", "Owner Occupied Reduction").Trim(); owneroccupied_reduction3 = gc.Between(bulktaxtext2, "Owner Occupied Reduction", "Escrow").Trim(); escrow_1 = gc.Between(bulktaxtext2, "Escrow", "Lender ID").Trim(); string taxing_authority = "Medina County Treasurer's Office Medina County Administration Building 144 North Broadway Medina OH 44256Phone 330 - 725 - 9748"; // Tax information gc.CreatePdf(orderNumber, parcel_no, "Tax Information1", driver, "OH", "Medina"); int i3 = 0, j = 1;; string first_hf = "", fhtax_amount = "", fhpaid_amount = "", fhbalance_amount = "", due_date = "", second_hf = "", sectax_amount = "", secpaid_amount = "", due_date2 = "", secbalance_amount = "", afsec_half = "", afsectax_amount = "", afsecpaid_amount = "", totaldue_amount = "", DelinquentAmount = "", DelinquentPaid = ""; IWebElement tbmulti1 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[1]/div[3]/div[2]/table/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 == 2) { totaldue_amount = TDmulti1[1].Text; } if (TDmulti1.Count == 3 && TDmulti1[1].Text.Trim() != "" && !row.Text.Contains("Delinquent")) { if (i3 == 0) { first_hf = TDmulti1[0].Text; fhtax_amount = TDmulti1[2].Text; } if (i3 == 1) { fhpaid_amount = TDmulti1[2].Text; } if (i3 == 2) { due_date = TDmulti1[0].Text.Replace("\r\n", " "); fhbalance_amount = TDmulti1[2].Text; } if (i3 == 3) { second_hf = TDmulti1[0].Text; sectax_amount = TDmulti1[2].Text; } if (i3 == 4) { secpaid_amount = TDmulti1[2].Text; } if (i3 == 5) { due_date2 = TDmulti1[0].Text.Replace("\r\n", " "); secbalance_amount = TDmulti1[2].Text; } if (i3 == 6) { afsec_half = TDmulti1[0].Text; afsectax_amount = TDmulti1[2].Text; } if (i3 == 7) { afsecpaid_amount = TDmulti1[2].Text; } i3++; } if (TDmulti1.Count == 3 && TDmulti1[1].Text.Trim() != "" && row.Text.Contains("Delinquent")) { if (j == 1) { DelinquentAmount = TDmulti1[2].Text; } if (j == 2) { DelinquentPaid = TDmulti1[2].Text; } j++; } } string taxinformation = taxpayer_information + "~" + property_type + "~" + loacation_name + "~" + tax_district + "~" + school_district + "~" + land_use + "~" + annual_tax + "~" + homestead_exemption + "~" + owneroccupied_reduction3 + "~" + escrow_1 + "~" + DelinquentAmount + "~" + DelinquentPaid + "~" + first_hf + "~" + due_date + "~" + fhtax_amount + "~" + fhpaid_amount + "~" + fhbalance_amount + "~" + " " + "~" + taxing_authority; gc.insert_date(orderNumber, parcel_no, 624, taxinformation, 1, DateTime.Now); string taxinformation1 = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + second_hf + "~" + due_date2 + "~" + sectax_amount + "~" + secpaid_amount + "~" + secbalance_amount + "~" + " " + "~" + ""; gc.insert_date(orderNumber, parcel_no, 624, taxinformation1, 1, DateTime.Now); string taxinformation2 = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + afsec_half + "~" + "" + "~" + "" + "~" + afsecpaid_amount + "~" + afsectax_amount + "~" + totaldue_amount + "~" + ""; gc.insert_date(orderNumber, parcel_no, 624, taxinformation2, 1, DateTime.Now); // Tax History Details Table: try { IWebElement ITaxHistory = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[5]/a")); IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", ITaxHistory); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcel_no, "Tax History Details search", driver, "OH", "Medina"); IWebElement tbmulti4 = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[5]/div/div/table/tbody")); IList <IWebElement> TRmulti4 = tbmulti4.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti4; foreach (IWebElement row in TRmulti4) { TDmulti4 = row.FindElements(By.TagName("td")); if (TDmulti4.Count == 7) { string multi4 = TDmulti4[0].Text + "~" + TDmulti4[1].Text + "~" + TDmulti4[2].Text + "~" + TDmulti4[3].Text + "~" + TDmulti4[4].Text + "~" + TDmulti4[5].Text + "~" + TDmulti4[6].Text; gc.insert_date(orderNumber, parcel_no, 627, multi4, 1, DateTime.Now); } } } catch { } // view & Print Bill try { IWebElement IViewPrint = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[3]/a")); IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", IViewPrint); Thread.Sleep(6000); gc.CreatePdf(orderNumber, parcel_no, "View and Print Bill search", driver, "OH", "Medina"); } catch { } //download taxbill try { IWebElement Itaxbill = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[4]/div/div[1]/a")); string URL1 = Itaxbill.GetAttribute("href"); string fileName = ""; var chromeOptions = new ChromeOptions(); var downloadDirectory = ConfigurationManager.AppSettings["AutoPdf"]; chromeOptions.AddUserProfilePreference("download.default_directory", downloadDirectory); chromeOptions.AddUserProfilePreference("download.prompt_for_download", false); chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true"); chromeOptions.AddUserProfilePreference("plugins.always_open_pdf_externally", true); var chDriver = new ChromeDriver(chromeOptions); try { chDriver.Navigate().GoToUrl(URL1); Thread.Sleep(3000); try { fileName = "Bill.pdf"; gc.AutoDownloadFileSpokane(orderNumber, parcel_no, "Medina", "OH", fileName); } catch { } chDriver.Quit(); } catch (Exception ex) { } } catch { } // view and print receipt try { IWebElement IPrintReciept = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/ul/li[4]/a")); IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", IPrintReciept); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcel_no, "Print Receipt", driver, "OH", "Medina"); } catch { } // download receipt try { IWebElement Ireceipt = driver.FindElement(By.XPath("//*[@id='avalon']/div/div/div/div[4]/div/div[1]/a")); string URL2 = Ireceipt.GetAttribute("href"); string fileName = ""; var chromeOptions = new ChromeOptions(); var downloadDirectory = ConfigurationManager.AppSettings["AutoPdf"]; chromeOptions.AddUserProfilePreference("download.default_directory", downloadDirectory); chromeOptions.AddUserProfilePreference("download.prompt_for_download", false); chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true"); chromeOptions.AddUserProfilePreference("plugins.always_open_pdf_externally", true); var chDriver = new ChromeDriver(chromeOptions); try { chDriver.Navigate().GoToUrl(URL2); Thread.Sleep(3000); try { fileName = "Bill.pdf"; gc.AutoDownloadFileSpokane(orderNumber, parcel_no, "Medina", "OH", fileName); } catch { } chDriver.Quit(); } catch (Exception ex) { } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "OH", "Medina", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "OH", "Medina"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_Lake(string Address, string unitno, string parcelNumber, string ownername, string searchType, string orderNumber) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string Parcelno = "", Owner = "", parcellocation = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; // driver = new ChromeDriver(); //driver = new PhantomJSDriver(); using (driver = new PhantomJSDriver()) //ChromeDriver { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", "", Address, "IN", "Lake"); 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_LakeIN"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("http://counties.azurewebsites.net/lake/parcelsearch.aspx"); Thread.Sleep(4000); driver.FindElement(By.Id("BodyContent_txtbxAddress")).SendKeys(Address.Trim()); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "IN", "Lake"); driver.FindElement(By.Id("BodyContent_Submit")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "IN", "Lake"); //Multiparcel try { IWebElement multiaddress = driver.FindElement(By.Id("BodyContent_GridViewParcelSearchResults")); IList <IWebElement> TRmultiaddress = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> THmultiaddress = multiaddress.FindElements(By.TagName("th")); IList <IWebElement> TDmultiaddress; if (TRmultiaddress.Count > 29) { HttpContext.Current.Session["multiParcel_Lucas_Maximum"] = "Maimum"; return("Maximum"); } if (TRmultiaddress.Count > 2) { foreach (IWebElement row in TRmultiaddress) { TDmultiaddress = row.FindElements(By.TagName("td")); if (!row.Text.Contains("Parcel Number") && row.Text.Trim() != "" && row.Text.Trim().Contains(Address.ToUpper().Trim())) { try { Parcelno = TDmultiaddress[1].Text; Owner = TDmultiaddress[3].Text; parcellocation = TDmultiaddress[2].Text; string Multi = Owner + "~" + parcellocation; gc.insert_date(orderNumber, Parcelno, 1747, Multi, 1, DateTime.Now); } catch { } } } HttpContext.Current.Session["multiParcel_LakeIN"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (TRmultiaddress.Count == 2) { //TDmultiaddress[0].Click(); driver.FindElement(By.XPath("//*[@id='BodyContent_GridViewParcelSearchResults']/tbody/tr[2]/td[1]/a")).Click(); Thread.Sleep(1000); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='content']/p[2]")).Text; if (nodata.Contains("No records returned. Please click here to return to the search page. Possible reasons for 'No records returned'.")) { HttpContext.Current.Session["Nodata_LakeIN"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.Navigate().GoToUrl("http://counties.azurewebsites.net/lake/parcelsearch.aspx"); Thread.Sleep(4000); driver.FindElement(By.Id("BodyContent_txtbxParcelNum")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "IN", "Lake"); driver.FindElement(By.Id("BodyContent_Submit")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search Result", driver, "IN", "Lake"); try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='content']/p[2]")).Text; if (nodata.Contains("No records returned. Please click here to return to the search page. Possible reasons for 'No records returned'.")) { HttpContext.Current.Session["Nodata_LakeIN"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "ownername") { driver.Navigate().GoToUrl("http://counties.azurewebsites.net/lake/parcelsearch.aspx"); Thread.Sleep(4000); driver.FindElement(By.Id("BodyContent_txtbxOwnerName")).SendKeys(ownername); gc.CreatePdf(orderNumber, parcelNumber, "Owner Search", driver, "IN", "Lake"); driver.FindElement(By.Id("BodyContent_Submit")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Owner Search Result", driver, "IN", "Lake"); //Multiparcel try { IWebElement multiaddress = driver.FindElement(By.Id("BodyContent_GridViewParcelSearchResults")); IList <IWebElement> TRmultiaddress = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> THmultiaddress = multiaddress.FindElements(By.TagName("th")); IList <IWebElement> TDmultiaddress; if (TRmultiaddress.Count > 29) { HttpContext.Current.Session["multiParcel_Lucas_Maximum"] = "Maimum"; return("Maximum"); } if (TRmultiaddress.Count > 2) { foreach (IWebElement row in TRmultiaddress) { TDmultiaddress = row.FindElements(By.TagName("td")); if (!row.Text.Contains("Parcel Number") && row.Text.Trim() != "" && row.Text.Trim().Contains(Address.ToUpper().Trim())) { try { Parcelno = TDmultiaddress[1].Text; Owner = TDmultiaddress[3].Text; parcellocation = TDmultiaddress[2].Text; string Multi = Owner + "~" + parcellocation; gc.insert_date(orderNumber, Parcelno, 1747, Multi, 1, DateTime.Now); } catch { } } } HttpContext.Current.Session["multiParcel_LakeIN"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (TRmultiaddress.Count == 2) { driver.FindElement(By.XPath("//*[@id='BodyContent_GridViewParcelSearchResults']/tbody/tr[2]/td[1]/a")).Click(); Thread.Sleep(1000); } } catch { } try { //No Data Found string nodata = driver.FindElement(By.XPath("//*[@id='content']/p[2]")).Text; if (nodata.Contains("No records returned. Please click here to return to the search page. Possible reasons for 'No records returned'.")) { HttpContext.Current.Session["Nodata_LakeIN"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } try { driver.FindElement(By.XPath("//*[@id='BodyContent_GridViewParcelSearchResults']/tbody/tr[2]/td[1]/a")).Click(); Thread.Sleep(4000); } catch { } //Property Details string ParcelID = "", TaxID = "", OwnerName = "", PropertyAddress = "", MailingAddress1 = "", MailingAddress2 = "", MailingAddress = "", Yearbuilt = "", LegalDescription = "", PropertyClass = ""; gc.CreatePdf(orderNumber, parcelNumber, "Propety Deatil", driver, "IN", "Lake"); IWebElement Propertyvalue = driver.FindElement(By.XPath("//*[@id='content']/div/div[2]/table/tbody")); ParcelID = gc.Between(Propertyvalue.Text, "Parcel Number:", "TaxID:").Trim(); TaxID = gc.Between(Propertyvalue.Text, "TaxID:", "Property Address:").Trim(); PropertyAddress = gc.Between(Propertyvalue.Text.Replace("\r", "").Trim(), "Property Address:", "Neighborhood Name:").Trim(); LegalDescription = gc.Between(Propertyvalue.Text, "Legal Description:", "Subdivision / Lot:").Trim(); PropertyClass = gc.Between(Propertyvalue.Text, "Property Class:", "Township:").Trim(); try { driver.FindElement(By.Id("BodyContent_ownertransferhistoryLb")).Click(); Thread.Sleep(4000); IWebElement Propertyvalue1 = driver.FindElement(By.XPath("//*[@id='content']/div/div[2]/table/tbody/tr/td[1]/table/tbody")); string[] propersplit = Propertyvalue1.Text.Split('\r'); OwnerName = propersplit[1].Trim(); MailingAddress1 = propersplit[2].Trim(); MailingAddress2 = propersplit[3].Trim(); MailingAddress = MailingAddress1 + " " + MailingAddress2; } catch { } try { driver.FindElement(By.Id("BodyContent_improvementinformationLb")).Click(); Thread.Sleep(4000); } catch { } try {////*[@id="BodyContent_GridView10"]/tbody/tr[3]/td[4] Yearbuilt = driver.FindElement(By.XPath("//*[@id='BodyContent_GridView10']/tbody/tr[3]/td[4]")).Text.Trim(); } catch { } try {////*[@id="BodyContent_GridView10"]/tbody/tr[3]/td[4] Yearbuilt = driver.FindElement(By.XPath("//*[@id='BodyContent_GridView10']/tbody/tr[2]/td[4]")).Text.Trim(); } catch { } string Propertydetails = TaxID + "~" + OwnerName + "~" + PropertyAddress + "~" + MailingAddress + "~" + Yearbuilt + "~" + LegalDescription + "~" + PropertyClass; gc.insert_date(orderNumber, ParcelID, 1718, Propertydetails, 1, DateTime.Now); //Assessment Details try { driver.FindElement(By.Id("BodyContent_valuationhistoryLb")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Assessment Deatil", driver, "IN", "Lake"); string title = "", value = ""; int s = 0; IWebElement Bigdata2 = driver.FindElement(By.XPath("//*[@id='Valuation']/td/table/tbody")); IList <IWebElement> TRBigdata2 = Bigdata2.FindElements(By.TagName("tr")); IList <IWebElement> TDBigdata2; foreach (IWebElement row2 in TRBigdata2) { TDBigdata2 = row2.FindElements(By.TagName("td")); if (TDBigdata2.Count != 0 && TDBigdata2.Count == 14 && !row2.Text.Contains("Assess. Year")) { value = TDBigdata2[0].Text + "~" + TDBigdata2[1].Text + "~" + TDBigdata2[2].Text + "~" + TDBigdata2[3].Text + "~" + TDBigdata2[4].Text + "~" + TDBigdata2[5].Text + "~" + TDBigdata2[6].Text + "~" + TDBigdata2[7].Text + "~" + TDBigdata2[8].Text + "~" + TDBigdata2[9].Text + "~" + TDBigdata2[10].Text + "~" + TDBigdata2[11].Text + "~" + TDBigdata2[12].Text + "~" + TDBigdata2[13].Text; gc.insert_date(orderNumber, ParcelID, 1719, value, 1, DateTime.Now); } } } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Information Details driver.Navigate().GoToUrl("http://in-lake-treasurer2.governmax.com/collectmax/search_collect.asp?l_nm=parcelid&form=searchform&formelement=0&sid=2B7CE89CDAC94FEAAD7482292D4055BA"); Thread.Sleep(4000); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[4]/td/center/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[1]/td[1]/table/tbody/tr[2]/td/table/tbody/tr[4]/td/font/a")).Click(); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[1]/td/table/tbody/tr/td/table/tbody/tr[2]/td/font/input")).SendKeys(ParcelID); gc.CreatePdf(orderNumber, ParcelID, "Tax Parcel Input", driver, "IN", "Lake"); driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[3]/td/input")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Tax Parcel Result", driver, "IN", "Lake"); string Parcel = "", Ownername = "", Propertyadd = "", Mailingadd = "", Propertytype = "", Taxingunit = "", Taxyear = "", Legaldes = "", Grossassessedval = "", GrossAvResidential = "", GrossAvAllpro = "", Totalgrassass = "", Deductions = "", Netassess = "", Localtaxrate = "", Grosstaxliability = "", Propertytaxcredits = "", Propertytaxcap, SixtyfiveYears = "", totalpropertaxliability = ""; IWebElement TaxCurrent1 = driver.FindElement(By.XPath("//*[@id='form1']/table[2]/tbody/tr[2]/td/table/tbody")); IList <IWebElement> TRTaxCurrent1 = TaxCurrent1.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxCurrent1; foreach (IWebElement row1 in TRTaxCurrent1) { TDTaxCurrent1 = row1.FindElements(By.TagName("td")); if (TDTaxCurrent1.Count != 0 && row1.Text.Trim() != "" && !row1.Text.Contains("Property Number")) { Parcel = TDTaxCurrent1[0].Text.Trim(); Propertytype = TDTaxCurrent1[1].Text.Trim(); Taxingunit = TDTaxCurrent1[2].Text.Trim(); Taxyear = TDTaxCurrent1[3].Text.Trim(); } } IWebElement TaxCurrent2 = driver.FindElement(By.XPath("//*[@id='form1']/table[2]/tbody/tr[3]/td/table/tbody")); IList <IWebElement> TRTaxCurrent2 = TaxCurrent2.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxCurrent2; foreach (IWebElement row2 in TRTaxCurrent2) { TDTaxCurrent2 = row2.FindElements(By.TagName("td")); if (TDTaxCurrent2.Count == 2 && TDTaxCurrent2.Count != 0 && row2.Text.Trim() != "") { try { string[] splitt = TDTaxCurrent2[0].Text.Split('\r'); Ownername = splitt[1].Trim(); string Prop1 = splitt[2].Trim(); string Prop2 = splitt[3].Trim(); Propertyadd = Prop1 + " " + Prop2; } catch { } try { string[] splitt = TDTaxCurrent2[0].Text.Split('\r'); Ownername = splitt[1].Replace("\n", "").Trim(); Propertyadd = ""; } catch { } } if (TDTaxCurrent2.Count == 1 && TDTaxCurrent2.Count != 0 && row2.Text.Trim() != "" && !row2.Text.Contains("Legal Description:") && !row2.Text.Contains("Our records")) { Mailingadd = TDTaxCurrent2[0].Text.Trim().Replace("Location:", "").Trim(); } if (TDTaxCurrent2.Count == 1 && TDTaxCurrent2.Count != 0 && row2.Text.Trim() != "" && !row2.Text.Contains("Location:") && !row2.Text.Contains("Our records")) { Legaldes = TDTaxCurrent2[0].Text.Trim().Replace("Legal Description:", "").Trim(); } } IWebElement TaxCurrent3 = driver.FindElement(By.XPath("//*[@id='form1']/table[2]/tbody/tr[4]/td/table/tbody")); Grossassessedval = gc.Between(TaxCurrent3.Text, "1a. Gross Assessed Value (AV) of homestead property (capped at 1%)", "1b. Gross AV of residential property and farmland (capped at 2%)").Trim(); GrossAvResidential = gc.Between(TaxCurrent3.Text, "1b. Gross AV of residential property and farmland (capped at 2%)", "1c. Gross AV of all other property, including personal property (capped at 3%)").Trim(); GrossAvAllpro = gc.Between(TaxCurrent3.Text, "1c. Gross AV of all other property, including personal property (capped at 3%)", "2. Equals Total Gross Assessed Value of Property").Trim(); Totalgrassass = gc.Between(TaxCurrent3.Text, "2. Equals Total Gross Assessed Value of Property", "2a. Minus Deductions (See Table 5 Below)").Trim(); Deductions = gc.Between(TaxCurrent3.Text, "2a. Minus Deductions (See Table 5 Below)", "3. Equals Subtotal of Net Assessed Value of Property").Trim(); Netassess = gc.Between(TaxCurrent3.Text, "3. Equals Subtotal of Net Assessed Value of Property", "3a. Multiplied by Your Local Tax Rate").Trim(); Localtaxrate = gc.Between(TaxCurrent3.Text, "3a. Multiplied by Your Local Tax Rate", "4. Equals Gross Tax Liability (See Table 3 Below)").Trim(); Grosstaxliability = gc.Between(TaxCurrent3.Text, "4. Equals Gross Tax Liability (See Table 3 Below)", "4a. Minus Local Property Tax Credits").Trim(); Propertytaxcredits = gc.Between(TaxCurrent3.Text, "4a. Minus Local Property Tax Credits", "4b. Minus Savings Due to Property Tax Cap (See Table 2 Below)").Trim(); Propertytaxcap = gc.Between(TaxCurrent3.Text, "4b. Minus Savings Due to Property Tax Cap (See Table 2 Below)", "4c. Minus Savings Due to 65 Years & Older Cap").Trim(); SixtyfiveYears = gc.Between(TaxCurrent3.Text, "4c. Minus Savings Due to 65 Years & Older Cap", " 5. Total Property Tax Liability").Trim(); totalpropertaxliability = gc.Between(TaxCurrent3.Text, "Total Property Tax Liability", "Please See Table 4 for a Summary of Other Charges to This Property").Trim(); string Taxinformationdetails = Ownername + "~" + Propertyadd + "~" + Mailingadd + "~" + Propertytype + "~" + Taxingunit + "~" + Taxyear + "~" + Grossassessedval + "~" + GrossAvResidential + "~" + GrossAvAllpro + "~" + Totalgrassass + "~" + Deductions + "~" + Netassess + "~" + Localtaxrate + "~" + Grosstaxliability + "~" + Propertytaxcredits + "~" + Propertytaxcap + "~" + SixtyfiveYears + "~" + totalpropertaxliability; gc.insert_date(orderNumber, ParcelID, 1743, Taxinformationdetails, 1, DateTime.Now); IWebElement TaxCurrent4 = driver.FindElement(By.XPath("//*[@id='form1']/table[2]/tbody/tr[7]/td/table/tbody")); IList <IWebElement> TRTaxCurrent4 = TaxCurrent4.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxCurrent4; foreach (IWebElement row4 in TRTaxCurrent4) { TDTaxCurrent4 = row4.FindElements(By.TagName("td")); if (TDTaxCurrent4.Count == 4 & TDTaxCurrent4.Count != 0 && row4.Text.Trim() != "" && !row4.Text.Contains("TABLE 4: OTHER APPLICABLE CHARGES") && !row4.Text.Contains("Levying Authority")) { string TaxinformationDetails2 = TDTaxCurrent4[0].Text + "~" + TDTaxCurrent4[1].Text + "~" + TDTaxCurrent4[2].Text + "~" + TDTaxCurrent4[3].Text; gc.insert_date(orderNumber, ParcelID, 1744, TaxinformationDetails2, 1, DateTime.Now); } } //Current Year Tax Information Details IWebElement TaxCurrent5 = driver.FindElement(By.XPath("//*[@id='form1']/table[2]/tbody/tr[9]/td/table/tbody")); IList <IWebElement> TRTaxCurrent5 = TaxCurrent5.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxCurrent5; foreach (IWebElement row5 in TRTaxCurrent5) { TDTaxCurrent5 = row5.FindElements(By.TagName("td")); if (TDTaxCurrent5.Count == 2 & TDTaxCurrent5.Count != 0 && row5.Text.Trim() != "" && !row5.Text.Contains("FIRST INSTALLMENT (SPRING)")) { string TaxinformationDetails4 = "Due Date" + "~" + TDTaxCurrent5[0].Text.Replace("Delinquent After", "") + "~" + TDTaxCurrent5[1].Text.Replace("Delinquent After", ""); gc.insert_date(orderNumber, ParcelID, 1745, TaxinformationDetails4, 1, DateTime.Now); } if (TDTaxCurrent5.Count == 4 & TDTaxCurrent5.Count != 0 && row5.Text.Trim() != "" && !row5.Text.Contains("FIRST INSTALLMENT (SPRING)")) { string TaxinformationDetails3 = TDTaxCurrent5[0].Text.Replace("(See Table 4)", "").Replace("for SPRING", "").Replace("for FALL", "") + "~" + TDTaxCurrent5[1].Text + "~" + TDTaxCurrent5[3].Text; gc.insert_date(orderNumber, ParcelID, 1745, TaxinformationDetails3, 1, DateTime.Now); } } //Tax Distribution Details IWebElement TaxDistribution = driver.FindElement(By.XPath("//*[@id='form1']/table[2]/tbody/tr[6]/td/table/tbody")); IList <IWebElement> TRDistribution = TaxDistribution.FindElements(By.TagName("tr")); IList <IWebElement> TDDistribution; foreach (IWebElement Distribution in TRDistribution) { TDDistribution = Distribution.FindElements(By.TagName("td")); if (TDDistribution.Count == 2 & TDDistribution.Count != 0 && Distribution.Text.Trim() != "" && !Distribution.Text.Contains("FIRST INSTALLMENT (SPRING)")) { string TaxDistributiondeta = TDDistribution[0].Text + "~" + TDDistribution[1].Text; gc.insert_date(orderNumber, ParcelID, 1746, TaxDistributiondeta, 1, DateTime.Now); } } //Previou Year Tax Information Details IWebElement TaxPrevious = driver.FindElement(By.XPath("//*[@id='form1']/table[2]/tbody/tr[13]/td/table/tbody")); IList <IWebElement> TRPrevious = TaxPrevious.FindElements(By.TagName("tr")); IList <IWebElement> TDPrevious; foreach (IWebElement Previous in TRPrevious) { TDPrevious = Previous.FindElements(By.TagName("td")); if (TDPrevious.Count == 2 & TDPrevious.Count != 0 && Previous.Text.Trim() != "" && !Previous.Text.Contains("FIRST INSTALLMENT (SPRING)")) { string TaxinformationDetails4 = "Due Date" + "~" + TDPrevious[0].Text.Replace("Delinquent After", "") + "~" + TDPrevious[1].Text.Replace("Delinquent After", ""); gc.insert_date(orderNumber, ParcelID, 1748, TaxinformationDetails4, 1, DateTime.Now); } if (TDPrevious.Count == 4 & TDPrevious.Count != 0 && Previous.Text.Trim() != "" && !Previous.Text.Contains("FIRST INSTALLMENT (SPRING)")) { string TaxinformationDetails3 = TDPrevious[0].Text.Replace("(See Table 4)", "").Replace("for SPRING", "").Replace("for FALL", "") + "~" + TDPrevious[1].Text + "~" + TDPrevious[3].Text; gc.insert_date(orderNumber, ParcelID, 1748, TaxinformationDetails3, 1, DateTime.Now); } } LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "IN", "Lake", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "IN", "Lake"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_FayetteKy(string streetno, string direction, string streetname, string streettype, string unitno, string ownername, string parcelNumber, string searchType, string orderNumber) { 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://qpublic9.qpublic.net/ky_fayette_search2.php"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='xr_xri']/div[1]/span[9]/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { if (searchType == "titleflex") { string address = streetno + " " + direction + " " + streetname + " " + streettype + "" + unitno; gc.TitleFlexSearch(orderNumber, "", ownername, address, "KY", "Fayette"); 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_FayetteKy"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr/td[1]/ul/li[1]/b/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[1]/td[2]/input")).SendKeys(streetno); driver.FindElement(By.XPath("//*[@id='streetName']")).SendKeys(streetname); gc.CreatePdf_WOP(orderNumber, "SearchAddressBefore", driver, "KY", "Fayette"); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[6]/td[2]/input")).SendKeys(Keys.Enter); gc.CreatePdf_WOP(orderNumber, "SearchAddressAfter", driver, "KY", "Fayette"); Thread.Sleep(2000); try { gc.CreatePdf_WOP(orderNumber, "Multiparcel Result", driver, "KY", "Fayette"); Thread.Sleep(2000); string Owner = "", Address = "", MultiParcelNumber = ""; int Mcount = 0; IWebElement multy = driver.FindElement(By.XPath("/html/body/table/tbody")); IList <IWebElement> muladdress = multy.FindElements(By.TagName("tr")); IList <IWebElement> mulid; foreach (IWebElement addressrow in muladdress) { mulid = addressrow.FindElements(By.TagName("td")); if (mulid.Count != 0 && !addressrow.Text.Contains("Return to Main Search") && !addressrow.Text.Contains("Search Criteria:") && !addressrow.Text.Contains("Search produced") && !addressrow.Text.Contains("Parcel Number") && !addressrow.Text.Contains("To create") && !addressrow.Text.Contains("No warranties") && !addressrow.Text.Contains(" Return to Main Search ")) { if (Mcount <= 29) { IWebElement Iparcel = mulid[0].FindElement(By.TagName("a")); MultiParcelNumber = Iparcel.Text; Owner = mulid[1].Text; Address = mulid[2].Text; string MultyInst = Address + "~" + Owner; gc.insert_date(orderNumber, MultiParcelNumber, 690, MultyInst, 1, DateTime.Now); } Mcount++; } } if (Mcount > 29) { HttpContext.Current.Session["multiParcel_FayetteKy_Maximum"] = "Maximum"; return("Maximum"); } else { HttpContext.Current.Session["multiparcel_FayetteKy"] = "Yes"; } driver.Quit(); return("MultiParcel"); } catch { } gc.CreatePdf_WOP(orderNumber, "SearchAddressAfter", driver, "KY", "Fayette"); Thread.Sleep(2000); try { //No Data Found string nodata = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/font")).Text; if (nodata.Contains("0 of 0 Results Returned")) { HttpContext.Current.Session["Nodata_FayetteKy"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.XPath("html/body/table[1]/tbody/tr/td[1]/ul/li[3]/b/a")).SendKeys(Keys.Enter); Thread.Sleep(2000); driver.FindElement(By.XPath("html/body/form/table/tbody/tr/td/input[2]")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "KY", "Fayette"); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[5]")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { //No Data Found string nodata = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/font")).Text; if (nodata.Contains("0 of 0 Results Returned")) { HttpContext.Current.Session["Nodata_FayetteKy"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //Property Details string ParcelID = "", OwnerName = "", MailingAddress = "", Address1 = "", PropertyAddress = "", LegalDescription = "", PropertyClass = "", LandUseCode = "", MapBlock = "", Lot = "", SubDivision = "", TaxDistrict = "", TaxRate = ""; IWebElement tbmulti11 = driver.FindElement(By.XPath("/html/body/center[2]/table[2]/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 (row.Text.Contains("Owner Name")) { OwnerName = TDmulti11[1].Text; } if (row.Text.Contains("Parcel Number")) { ParcelID = TDmulti11[3].Text.Trim(); } if (row.Text.Contains("Mailing Address")) { MailingAddress = TDmulti11[1].Text; } if (row.Text.Contains("Tax District")) { TaxDistrict = TDmulti11[3].Text; Address1 = TDmulti11[1].Text; } if (row.Text.Contains("Location Address")) { PropertyAddress = TDmulti11[1].Text; } if (row.Text.Contains("Legal Description")) { LegalDescription = TDmulti11[1].Text; } if (row.Text.Contains("Property Class")) { PropertyClass = TDmulti11[1].Text; } if (row.Text.Contains("Land Use Code")) { LandUseCode = TDmulti11[1].Text; } if (row.Text.Contains("Map Block")) { MapBlock = TDmulti11[1].Text; } if (row.Text.Contains("Lot")) { Lot = TDmulti11[1].Text; } if (row.Text.Contains("Subdivision")) { SubDivision = TDmulti11[1].Text; } if (row.Text.Contains("Tax Rate")) { TaxRate = TDmulti11[3].Text; } } } string YearBuilt = ""; try { YearBuilt = driver.FindElement(By.XPath("/html/body/center[2]/table[4]/tbody/tr[3]/td[5]")).Text; } catch { } string propertydetails = ParcelID + "~" + OwnerName + "~" + MailingAddress + " " + Address1 + "~" + PropertyAddress + "~" + LegalDescription + "~" + PropertyClass + "~" + LandUseCode + "~" + MapBlock + "~" + Lot + "~" + SubDivision + "~" + TaxDistrict + "~" + TaxRate + "~" + YearBuilt; gc.insert_date(orderNumber, ParcelID, 649, propertydetails, 1, DateTime.Now); //********Tax Assessment Details******* int i = 0; string assesstitle = "", assessvalue = ""; gc.CreatePdf(orderNumber, ParcelID, "Assessment Details", driver, "KY", "Fayette"); Thread.Sleep(3000); IWebElement IassessmentTable = driver.FindElement(By.XPath("/html/body/center[2]/table[3]/tbody")); IList <IWebElement> IassessmentRow = IassessmentTable.FindElements(By.TagName("tr")); IList <IWebElement> Iassessmenttd; foreach (IWebElement assess in IassessmentRow) { Iassessmenttd = assess.FindElements(By.TagName("td")); if (Iassessmenttd.Count != 0 && !assess.Text.Contains("Assessment Information")) { for (int j = 0; j < Iassessmenttd.Count; j++) { assessvalue += Iassessmenttd[j].Text + "~"; } if (i == 0) { db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + assessvalue.Remove(assessvalue.Length - 1, 1) + "' where Id = '" + 655 + "'"); assessvalue = ""; } if (i == 1) { gc.insert_date(orderNumber, ParcelID, 655, assessvalue.Remove(assessvalue.Length - 1, 1), 1, DateTime.Now); } i++; } } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //*******Tax information Details******* string Delinquent = ""; try { string currentyear = ""; int year = DateTime.Now.Year; int increase = 0; for (int l = 0; l < 7; l++) { if (increase < 3) { try { currentyear = Convert.ToString(year); driver.Navigate().GoToUrl("http://fayettesheriff.com/property_taxes_lookup.php"); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Tax Year Choosed", driver, "KY", "Fayette"); IWebElement ISelect = driver.FindElement(By.XPath("/html/body/div/div/div[1]/p/select")); SelectElement sSelect = new SelectElement(ISelect); sSelect.SelectByText(currentyear); driver.FindElement(By.XPath("//*[@id='table2']/tbody/tr[3]/td[2]/blockquote/form[2]/p[1]/input")).SendKeys(ParcelID); gc.CreatePdf(orderNumber, ParcelID, "Tax Search Input Passed", driver, "KY", "Fayette"); driver.FindElement(By.XPath("//*[@id='table2']/tbody/tr[3]/td[2]/blockquote/form[2]/p[2]/input")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Tax Search Result" + currentyear, driver, "KY", "Fayette"); try { string taxinfotitle = "", taxinfovalue = ""; IWebElement ITaxinfoTable = driver.FindElement(By.XPath("//*[@id='table2']/tbody/tr[3]/td[2]/table/tbody/tr/td/p[1]/table/tbody")); IList <IWebElement> ItaxinfoRow = ITaxinfoTable.FindElements(By.TagName("tr")); IList <IWebElement> ItaxinfoTD; IList <IWebElement> ItaxinfoTH; foreach (IWebElement rowid in ItaxinfoRow) { ItaxinfoTH = rowid.FindElements(By.TagName("th")); ItaxinfoTD = rowid.FindElements(By.TagName("td")); if (ItaxinfoTH.Count != 0 && rowid.Text != "") { for (int m = 0; m < ItaxinfoTH.Count; m++) { if (ItaxinfoTH[m].Text != "") { taxinfotitle += ItaxinfoTH[m].Text.Replace("\r\n", " & ").Trim() + "~"; } } } if (ItaxinfoTD.Count != 0 && rowid.Text != "") { for (int n = 0; n < ItaxinfoTD.Count; n++) { if (ItaxinfoTD[n].Text != "") { taxinfovalue += ItaxinfoTD[n].Text.Replace("\r\n", " & ").Trim() + "~"; } } } } string Taxyear1 = "", Taxyear = "", TaxingAuthority = ""; string bulktext = driver.FindElement(By.XPath("//*[@id='table2']/tbody/tr[3]/td[2]/table/tbody/tr/td/span[2]")).Text; Taxyear1 = GlobalClass.Before(bulktext, "- ").Trim(); Taxyear = GlobalClass.After(Taxyear1, ",").Trim(); if (taxinfovalue.Contains("Due") && !taxinfovalue.Contains("Paid")) { Delinquent = "Yes"; } TaxingAuthority = driver.FindElement(By.XPath("//*[@id='table2']/tbody/tr[3]/td[1]/font")).Text; db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + taxinfotitle + "Taxyear" + "~" + "TaxingAuthority" + "' where Id = '" + 657 + "'"); gc.insert_date(orderNumber, ParcelID, 657, taxinfovalue + Taxyear + "~" + TaxingAuthority, 1, DateTime.Now); } catch { } increase++; } catch { } } year--; } try { driver.Navigate().GoToUrl("https://www.fayettecountyclerk.com/web/landrecords/delinquenttaxes/delinquentTaxCalc.htm"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr[1]/td/input")).SendKeys(ParcelID); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Delinquent details ", driver, "KY", "Fayette"); driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr[2]/td/input[4]")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Delinquent Details InputPassedPdf", driver, "KY", "Fayette"); } catch { } //Delinquent Tax information Details if (Delinquent == "Yes") { try { driver.Navigate().GoToUrl("https://www.fayettecountyclerk.com/web/landrecords/delinquenttaxes/delinquentTaxCalc.htm"); Thread.Sleep(2000); driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr[1]/td/input")).SendKeys(ParcelID); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Delinquent site InputPassed", driver, "KY", "Fayette"); driver.FindElement(By.XPath("//*[@id='form1']/table/tbody/tr[2]/td/input[4]")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, ParcelID, "Delinquent Details Displayed", driver, "KY", "Fayette"); string Year = "", BillNumber = "", Account = "", Paid = "", Assigned = "", Owner = ""; IWebElement tbmulti12 = driver.FindElement(By.XPath("//*[@id='subfile']/tbody")); IList <IWebElement> TRmulti12 = tbmulti12.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti12; foreach (IWebElement row in TRmulti12) { TDmulti12 = row.FindElements(By.TagName("td")); if (TDmulti12.Count != 0 && row.Text.Contains(ParcelID)) { Year = TDmulti12[1].Text; BillNumber = TDmulti12[2].Text; Account = TDmulti12[3].Text; Paid = TDmulti12[4].Text; Assigned = TDmulti12[5].Text; Owner = TDmulti12[6].Text; string DelinquentTaxinformationDetails = Year + "~" + BillNumber + "~" + Account + "~" + Paid + "~" + Assigned + "~" + Owner; gc.insert_date(orderNumber, ParcelID, 674, DelinquentTaxinformationDetails, 1, DateTime.Now); } } } catch { } } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Quit(); gc.mergpdf(orderNumber, "KY", "Fayette"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "KY", "Fayette", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
/// <summary> /// Dodanie nowej zmiennej do mapowania /// </summary> /// <param name="variable">Nazwa zmiennej</param> /// <param name="mapVariables">Definiuje, czy po dodaniu nowej zmiennej ma odbyć się mapowanie (odświeżenie danych w słowniku)</param> protected void AddVariable(string variable, bool mapVariables = false) { if (string.IsNullOrWhiteSpace(variable) || string.IsNullOrEmpty(variable)) { return; } string[] STLLines = variable.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < STLLines.Length; i++) { try { if (!STLLines[i].Contains(' ')) { continue; } GlobalClass.WriteCommentary($"{STLLines.Length} : {i} linijka STL: {STLLines[i]}"); string[] line = STLLines[i].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); int indeks; if (line.Length < 2 && (line[0][0] == 'M' || line[0][0] == 'm' || line[0][0] == 'I' || line[0][0] == 'i' || line[0][0] == 'Q' || line[0][0] == 'q')) { indeks = 0; } else if (line.Length >= 2) { indeks = 1; } else { continue; } line[indeks] = line[indeks].Replace('(', '\0'); line[indeks] = line[indeks].Replace(')', '\0'); if (mappedVariables.ContainsKey(line[indeks])) { continue; } string[] variables = line[indeks].getVariables(); this.variables.Add(variables[0]); for (int j = 1; j < variables.Length; j++) { if (!this.mappedVariables.ContainsKey(variables[j])) { this.mappedVariables.Add(variables[j], false); } GlobalClass.WriteCommentary($"Dodawanie zmiennej: {variables[j]}"); } GlobalClass.WriteCommentary($"Uzupełniono słownik dla zmiennej{variables[0]}", true); } catch (IndexOutOfRangeException iOORExc) { GlobalClass.WriteCommentary($"WYJĄTEK: Indeks spoza zakresu: {iOORExc.Message}"); } catch (InvalidCastException iCExc) { GlobalClass.WriteCommentary($"WYJĄTEK: nieprawidłowe rzutowanie: {iCExc.Message}"); } catch (InvalidOperationException iOExc) { GlobalClass.WriteCommentary($"WYJĄTEK: nieprawidłowa operacja: {iOExc.Message}"); } catch (Exception Exc) { GlobalClass.WriteCommentary($"WYJĄTEK: ogólny: {Exc.Message}"); } } if (mapVariables) { this.mapVariables(); } }
protected void Submit_Click(object sender, EventArgs e) { if (wrkflwln == 0) { if (iStatusKey == 0) { //MRPClass.Submit_MRP(docnumber.ToString(), mrp_key, wrkflwln + 1, entitycode, buCode, Convert.ToInt32(Session["CreatorKey"])); PopupSubmitPreview.ShowOnPageLoad = false; ScriptManager.RegisterStartupScript(this.Page, typeof(string), "Resize", "changeWidth.resizeWidth();", true); MRPSubmitClass.MRP_Submit(docnumber.ToString(), mrp_key, dateCreated, wrkflwln, entitycode, buCode, Convert.ToInt32(Session["CreatorKey"])); Submit.Enabled = false; //btAddEdit.Enabled = false; Load_MRP(docnumber); ModalPopupExtenderLoading.Hide(); MRPNotificationMessage.Text = MRPClass.successfully_submitted; MRPNotificationMessage.ForeColor = System.Drawing.Color.Black; MRPNotify.HeaderText = "Info"; MRPNotify.ShowOnPageLoad = true; } //else //{ // ScriptManager.RegisterStartupScript(this.Page, typeof(string), "Resize", "changeWidth.resizeWidth();", true); // MRPNotificationMessage.Text = "You have no permission to perform this command!" + Environment.NewLine + "Access Denied!"; // MRPNotificationMessage.ForeColor = System.Drawing.Color.Red; // MRPNotify.HeaderText = "Info"; // MRPNotify.ShowOnPageLoad = true; //} } else { if (MRPClass.MRP_Line_Status(mrp_key, wrkflwln) == 0) { bool isAllowed = false; switch (wrkflwln) { case 1: { isAllowed = GlobalClass.IsAllowed(Convert.ToInt32(Session["CreatorKey"]), "MOPBULead", dateCreated, entitycode, buCode); break; } case 2: { isAllowed = GlobalClass.IsAllowed(Convert.ToInt32(Session["CreatorKey"]), "MOPInventoryAnalyst", dateCreated); break; } case 3: { isAllowed = GlobalClass.IsAllowed(Convert.ToInt32(Session["CreatorKey"]), "MOPBudget_PerEntBU", dateCreated, entitycode, buCode); break; } } if (isAllowed == true) { PopupSubmitPreview.ShowOnPageLoad = false; //MRPClass.Submit_MRP(docnumber.ToString(), mrp_key, wrkflwln + 1, entitycode, buCode, Convert.ToInt32(Session["CreatorKey"])); ScriptManager.RegisterStartupScript(this.Page, typeof(string), "Resize", "changeWidth.resizeWidth();", true); MRPSubmitClass.MRP_Submit(docnumber.ToString(), mrp_key, dateCreated, wrkflwln, entitycode, buCode, Convert.ToInt32(Session["CreatorKey"])); Submit.Enabled = false; Load_MRP(docnumber); ModalPopupExtenderLoading.Hide(); MRPNotificationMessage.Text = MRPClass.successfully_submitted; MRPNotificationMessage.ForeColor = System.Drawing.Color.Black; MRPNotify.HeaderText = "Info"; MRPNotify.ShowOnPageLoad = true; } else { MRPNotificationMessage.Text = "You have no permission to perform this command!" + Environment.NewLine + "Access Denied!"; MRPNotificationMessage.ForeColor = System.Drawing.Color.Red; MRPNotify.HeaderText = "Info"; MRPNotify.ShowOnPageLoad = true; } } else { //ScriptManager.RegisterStartupScript(this.Page, typeof(string), "Resize", "changeWidth.resizeWidth();", true); } } }
public ActionResult Delete(int id) { var data = _iCompanySocialAccountDetailManager.Delete(id); return(Json(new { messageType = data.MessageType, message = data.ReturnMessage, html = GlobalClass.RenderRazorViewToString(this, "ViewAll", _iCompanySocialAccountDetailManager.GetAllCompanySocialAccountDetail()) }, JsonRequestBehavior.AllowGet)); }
public string FTP_SarpyNE(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; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; int rescount = 0; string taxsales = "", certno = "", redemno = "", bankrup = "", foreno = "", foredate = "", maturitydate = "", redemdate = "", ExemptionCode = "", ExemptionAmount = "", SpecialAssessment = "", billno = "", delingurl = "", specialurl = ""; List <string> taxurl = new List <string>(); List <string> billurl = new List <string>(); using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "NE", "Sarpy"); 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_SarpyNE"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.Navigate().GoToUrl("https://apps.sarpy.com/sarpyproperty/"); driver.FindElement(By.Id("MainContent_SimpleControl2_txtAddress")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "InputPassed Address Search", driver, "NE", "Sarpy"); driver.FindElement(By.Id("MainContent_SimpleControl2_cmdSubmit")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf_WOP(orderNumber, "Address Search Results", driver, "NE", "Sarpy"); IWebElement multiaddrtableElement = driver.FindElement(By.XPath("//*[@id='ResultsGrid']/table/tbody/tr[1]/td[1]/table/tbody[2]")); IList <IWebElement> multiaddrtableRow = multiaddrtableElement.FindElements(By.TagName("tr")); rescount = multiaddrtableRow.Count; if (rescount - 1 > 1) { multiparcel(orderNumber); return("MultiParcel"); } } if (searchType == "parcel") { driver.Navigate().GoToUrl("https://apps.sarpy.com/sarpyproperty/"); driver.FindElement(By.Id("MainContent_SimpleControl2_txtLocid")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search Input Passed", driver, "NE", "Sarpy"); driver.FindElement(By.Id("MainContent_SimpleControl2_cmdSubmit")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf_WOP(orderNumber, "Parcel Search Result", driver, "NE", "Sarpy"); } if (searchType == "ownername") { driver.Navigate().GoToUrl("https://apps.sarpy.com/sarpyproperty/"); if (ownername.Contains(" ")) { ownername = ownername.Replace(" ", "%"); } Thread.Sleep(3000); driver.FindElement(By.Id("MainContent_SimpleControl2_txtName")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "Ownername Search Input Passed", driver, "NE", "Sarpy"); driver.FindElement(By.Id("MainContent_SimpleControl2_cmdSubmit")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf_WOP(orderNumber, "Ownername Search Result", driver, "NE", "Sarpy"); IWebElement multiaddrtableElement = driver.FindElement(By.XPath("//*[@id='ResultsGrid']/table/tbody/tr[1]/td[1]/table/tbody[2]")); IList <IWebElement> multiaddrtableRow = multiaddrtableElement.FindElements(By.TagName("tr")); rescount = multiaddrtableRow.Count; if (rescount - 1 > 1) { multiparcel(orderNumber); return("MultiParcel"); } } try { IWebElement INodata = driver.FindElement(By.XPath("//*[@id='ResultsGrid']/table/tbody/tr[1]/td[1]/table")); if (!INodata.Text.Contains("Property Record File")) { HttpContext.Current.Session["Nodata_SarpyNE"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //property Details driver.FindElement(By.LinkText("View Details")).SendKeys(Keys.Enter); Thread.Sleep(2000); string propbulktext = driver.FindElement(By.XPath("//*[@id='AtrControl1_TableMain']/tbody")).Text; string outparcelno = "", propaddr = "", owner = "", coowner = "", mailaddress = "", legal = "", taxdistrict = "", map = "", proclass = "", year_built = ""; outparcelno = gc.Between(propbulktext, "Parcel Number:", "Location:").Trim(); gc.CreatePdf(orderNumber, outparcelno, "Property Details", driver, "NE", "Sarpy"); propaddr = gc.Between(propbulktext, "Location:", "Owner:"); owner = gc.Between(propbulktext, "Owner:", "C\\O"); coowner = gc.Between(propbulktext, "C\\O", "Mail Address:"); mailaddress = gc.Between(propbulktext, "Mail Address:", "Legal:"); legal = gc.Between(propbulktext, "Legal:", "Tax District:"); taxdistrict = gc.Between(propbulktext, "Tax District:", "Map #:"); try { map = gc.Between(propbulktext, "Map #:", "Property Class:"); proclass = gc.Between(propbulktext, "Property Class:", "NBHD Code:"); } catch { } try { map = gc.Between(propbulktext, "Map #:", "Greenbelt Area:"); proclass = gc.Between(propbulktext, "Property Class:", "NBHD Code:"); } catch { } try { if (proclass == "") { proclass = GlobalClass.After(propbulktext, "Property Class:").Replace("Click Picture for Larger View.", "").Trim(); } } catch { } //Xpath = //label[@id='message23'] try { string yearbuiltfulltext = driver.FindElement(By.XPath("//table[contains(@id, '_tblFarm')]/tbody")).Text; year_built = gc.Between(yearbuiltfulltext, "Year Built: ", "#Bedrooms above Grade").Trim(); year_built = GlobalClass.After(year_built, "Year Built:"); } catch { } try { string yearbuiltfulltext = driver.FindElement(By.XPath("//table[contains(@id, '_tblResidential')]/tbody")).Text; year_built = gc.Between(yearbuiltfulltext, "Year Built: ", "#Bedrooms above Grade").Trim(); year_built = GlobalClass.After(year_built, "Year Built:"); } catch { } try { IWebElement commercialtable = driver.FindElement(By.XPath("//table[contains(@id, '_gridBuilding')]/tbody")); IList <IWebElement> commercialtableow = commercialtable.FindElements(By.TagName("tr")); IList <IWebElement> commercialtablerowtd; foreach (IWebElement rowid in commercialtableow) { commercialtablerowtd = rowid.FindElements(By.TagName("td")); if (commercialtablerowtd.Count != 0 && !rowid.Text.Contains("Built")) { year_built = commercialtablerowtd[1].Text; HttpContext.Current.Session["Commercial_NESarpy"] = "Yes"; } } } catch { } //Property Address~Owner Name~Coowner~Mail Address~Legal Description~Tax District~Map~Property Class~Year Built string propdetails = propaddr + "~" + owner + "~" + coowner + "~" + mailaddress + "~" + legal + "~" + taxdistrict + "~" + map + "~" + proclass + "~" + year_built; gc.insert_date(orderNumber, outparcelno, 580, propdetails, 1, DateTime.Now); //assessment Details IWebElement valuetableElement = driver.FindElement(By.XPath("//*[@id='ValuationControl_gridValuation']/tbody")); gc.CreatePdf(orderNumber, outparcelno, "Assessment Details", driver, "NE", "Sarpy"); IList <IWebElement> valuetableRow = valuetableElement.FindElements(By.TagName("tr")); int valoremtablerowcount = valuetableRow.Count; IList <IWebElement> valuetableRowTD; int d = 0; foreach (IWebElement rowid in valuetableRow) { valuetableRowTD = rowid.FindElements(By.TagName("td")); if (valuetableRowTD.Count != 0 && !rowid.Text.Contains("Roll Year") && d < 2) { //Roll Year~Land Value~Impr Value~Outbuildings~Total Value~PV~Form191 string assesmentdetails = valuetableRowTD[0].Text + "~" + valuetableRowTD[1].Text + "~" + valuetableRowTD[2].Text + "~" + valuetableRowTD[3].Text + "~" + valuetableRowTD[4].Text + "~" + valuetableRowTD[5].Text + "~" + valuetableRowTD[6].Text; gc.insert_date(orderNumber, outparcelno, 581, assesmentdetails, 1, DateTime.Now); d++; } } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Sale Details //Tax Sales~Certificate Number~Redemption Number~Bankruptcy~Foreclosure Number~Foreclosure Date~Maturity Date~Redemption Date string taxsalefulltext = driver.FindElement(By.XPath("//*[@id='TreasurerControl_tblTreasurer']/tbody")).Text; IWebElement taxsaletableElement = driver.FindElement(By.XPath("//*[@id='TreasurerControl_tblTreasurer']/tbody")); gc.CreatePdf(orderNumber, outparcelno, "Assessment Details", driver, "NE", "Sarpy"); IList <IWebElement> taxsaletableElementrow = taxsaletableElement.FindElements(By.TagName("tr")); IList <IWebElement> valuetableRowa; foreach (IWebElement rowid in taxsaletableElementrow) { valuetableRowa = rowid.FindElements(By.TagName("a")); if (valuetableRowa.Count != 0 && !rowid.Text.Contains("No Tax")) { if (rowid.Text.Contains("DELINQUENT")) { delingurl = valuetableRowa[0].GetAttribute("href"); } else { specialurl = valuetableRowa[0].GetAttribute("href"); } } } //*[@id="TreasurerControl_TableCell26"]/a gc.CreatePdf(orderNumber, outparcelno, "Tax Sale Details", driver, "NE", "Sarpy"); taxsales = gc.Between(taxsalefulltext, "Tax Sales", "Certificate #").Trim(); certno = gc.Between(taxsalefulltext, "Certificate #", "Maturity Date").Trim(); redemno = gc.Between(taxsalefulltext, "Redemption #", "Redemption Date").Trim(); bankrup = GlobalClass.After(taxsalefulltext, "Bankruptcy").Trim(); foreno = gc.Between(taxsalefulltext, "Forclosure #", "Mortgage Company #").Trim(); foredate = gc.Between(taxsalefulltext, "Foreclosure Date", "Exemption Code").Trim().Replace("Mortgage Company", ""); maturitydate = gc.Between(taxsalefulltext, "Maturity Date", "Redemption #").Trim(); redemdate = gc.Between(taxsalefulltext, "Redemption Date", "Bankruptcy").Trim(); string taxsaledetails = taxsales + "~" + certno + "~" + redemno + "~" + bankrup + "~" + foreno + "~" + foredate + "~" + maturitydate + "~" + redemdate; gc.insert_date(orderNumber, outparcelno, 584, taxsaledetails, 1, DateTime.Now); //Tax history details IWebElement taxhistableElement = driver.FindElement(By.XPath("//*[@id='TreasurerControl_TaxGrid']/tbody")); gc.CreatePdf(orderNumber, outparcelno, "Tax Full History", driver, "NE", "Sarpy"); IList <IWebElement> taxhistableRow = taxhistableElement.FindElements(By.TagName("tr")); //int valoremtablerowcount = taxhistableRow.Count; IList <IWebElement> taxhistableRowTD; int i = 0; foreach (IWebElement rowid in taxhistableRow) { taxhistableRowTD = rowid.FindElements(By.TagName("td")); if (taxhistableRowTD.Count != 0 && !rowid.Text.Contains("Year")) { if (i < 3) { IWebElement ITaxBillCount = taxhistableRowTD[1].FindElement(By.TagName("a")); string taxlink = ITaxBillCount.GetAttribute("href"); taxurl.Add(taxlink); i++; } //Year~Statement~Tax District~Source~Taxes Due~Total Due~Balance string taxhisdetails = taxhistableRowTD[0].Text + "~" + taxhistableRowTD[1].Text + "~" + taxhistableRowTD[2].Text + "~" + taxhistableRowTD[3].Text + "~" + taxhistableRowTD[4].Text + "~" + taxhistableRowTD[5].Text + "~" + taxhistableRowTD[6].Text; gc.insert_date(orderNumber, outparcelno, 586, taxhisdetails, 1, DateTime.Now); } } //Tax Details int j = 0; foreach (string URL in taxurl) { driver.Navigate().GoToUrl(URL); Thread.Sleep(3000); string Statement = "", TaxPayer = "", RollYear = "", TaxYear = "", Source = "", GrossTax = "", Homestead = "", TaxesDue = "", Drainage = "", PenaltyTax = "", CertFees = "", Advertising = "", TaxCredit = "", AgTaxCredit = "", TotalDue = "", TaxPaid = "", TaxDue = "", InterestDue = "", TotalDue1 = ""; try { //Statement~Tax Payer~Roll Year~Tax Year~Source~Gross Tax~Homestead~Taxes Due~Drainage~Penalty Tax~Cert Fees~Advertising~Tax Credit~Ag Tax Credit~Total Due~Tax Paid~Tax Due~Interest Due~Total Due~Exemption Code~Exemption Amount~Special Assessment string taxdetailsfulltext = driver.FindElement(By.XPath("//*[@id='form1']/div[3]/table[1]")).Text; IWebElement IStatement = driver.FindElement(By.Id("txtStatement")); Statement = IStatement.GetAttribute("value"); IWebElement ITaxPayer = driver.FindElement(By.Id("txtTaxPayer")); TaxPayer = ITaxPayer.GetAttribute("value"); IWebElement IRollYear = driver.FindElement(By.Id("txtRollYear")); RollYear = IRollYear.GetAttribute("value"); IWebElement ITaxYear = driver.FindElement(By.Id("txtTaxYear")); TaxYear = ITaxYear.GetAttribute("value"); gc.CreatePdf(orderNumber, outparcelno, "Tax Details " + TaxYear, driver, "NE", "Sarpy"); IWebElement ISource = driver.FindElement(By.Id("txtSource")); Source = ISource.GetAttribute("value"); IWebElement IGrossTax = driver.FindElement(By.Id("txtGrossTax")); GrossTax = IGrossTax.GetAttribute("value"); IWebElement IHomestead = driver.FindElement(By.Id("txtHomeStead")); Homestead = IHomestead.GetAttribute("value"); IWebElement ITaxesDue = driver.FindElement(By.Id("txtTaxesDue")); TaxesDue = ITaxesDue.GetAttribute("value"); IWebElement IDrainage = driver.FindElement(By.Id("txtDrainage")); Drainage = IDrainage.GetAttribute("value"); IWebElement IPenaltyTax = driver.FindElement(By.Id("txtPenaltyTax")); PenaltyTax = IPenaltyTax.GetAttribute("value"); IWebElement ICertFees = driver.FindElement(By.Id("txtCertFees")); CertFees = ICertFees.GetAttribute("value"); IWebElement IAdvertising = driver.FindElement(By.Id("txtAdvertising")); Advertising = IAdvertising.GetAttribute("value"); IWebElement ITaxCredit = driver.FindElement(By.Id("txtTaxCredit")); TaxCredit = ITaxCredit.GetAttribute("value"); IWebElement IAgTaxCredit = driver.FindElement(By.Id("txtAGTaxCredit")); AgTaxCredit = IAgTaxCredit.GetAttribute("value"); IWebElement ITotalDue = driver.FindElement(By.Id("txtTotalDue")); TotalDue = ITotalDue.GetAttribute("value"); IWebElement ITaxPaid = driver.FindElement(By.Id("txtTaxPaid")); TaxPaid = ITaxPaid.GetAttribute("value"); IWebElement ITaxDue = driver.FindElement(By.Id("txtTaxDue")); TaxDue = ITaxDue.GetAttribute("value"); IWebElement IInterestDue = driver.FindElement(By.Id("txtInterestDue")); InterestDue = IInterestDue.GetAttribute("value"); IWebElement ITotalDue1 = driver.FindElement(By.Id("txtGrandTotal")); TotalDue1 = ITotalDue1.GetAttribute("value"); // if (j == 0) { ExemptionCode = gc.Between(taxsalefulltext, "Exemption Code", "Exemption Amount").Trim(); ExemptionAmount = gc.Between(taxsalefulltext, "Exemption Amount", "Specials").Trim(); SpecialAssessment = gc.Between(taxsalefulltext, "Specials", "Tax Sales").Trim(); j++; } else { ExemptionCode = ""; ExemptionAmount = ""; SpecialAssessment = ""; } string taxdetails = Statement + "~" + TaxPayer + "~" + RollYear + "~" + TaxYear + "~" + Source + "~" + GrossTax + "~" + Homestead + "~" + TaxesDue + "~" + Drainage + "~" + PenaltyTax + "~" + CertFees + "~" + Advertising + "~" + TaxCredit + "~" + AgTaxCredit + "~" + TotalDue + "~" + TaxPaid + "~" + TaxDue + "~" + InterestDue + "~" + TotalDue1 + "~" + ExemptionCode + "~" + ExemptionAmount + "~" + SpecialAssessment; gc.insert_date(orderNumber, outparcelno, 587, taxdetails, 1, DateTime.Now); } catch { } try { //Receipt~Code~Pay Date~Tax Payment~Weed Pay~Interest~Total Payment IWebElement paymenttable = driver.FindElement(By.XPath("//*[@id='tblRct']/tbody")); IList <IWebElement> paymenttablerow = paymenttable.FindElements(By.TagName("tr")); IList <IWebElement> paymenttablerowTD; foreach (IWebElement rowid in paymenttablerow) { paymenttablerowTD = rowid.FindElements(By.TagName("td")); if (paymenttablerowTD.Count != 0 && !rowid.Text.Contains("Payments") && !rowid.Text.Contains("Receipt #")) { billno = paymenttablerowTD[0].Text; string paymentdetails = paymenttablerowTD[0].Text + "~" + paymenttablerowTD[1].Text + "~" + paymenttablerowTD[2].Text + "~" + paymenttablerowTD[3].Text + "~" + paymenttablerowTD[4].Text + "~" + paymenttablerowTD[5].Text + "~" + paymenttablerowTD[6].Text; gc.insert_date(orderNumber, outparcelno, 589, paymentdetails, 1, DateTime.Now); IWebElement IBillCount = paymenttablerowTD[7].FindElement(By.TagName("a")); string billlink = IBillCount.GetAttribute("href"); billurl.Add(billlink); // gc.downloadfile(billlink, orderNumber, outparcelno, paymenttablerowTD[0].Text, "NE", "Sarpy"); } } } catch (Exception e) { } } //bill pdf int z = 0; foreach (string URL in billurl) { driver.Navigate().GoToUrl(URL); Thread.Sleep(3000); gc.CreatePdf(orderNumber, outparcelno, "Tax bill " + z, driver, "NE", "Sarpy"); z++; } //tax sale delinq if (delingurl != "") { driver.Navigate().GoToUrl(delingurl); Thread.Sleep(3000); gc.CreatePdf(orderNumber, outparcelno, "Tax sale delinq", driver, "NE", "Sarpy"); } //special if (specialurl != "") { driver.Navigate().GoToUrl(specialurl); Thread.Sleep(3000); gc.CreatePdf(orderNumber, outparcelno, "Special Assessment Details", driver, "NE", "Sarpy"); } TaxTime = DateTime.Now.ToString("HH:mm:ss"); gc.mergpdf(orderNumber, "NE", "Sarpy"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "NE", "Sarpy", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); if (ex.ToString().Contains("The page size must be smaller than 14400 by 14400")) { HttpContext.Current.Session["SarpyNE_Page smaller_Error"] = "Yes"; return(""); } else { throw ex; } } } }
public string FTP_Bell(string houseno, string sname, string stype, string unitno, string direction, 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> taxinformation = new List <string>(); 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"); driver.Navigate().GoToUrl("http://esearch.bellcad.org/"); //IJavaScriptExecutor js2 = driver as IJavaScriptExecutor; //IWebElement ParcelLinkSearch1 = driver.FindElement(By.XPath("//*[@id='home-page-tabs']/li[5]")); //js2.ExecuteScript("arguments[0].click();", ParcelLinkSearch1); driver.FindElement(By.XPath("//*[@id='home-page-tabs']/li[5]")).Click(); Thread.Sleep(2000); // driver.FindElement(By.Id("propertySearchOptions_advanced")).Click(); if (searchType == "titleflex") { string titleaddress = houseno + " " + sname + " " + stype + " " + unitno; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "TX", "Bell"); 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_BellTX"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { //var Select1 = driver.FindElement(By.Id("propertySearchOptions_searchType")); //var selectElement11 = new SelectElement(Select1); //selectElement11.SelectByText("Property Address"); driver.FindElement(By.Id("StreetNumber")).SendKeys(houseno); driver.FindElement(By.Id("StreetName")).SendKeys(sname); gc.CreatePdf_WOP(orderNumber, "address search", driver, "TX", "Bell"); driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "address search result", driver, "TX", "Bell"); } if (searchType == "parcel") { //var Select1 = driver.FindElement(By.Id("propertySearchOptions_searchType")); //var selectElement11 = new SelectElement(Select1); //selectElement11.SelectByText("Account Number"); driver.FindElement(By.Id("GeoId")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "TX", "Bell"); driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).Click(); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "TX", "Bell"); } if (searchType == "ownername") { driver.FindElement(By.Id("OwnerName")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "owner search", driver, "TX", "Bell"); driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "owner search result", driver, "TX", "Bell"); } if (searchType == "block") { //var Select1 = driver.FindElement(By.Id("propertySearchOptions_searchType")); //var selectElement11 = new SelectElement(Select1); //selectElement11.SelectByText("Account Number"); driver.FindElement(By.Id("PropertyId")).SendKeys(unitno); gc.CreatePdf_WOP(orderNumber, "Account Number Search ", driver, "TX", "Bell"); driver.FindElement(By.XPath("//*[@id='index-search']/div[4]/div/div/button")).Click(); Thread.Sleep(2000); gc.CreatePdf_WOP(orderNumber, "Account Number Search result", driver, "TX", "Bell"); // gc.CreatePdf_WOP(orderNumber, "owner search result", driver, "TX", "Williamson"); } //Geographic ID~Type~Property Address~Owner Name //*[@id="propertySearchResults_resultsTable"]/tbody try { IWebElement INodata = driver.FindElement(By.Id("propertySearchResults_pageHeading")); if (INodata.Text.Contains("None found")) { HttpContext.Current.Session["Nodata_BellTX"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } int trCount = driver.FindElements(By.XPath("//*[@id='grid']/div[2]/table/tbody")).Count; if (trCount > 1) { int maxCheck = 0; IWebElement tbmulti = driver.FindElement(By.XPath("//*[@id='propertySearchResults_resultsTable']/tbody")); IList <IWebElement> TRmulti5 = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti5; foreach (IWebElement row in TRmulti5) { if (maxCheck <= 25) { TDmulti5 = row.FindElements(By.TagName("td")); if (TDmulti5.Count == 10 && TDmulti5[3].Text.Contains("Real")) { string multi1 = TDmulti5[2].Text + "~" + TDmulti5[3].Text + "~" + TDmulti5[4].Text + "~" + TDmulti5[6].Text; gc.insert_date(orderNumber, TDmulti5[1].Text, 846, multi1, 1, DateTime.Now); } maxCheck++; } } if (TRmulti5.Count > 25) { HttpContext.Current.Session["multiParcel_Bell_Multicount"] = "Maximum"; } else { HttpContext.Current.Session["multiparcel_Bell"] = "Yes"; } driver.Quit(); return("MultiParcel"); } else { string type = driver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody/tr/td[6]")).Text.Replace("\r\n", " "); if (type == "Real") { //*[@id="propertySearchResults_resultsTable"]/tbody/tr[2]/td[10] driver.FindElement(By.XPath("//*[@id='grid']/div[2]/table/tbody/tr/td[4]")).Click(); Thread.Sleep(2000); } else { HttpContext.Current.Session["alert_msg"] = "Yes"; driver.Quit(); return("MultiParcel"); } } //property details string PropertyID = "", GeographicID = "", Name = "", MailingAddress = "", OwnerID = "", LegalDescription = "", Neighborhood = "", Type = "", Address = "", NeighborhoodCD = "", Exemptions = "", MapID = "", YearBuilt = "", Acres = ""; string ownerdetails = ""; string asd = ""; //Property ID~Geographic ID~Name~Mailing Address~Owner ID~Mailing Address~Owner ID~Type~Legal Description~Address~Neighborhood~Neighborhood CD~Map ID~Exemptions~Year Built~Acres~Tax Authority string fulltext = driver.FindElement(By.XPath("//*[@id='detail-page']/div[3]/div[1]/div/table/tbody")).Text.Replace("\r\n", " "); PropertyID = gc.Between(fulltext, "Property ID:", "Legal Description:"); GeographicID = gc.Between(fulltext, "Geographic ID:", "Agent Code:"); gc.CreatePdf(orderNumber, GeographicID.Trim(), "property details", driver, "TX", "Bell"); LegalDescription = gc.Between(fulltext, "Legal Description:", "Geographic ID:"); Name = gc.Between(fulltext, "Name:", "Mailing Address:"); MailingAddress = gc.Between(fulltext, "Mailing Address:", "% Ownership:"); Exemptions = GlobalClass.After(fulltext, "Exemptions:"); OwnerID = gc.Between(fulltext, "Owner ID:", "Name:"); Neighborhood = gc.Between(fulltext, "Neighborhood CD:", "Owner"); Type = gc.Between(fulltext, "Type:", "Location"); Address = gc.Between(fulltext, "Address:", "Map ID:"); NeighborhoodCD = gc.Between(fulltext, "Neighborhood CD:", "Owner"); MapID = gc.Between(fulltext, "Map ID:", "Neighborhood CD:"); //*[@id="improvementBuilding"] //driver.FindElement(By.XPath("//*[@id='improvementBuilding']")).Click(); //Thread.Sleep(2000); try { YearBuilt = driver.FindElement(By.XPath("//*[@id='detail-page']/div[5]/div[2]/table[1]/tbody/tr[2]/td[5]")).Text; } catch { } //driver.FindElement(By.Id("land")).Click(); //Thread.Sleep(2000); //try //{ // Acres = driver.FindElement(By.XPath("//*[@id='landDetails']/table/tbody/tr[2]/td[4]")).Text; //} //catch { } string property_details = PropertyID + "~" + Name + "~" + MailingAddress + "~" + OwnerID + "~" + Type + "~" + LegalDescription + "~" + Address + "~" + Neighborhood + "~" + NeighborhoodCD + "~" + MapID + "~" + Exemptions + "~" + YearBuilt + "~" + "P.O.Box 390 Belton, TX 76513 Phone Number: 254 - 939 - 5841"; gc.insert_date(orderNumber, GeographicID, 841, property_details, 1, DateTime.Now); // Assessment Details Table: // Values Details Table: //Description~Sign~Value1~Value2 //driver.FindElement(By.Id("values")).Click(); //Thread.Sleep(2000); string Propertyhead = ""; string Propertyresult = ""; //*[@id="detail-page"]/div[3]/div[2]/div[1]/table/tbody IWebElement multitableElement1 = driver.FindElement(By.XPath(" //*[@id='detail-page']/div[3]/div[2]/div[1]/table/tbody")); IList <IWebElement> multitableRow1 = multitableElement1.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD1; IList <IWebElement> multirowTH1; foreach (IWebElement row in multitableRow1) { multirowTH1 = row.FindElements(By.TagName("tH")); multirowTD1 = row.FindElements(By.TagName("td")); if (multirowTD1.Count != 0 && multirowTD1[0].Text != " ") { Propertyhead += multirowTH1[0].Text; Propertyresult += multirowTD1[0].Text; //gc.insert_date(orderNumber, PropertyID, 844, ValueDetails, 1, DateTime.Now); } } db.ExecuteQuery("update data_field_master set Data_Fields_Text='" + Propertyhead + "' where Id = '" + 844 + "'"); gc.insert_date(orderNumber, PropertyID, 844, Propertyresult, 1, DateTime.Now); //Taxing Jurisdiction Details Table: //Owner~% Ownership~Total Value~Entity~Description~Tax Rate~Appraised Value~Taxable Value~Estimated Tax //driver.FindElement(By.Id("taxingJurisdiction")).Click(); //Thread.Sleep(2000); //string owner = "", Ownership = "", TotalValue = ""; string ValueDetails1 = "", msg = ""; //string fulltext1 = driver.FindElement(By.XPath("//*[@id='taxingJurisdictionDetails']/table[1]/tbody")).Text.Replace("\r\n", " "); List <string> myList = new List <string>(); string Totaltax = driver.FindElement(By.XPath("//*[@id='detail-page']/div[4]/div[3]")).Text; string TotalTaxRate = gc.Between(Totaltax, "Total Tax Rate:", "Estimated Taxes With Exemptions:"); string EstimatedTaxes = gc.Between(Totaltax, "With Exemptions:", "Without Exemptions:"); string WithoutExemptions = GlobalClass.After(Totaltax, "Without Exemptions:"); string totalresult = TotalTaxRate + "~" + EstimatedTaxes + "~" + WithoutExemptions; gc.insert_date(orderNumber, PropertyID, 2080, totalresult, 1, DateTime.Now); IWebElement multitableElement11 = driver.FindElement(By.XPath("//*[@id='detail-page']/div[4]/div[2]/table/tbody")); IList <IWebElement> multitableRow11 = multitableElement11.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD11; foreach (IWebElement row in multitableRow11) { multirowTD11 = row.FindElements(By.TagName("td")); if (multirowTD11.Count != 0) { ValueDetails1 = multirowTD11[0].Text + "~" + multirowTD11[1].Text + "~" + multirowTD11[2].Text + "~" + multirowTD11[3].Text + "~" + multirowTD11[4].Text + "~" + multirowTD11[5].Text + "~" + multirowTD11[6].Text; gc.insert_date(orderNumber, PropertyID, 843, ValueDetails1, 1, DateTime.Now); } } // Property Roll Value History: //Year~Improvements~Land Market~Ag Valuation~Appraised~HS Cap~Assessed //driver.FindElement(By.Id("rollHistory")).Click(); //Thread.Sleep(2000); IWebElement multitableElement2 = driver.FindElement(By.XPath("//*[@id='detail-page']/div[7]/div[2]/table/tbody")); IList <IWebElement> multitableRow2 = multitableElement2.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD2; foreach (IWebElement row in multitableRow2) { multirowTD2 = row.FindElements(By.TagName("td")); if (multirowTD2.Count != 0) { string rollDetails = multirowTD2[0].Text.Trim() + "~" + multirowTD2[1].Text.Trim() + "~" + multirowTD2[2].Text.Trim() + "~" + multirowTD2[3].Text.Trim() + "~" + multirowTD2[4].Text.Trim() + "~" + multirowTD2[5].Text.Trim() + "~" + multirowTD2[6].Text.Trim(); gc.insert_date(orderNumber, PropertyID, 842, rollDetails, 1, DateTime.Now); } } //Tax Deed IWebElement DeedHistoryTable = driver.FindElement(By.XPath("//*[@id='detail-page']/div[7]/div[2]/table/tbody")); IList <IWebElement> DeedHistoryRow = DeedHistoryTable.FindElements(By.TagName("tr")); IList <IWebElement> DeedHistoryTD; foreach (IWebElement DeedHistory in DeedHistoryRow) { DeedHistoryTD = DeedHistory.FindElements(By.TagName("td")); if (DeedHistoryTD.Count != 0) { string rollDetails = DeedHistoryTD[0].Text.Trim() + "~" + DeedHistoryTD[1].Text.Trim() + "~" + DeedHistoryTD[2].Text.Trim() + "~" + DeedHistoryTD[3].Text.Trim() + "~" + DeedHistoryTD[4].Text.Trim() + "~" + DeedHistoryTD[5].Text.Trim() + "~" + DeedHistoryTD[6].Text.Trim(); gc.insert_date(orderNumber, PropertyID, 2081, rollDetails, 1, DateTime.Now); } } //Tax Due (Payoff Calculation) Details Table: //driver.FindElement(By.Id("taxDue")).Click(); //Thread.Sleep(2000); string msgdeli = "", taxdue = ""; //int count = driver.FindElements(By.XPath("//*[@id='taxDueDetails_dataSection']/table/tbody/tr")).Count(); taxdue = driver.FindElement(By.XPath("//*[@id='taxesDue']/table/tbody")).Text; if (taxdue.Contains("Pay")) { // IWebElement dt = driver.FindElement(By.Id("taxesDueDate")); string date = DateTime.Now.ToString(); 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(); driver.FindElement(By.Id("taxesDueDate")).SendKeys(date); driver.FindElement(By.Id("taxesDueDate")).Click(); Thread.Sleep(4000); } //string goodthroughdate = driver.FindElement(By.Id("taxDueDetails_recalculateDate")).Text; //string payoff1 = goodthroughdate + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + ""; //gc.insert_date(orderNumber, PropertyID, 845, payoff1, 1, DateTime.Now); //string yearnow = driver.FindElement(By.XPath("//*[@id='taxDueDetails_dataSection']/table/tbody/tr[2]/td[1]")).Text; ////Amount Due if Paid on~Year~Taxing Jurisdiction~Taxable Value~Base Tax~Base Taxes Paid~Base Tax Due~Discount / Penalty & Interest~Attorney Fees~Amount Due //IWebElement multitableElement5 = driver.FindElement(By.XPath("//*[@id='taxDueDetails_dataSection']/table/tbody")); //IList<IWebElement> multitableRow5 = multitableElement5.FindElements(By.TagName("tr")); //IList<IWebElement> multirowTD5; //foreach (IWebElement row in multitableRow5) //{ // multirowTD5 = row.FindElements(By.TagName("td")); // if (multirowTD5.Count != 0) // { // if (multirowTD5[0].Text == yearnow) // { // if (myList.Any(str => str.Contains(multirowTD5[1].Text))) // { // myList.RemoveAt(myList.IndexOf(multirowTD5[1].Text)); // } // } // int countlist = myList.Count(); // string payoff11 = "" + "~" + multirowTD5[0].Text.Trim() + "~" + multirowTD5[1].Text.Trim() + "~" + multirowTD5[2].Text.Trim() + "~" + multirowTD5[3].Text.Trim() + "~" + multirowTD5[4].Text.Trim() + "~" + multirowTD5[5].Text.Trim() + "~" + multirowTD5[6].Text.Trim() + "~" + multirowTD5[7].Text.Trim() + "~" + multirowTD5[8].Text.Trim(); // gc.insert_date(orderNumber, PropertyID, 845, payoff11, 1, DateTime.Now); // } //} //string entity = ""; //if (myList.Count() > 0) //{ // for (int i = 0; i < myList.Count(); i++) // { // if (i == 0) // { // entity = myList[i]; // } // else // { // entity = entity + "&" + myList[i]; // } // } // string msged = entity + "~" + "Need to call Tax Office"; // gc.insert_date(orderNumber, PropertyID, 893, msged, 1, DateTime.Now); //} //gc.CreatePdf(orderNumber, PropertyID, "property details", driver, "TX", "Bell"); // Taxing Jurisdiction IWebElement multitableElement5 = driver.FindElement(By.XPath("//*[@id='taxesDue']/table/tbody")); IList <IWebElement> multitableRow5 = multitableElement5.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD5; IList <IWebElement> multirowTH5; foreach (IWebElement row in multitableRow5) { multirowTD5 = row.FindElements(By.TagName("td")); multirowTH5 = row.FindElements(By.TagName("th")); if (multirowTD5.Count > 1 && !row.Text.Contains("Taxing Jurisdiction") && multirowTH5.Count != 1) { string Taxresult = multirowTD5[0].Text + "~" + multirowTD5[1].Text + "~" + multirowTD5[2].Text + "~" + multirowTD5[3].Text + "~" + multirowTD5[4].Text + "~" + multirowTD5[5].Text + "~" + multirowTD5[6].Text + "~" + multirowTD5[7].Text + "~" + multirowTD5[8].Text; gc.insert_date(orderNumber, PropertyID, 845, Taxresult, 1, DateTime.Now); } if (multirowTD5.Count != 0 && multirowTH5.Count == 1) { string Taxresult = multirowTD5[0].Text + "~" + multirowTH5[0].Text + "~" + multirowTD5[1].Text + "~" + multirowTD5[2].Text + "~" + multirowTD5[3].Text + "~" + multirowTD5[4].Text + "~" + multirowTD5[5].Text + "~" + multirowTD5[6].Text + "~" + multirowTD5[7].Text; gc.insert_date(orderNumber, PropertyID, 845, Taxresult, 1, DateTime.Now); } } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "TX", "Bell", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); GlobalClass.titleparcel = ""; gc.mergpdf(orderNumber, "TX", "Bell"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); driver.Dispose(); throw ex; } } }
public string FTP_MauiHI(string houseno, string Direction, string sname, string stype, string account, string parcelNumber, string ownername, string searchType, string orderNumber) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string outparcelno = "", taxparcel = "", mailingaddress = "", tax_district = "", siteaddr = "", legal_desc = "", year_built = "", propuse = "", par1 = "", par2 = ""; string Building_Value = "", LandValue = "", JustValue = "", cctaxyear = "", Cap = "", AssessedValue = "", Exemption = "", TaxableValue = ""; string strBill = "-", strBalance = "-", strBillDate = "-", strBillPaid = "-"; string taxowner = "", tax_addr = "", accno = "", alterkey = "", millagecode = "", milagerate = "", ctax_year = "", cpaiddate = "", cpaidamount = "", creceipt = "", combinedtaxamount = "", ceffdate = "", grosstax = "", ifpaidby = "", pleasepay = ""; string taxauth1 = "", taxauth2 = "", taxauth3 = "", taxauth4 = "", TaxYear = "";; List <string> strissuecertificate = new List <string>(); List <string> taxhistorylink = new List <string>(); List <string> downloadlink = new List <string>(); List <string> taxhistorylinkinst = new List <string>(); List <string> MailURL = new List <string>(); string multi = "", TaxAuthority = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { //using (driver = new ChromeDriver()) try { StartTime = DateTime.Now.ToString("HH:mm:ss"); try { driver.Navigate().GoToUrl("https://www.mauicounty.gov/1952/Real-Property-Assessment-Division"); Thread.Sleep(1000); TaxAuthority = driver.FindElement(By.XPath("//*[@id='cc25b3e585-80a6-4aee-89a1-3a53a3528100']/div[1]/div/div[1]/div/div/ol/li/div[1]")).Text.Replace("Physical Address", "").Replace("\r\n", " ").Trim(); } catch { } driver.Navigate().GoToUrl("http://qpublic9.qpublic.net/hi_maui_search.php"); Thread.Sleep(1000); try { driver.FindElement(By.XPath("//*[@id='appBody']/div[4]/div/div/div[3]/a[1]")).Click(); Thread.Sleep(2000); } catch { } string Parcelno = "", Ownername = "", parcellocation = ""; if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", ownername, "", "HI", "Maui"); //gc.TitleFlexSearch(orderNumber, "", "", address.Trim(), "HI", "Maui"); if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { driver.Quit(); return("MultiParcel"); } if ((HttpContext.Current.Session["TitleFlex_Search"] == null)) { HttpContext.Current.Session["Zero_Maui"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; parcelNumber = parcelNumber.Replace("-", ""); } //if (searchType == "address") //{ // try // { // driver.FindElement(By.LinkText("Search by Location Address")).Click(); // Thread.Sleep(1000); // driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[1]/td[2]/input")).SendKeys(houseno); // driver.FindElement(By.Id("streetName")).SendKeys(sname); // // driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[3]/td[2]/input")).SendKeys(stype); // // driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[4]/td[2]/input")).SendKeys(account); // gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "HI", "Maui"); // driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[6]/td[2]/input")).SendKeys(Keys.Enter); // Thread.Sleep(1000); // //IWebElement multirecord = driver.FindElement(By.XPath("//*[@id='mMessage']")); // } // catch { } // gc.CreatePdf_WOP(orderNumber, "Address Search Result", driver, "HI", "Maui"); // int Max = 0; // IWebElement multiaddress = driver.FindElement(By.XPath("/html/body/table/tbody")); // IList<IWebElement> TRmultiaddress = multiaddress.FindElements(By.TagName("tr")); // IList<IWebElement> THmultiaddress = multiaddress.FindElements(By.TagName("th")); // IList<IWebElement> TDmultiaddress; // if (TRmultiaddress.Count > 28) // { // HttpContext.Current.Session["multiParcel_Maui_Maximum"] = "Maimum"; // return "Maximum"; // Max++; // } // //if (TRmultiaddress.Count == 8) // //{ // // IWebElement multiclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[1]/a")); // // multiclick.Click(); // // Max++; // //} // if (TRmultiaddress.Count >= 6 && Max != 1) // { // foreach (IWebElement row in TRmultiaddress) // { // TDmultiaddress = row.FindElements(By.TagName("td")); // if (!row.Text.Contains("Parcel Number") && !row.Text.Contains("Search") && row.Text.Trim() != "" && TDmultiaddress.Count == 5) // { // try // { // Parcelno = TDmultiaddress[0].Text.Trim(); // Ownername = TDmultiaddress[1].Text.Trim(); // parcellocation = TDmultiaddress[2].Text.Trim(); // string Multi = Ownername + "~" + parcellocation; // gc.insert_date(orderNumber, Parcelno, 1731, Multi, 1, DateTime.Now); // Max++; // } // catch { } // } // } // } // if (Max == 1) // { // IWebElement multiclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[1]/a")); // multiclick.Click(); // Thread.Sleep(2000); // } // if (Max > 1) // { // HttpContext.Current.Session["multiParcel_Maui"] = "Yes"; // driver.Quit(); // return "MultiParcel"; // } // if (Max == 0) // { // HttpContext.Current.Session["Zero_Maui"] = "Zero"; // driver.Quit(); // return "No Data Found"; // } //} //if (searchType == "parcel") //{ // try // { // driver.FindElement(By.LinkText("Search by Parcel Number")).SendKeys(Keys.Enter); // Thread.Sleep(1000); // } // catch { } // string s1 = "", s2 = "", s3 = "", s4 = "", s5 = "", s6 = ""; // if (Convert.ToInt16(parcelNumber.Replace("-", "").Count()) != 12) // { // string[] parcelSplit = parcelNumber.Split('-'); // s1 = parcelSplit[0]; // s2 = parcelSplit[1]; // s3 = parcelSplit[2]; // s4 = parcelSplit[3]; // s5 = parcelSplit[4]; // s6 = parcelSplit[5]; // parcelNumber = s2 + s3 + s4 + s5 + s6; // } // else // { // parcelNumber = parcelNumber.Replace("-", ""); // } // driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[2]")).SendKeys(parcelNumber); // gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "HI", "Maui"); // driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[5]")).SendKeys(Keys.Enter); // Thread.Sleep(1000); // gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search Result", driver, "HI", "Maui"); // int Max = 0; // try // { // IWebElement multiaddress = driver.FindElement(By.XPath("/html/body/table/tbody")); // IList<IWebElement> TRmultiaddress = multiaddress.FindElements(By.TagName("tr")); // IList<IWebElement> THmultiaddress = multiaddress.FindElements(By.TagName("th")); // IList<IWebElement> TDmultiaddress; // if (TRmultiaddress.Count > 28) // { // HttpContext.Current.Session["multiParcel_Maui_Maximum"] = "Maimum"; // return "Maximum"; // Max++; // } // //if (TRmultiaddress.Count == 8) // //{ // // IWebElement multiclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[1]/a")); // // multiclick.Click(); // // Max++; // //} // if (TRmultiaddress.Count >= 6 && Max != 1) // { // foreach (IWebElement row in TRmultiaddress) // { // TDmultiaddress = row.FindElements(By.TagName("td")); // if (!row.Text.Contains("Parcel Number") && !row.Text.Contains("Search") && row.Text.Trim() != "" && TDmultiaddress.Count == 5) // { // try // { // Parcelno = TDmultiaddress[0].Text.Trim(); // Ownername = TDmultiaddress[1].Text.Trim(); // parcellocation = TDmultiaddress[2].Text.Trim(); // string Multi = Ownername + "~" + parcellocation; // gc.insert_date(orderNumber, Parcelno, 1731, Multi, 1, DateTime.Now); // Max++; // } // catch { } // } // } // } // if (Max == 1) // { // IWebElement multiclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[1]/a")); // multiclick.Click(); // Thread.Sleep(2000); // } // if (Max > 1) // { // HttpContext.Current.Session["multiParcel_Maui"] = "Yes"; // driver.Quit(); // return "MultiParcel"; // } // if (Max == 0) // { // HttpContext.Current.Session["Zero_Maui"] = "Zero"; // driver.Quit(); // return "No Data Found"; // } // } // catch { } //} //if (searchType == "ownername") //{ // try // { // driver.FindElement(By.LinkText("Search by Owner Name")).SendKeys(Keys.Enter); // Thread.Sleep(1000); // } // catch { } // driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[2]")).SendKeys(ownername); // gc.CreatePdf_WOP(orderNumber, "Ownername Search", driver, "HI", "Maui"); // driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[5]")).SendKeys(Keys.Enter); // Thread.Sleep(1000); // gc.CreatePdf_WOP(orderNumber, "Ownername Search Result", driver, "HI", "Maui"); // string ParcelNum = "", Owner_Name = "", ParcelLocation = ""; // int Max = 0; // try // { // IWebElement multiaddress = driver.FindElement(By.XPath("/html/body/table/tbody")); // IList<IWebElement> TRmultiaddress = multiaddress.FindElements(By.TagName("tr")); // IList<IWebElement> THmultiaddress = multiaddress.FindElements(By.TagName("th")); // IList<IWebElement> TDmultiaddress; // if (TRmultiaddress.Count > 28) // { // HttpContext.Current.Session["multiParcel_Maui_Maximum"] = "Maimum"; // return "Maximum"; // Max++; // } // if (TRmultiaddress.Count >= 6 && Max != 1) // { // foreach (IWebElement row in TRmultiaddress) // { // TDmultiaddress = row.FindElements(By.TagName("td")); // if (!row.Text.Contains("Parcel Number") && !row.Text.Contains("Search") && row.Text.Trim() != "" && TDmultiaddress.Count == 5) // { // try // { // Parcelno = TDmultiaddress[0].Text.Trim(); // Ownername = TDmultiaddress[1].Text.Trim(); // parcellocation = TDmultiaddress[2].Text.Trim(); // string Multi = Ownername + "~" + parcellocation; // gc.insert_date(orderNumber, Parcelno, 1731, Multi, 1, DateTime.Now); // Max++; // } // catch { } // } // } // } // if (Max == 1) // { // IWebElement multiclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[1]/a")); // multiclick.Click(); // Thread.Sleep(2000); // } // if (Max > 1) // { // HttpContext.Current.Session["multiParcel_Maui"] = "Yes"; // driver.Quit(); // return "Multiparcel"; // } // if (Max == 0) // { // HttpContext.Current.Session["Zero_Maui"] = "Zero"; // driver.Quit(); // return "No Record Found"; // } // } // catch { } //} //// Property Details //string propertydata = driver.FindElement(By.XPath("/html/body/center[2]/table[2]/tbody")).Text; //string LocationAddress = "", Yearbuilt = "", LandArea = "", MailingAddress = "", Propertyclass = ""; //string OwnerName = "", LegalInformation = "", NeighborhoodCode = "", strYearbuilt = ""; //parcelNumber = gc.Between(propertydata, "Parcel Number", "Location Address").Trim(); //OwnerName = gc.Between(propertydata, "Owner Name", "Today's Date").Replace("Fee Owner", "").Replace("Show All Owners and Addresses", "").Trim(); //LocationAddress = gc.Between(propertydata, "Location Address", "Parcel Map").Trim(); //MailingAddress = gc.Between(propertydata, "Mailing Address", "Parcel Number").Trim(); //LandArea = gc.Between(propertydata, "Land Area", "Legal Information").Trim(); //NeighborhoodCode = gc.Between(propertydata, "Neighborhood Code", "Land Area").Trim(); //LegalInformation = gc.Between(propertydata, "Legal Information", "Parcel Note").Trim(); //try //{ // strYearbuilt = driver.FindElement(By.XPath("/html/body/center[2]/table[6]/tbody")).Text; //} //catch { } //try //{ // if (!strYearbuilt.Contains("No improvement information available for this parcel")) // { // IWebElement Iyearbuilt = driver.FindElement(By.XPath("/html/body/center[2]/table[5]/tbody/tr[3]/td[3]")); // Yearbuilt = Iyearbuilt.Text.Trim(); // } //} //catch { } //string propertydetails = OwnerName + "~" + LocationAddress + "~" + MailingAddress + "~" + LegalInformation + "~" + Yearbuilt; //gc.insert_date(orderNumber, parcelNumber, 1727, propertydetails, 1, DateTime.Now); //gc.CreatePdf(orderNumber, parcelNumber, "Assessment Details", driver, "HI", "Maui"); //// Assessment Details //string valuetype = "", Information = ""; //try //{ // driver.FindElement(By.LinkText("Show Historical Assessments")).Click(); // Thread.Sleep(4000); // gc.CreatePdf(orderNumber, parcelNumber, "Assessment History Details", driver, "HI", "Maui"); //} //catch { } //try //{ // IWebElement Assessmentdetails = driver.FindElement(By.XPath("/html/body/center[2]/table[3]/tbody")); // IList<IWebElement> TRAssessmentdetails = Assessmentdetails.FindElements(By.TagName("tr")); // IList<IWebElement> THAssessmentdetails = Assessmentdetails.FindElements(By.TagName("th")); // IList<IWebElement> TDAssessmentdetails; // foreach (IWebElement row in TRAssessmentdetails) // { // TDAssessmentdetails = row.FindElements(By.TagName("td")); // if (TDAssessmentdetails.Count != 0 && !row.Text.Contains("Assessment Information") && row.Text.Trim() != "" && !row.Text.Contains("Year") && TDAssessmentdetails.Count == 9) // { // string AssessmentDetail = TDAssessmentdetails[0].Text + "~" + TDAssessmentdetails[1].Text + "~" + TDAssessmentdetails[2].Text + "~" + TDAssessmentdetails[3].Text + "~" + TDAssessmentdetails[4].Text + "~" + TDAssessmentdetails[5].Text + "~" + TDAssessmentdetails[6].Text + "~" + TDAssessmentdetails[7].Text + "~" + TDAssessmentdetails[8].Text; // gc.insert_date(orderNumber, parcelNumber, 1728, AssessmentDetail, 1, DateTime.Now); // } // } //} //catch { } //// Tax History Taxes //int tyear = 0; //try //{ // IWebElement ITaxyear = driver.FindElement(By.XPath("/html/body/center[2]/table[5]/tbody/tr[1]/td/font[1]/a")); // TaxYear = ITaxyear.Text.Replace("Tax Payments", "").Trim(); // tyear = Convert.ToInt16(TaxYear); //} //catch { } //if (tyear == 0) //{ // try // { // TaxYear = driver.FindElement(By.XPath("/html/body/center[2]/table[6]/tbody/tr[1]/td/font[1]/a")).Text; // TaxYear = TaxYear.Replace("Tax Payments", "").Trim(); // tyear = Convert.ToInt16(TaxYear); // } // catch { } //} ////read all tables //IList<IWebElement> tables = driver.FindElements(By.XPath("/html/body/center[2]/table")); //int count = tables.Count; //int j = 0; //foreach (IWebElement tab in tables) //{ // if (tab.Text.Contains("Current Tax Bill Information")) // { // IList<IWebElement> currtaxbill = tab.FindElements(By.XPath("tbody/tr")); // IList<IWebElement> TDCurrentTax; // foreach (IWebElement row in currtaxbill) // { // TDCurrentTax = row.FindElements(By.TagName("td")); // if (TDCurrentTax.Count != 0 && !row.Text.Contains("Current Tax") && row.Text.Trim() != "" && !row.Text.Contains("Tax Period") && !row.Text.Contains("pay online")) // { // if (TDCurrentTax.Count == 10) // { // string CurrentTaxDetail1 = TDCurrentTax[0].Text + "~" + TDCurrentTax[1].Text + "~" + TDCurrentTax[2].Text + "~" + TDCurrentTax[3].Text + "~" + TDCurrentTax[4].Text + "~" + TDCurrentTax[5].Text + "~" + TDCurrentTax[6].Text + "~" + TDCurrentTax[7].Text + "~" + TDCurrentTax[8].Text + "~" + TDCurrentTax[9].Text; // gc.insert_date(orderNumber, parcelNumber, 1738, CurrentTaxDetail1, 1, DateTime.Now); // } // if (TDCurrentTax.Count == 2) // { // string CurrentTaxDetail2 = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + TDCurrentTax[0].Text; // gc.insert_date(orderNumber, parcelNumber, 1738, CurrentTaxDetail2, 1, DateTime.Now); // } // } // } // } // else if (tab.Text.Contains("Historical Tax Information")) // { // int u = 0; // IList<IWebElement> taxhistoryvalue1 = tab.FindElements(By.XPath("tbody/tr")); // IList<IWebElement> TDTaxHistroy1; // foreach (IWebElement row in taxhistoryvalue1) // { // TDTaxHistroy1 = row.FindElements(By.TagName("td")); // if (TDTaxHistroy1.Count != 0 && !row.Text.Contains("Historical Tax") && row.Text.Trim() != "" && !row.Text.Contains("Penalty") && !row.Text.Contains("Click") && TDTaxHistroy1.Count == 7) // { // if (u < 3) // { // IWebElement Ilink = TDTaxHistroy1[0].FindElement(By.TagName("a")); // string URL = Ilink.GetAttribute("href"); // MailURL.Add(URL); // u++; // } // string TaxHistoryDetail = TDTaxHistroy1[0].Text + "~" + TDTaxHistroy1[1].Text + "~" + TDTaxHistroy1[2].Text + "~" + TDTaxHistroy1[3].Text + "~" + TDTaxHistroy1[4].Text + "~" + TDTaxHistroy1[5].Text + "~" + TDTaxHistroy1[6].Text; // gc.insert_date(orderNumber, parcelNumber, 1729, TaxHistoryDetail, 1, DateTime.Now); // } // } // } // else if (tab.Text.Contains("Sales Information")) // { // IList<IWebElement> saleshisvalue = tab.FindElements(By.XPath("tbody/tr")); // IList<IWebElement> tdsaleshis; // foreach (IWebElement row in saleshisvalue) // { // tdsaleshis = row.FindElements(By.TagName("td")); // if (tdsaleshis.Count != 0 && !row.Text.Contains("Sale Date") && row.Text.Trim() != "" && !row.Text.Contains("No sales information associated") && tdsaleshis.Count == 9) // { // string salesDetail = tdsaleshis[0].Text + "~" + tdsaleshis[1].Text + "~" + tdsaleshis[2].Text + "~" + tdsaleshis[3].Text + "~" + tdsaleshis[4].Text + "~" + tdsaleshis[5].Text + "~" + tdsaleshis[6].Text + "~" + tdsaleshis[7].Text + "~" + tdsaleshis[8].Text; // gc.insert_date(orderNumber, parcelNumber, 1820, salesDetail, 1, DateTime.Now); // } // } // } //} //int c = 0; //foreach (string suburl in MailURL) //{ // driver.Navigate().GoToUrl(suburl); // Thread.Sleep(3000); // IList<IWebElement> ptables = driver.FindElements(By.XPath("/html/body/center[2]/table")); // int pcount = ptables.Count; // foreach (IWebElement tabp in ptables) // { // if (tabp.Text.Contains("Tax Payment Information ")) // { // gc.CreatePdf(orderNumber, parcelNumber, "Tax Payment Information" + c, driver, "HI", "Maui"); // IList<IWebElement> taxbill = tabp.FindElements(By.XPath("tbody/tr")); // IList<IWebElement> TDTax; // foreach (IWebElement row in taxbill) // { // TDTax = row.FindElements(By.TagName("td")); // if (TDTax.Count != 0 && !row.Text.Contains("Tax Payment") && row.Text.Trim() != "" && !row.Text.Contains("Penalty") && !row.Text.Contains("Totals") && TDTax.Count == 6) // { // string TaxPayHistoryDetail1 = TDTax[0].Text + "~" + TDTax[1].Text + "~" + TDTax[2].Text + "~" + TDTax[3].Text + "~" + TDTax[4].Text + "~" + TDTax[5].Text + "~" + TaxAuthority; // gc.insert_date(orderNumber, parcelNumber, 1730, TaxPayHistoryDetail1, 1, DateTime.Now); // } // } // } // } // c++; //} //DB Columns //Owner Name~Property Address~Mailing Address~Legal Description~Year Built---- - 1---- 1727 //Assessment Year~Property Class~Market Land Value~Agricultural Land Value~Assessed Land Value~Building Value~Total Assessed Value~Total Exemption Value~Total Net Taxable Value-- - 2--1728 //Tax Year~Tax Amount~Paid Amount~Penalty~Interest~Other~Due Amount-- 3--1729 //Tax Year~Paid Date~Paid Amount~Penalty~Interest~Other~Taxing Authority-- 4--1730 //Tax Period~Description~Original Due Date~Taxes Assessment~Tax Credits~Net Tax~Penalty~Interest~Other~Amount Due-- - 5-- - 1738 try { driver.FindElement(By.XPath("//*[@id='appBody']/div[5]/div/div/div[3]/a")).Click(); Thread.Sleep(2000); } catch { } string address = ""; if (Direction != "") { address = houseno + " " + Direction + " " + sname + " " + stype + " " + account; } else { address = houseno + " " + sname + " " + stype + " " + account; } if (searchType == "address") { driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_txtAddress")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "HI", "Maui"); driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { string Owner = "", Property_Address = "", MultiAddress_details = ""; 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, "HI", "Maui"); 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, 1731, MultiAddress_details, 1, DateTime.Now); } AddressmaxCheck++; } } if (MultiAddressTR.Count > 25) { HttpContext.Current.Session["multiParcel_Maui_Maximum"] = "Maimum"; driver.Quit(); return("Maximum"); } else { HttpContext.Current.Session["multiParcel_Maui"] = "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["Zero_Maui"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { driver.FindElement(By.Id("ctlBodyPane_ctl02_ctl01_txtParcelID")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "ParcelSearch", driver, "HI", "Maui"); 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["Zero_Maui"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "ownername") { driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_txtName")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "HI", "Maui"); driver.FindElement(By.Id("ctlBodyPane_ctl00_ctl01_btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); try { string Owner = "", Property_Address = "", MultiAddress_details = ""; 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, "HI", "Maui"); 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, 1731, MultiAddress_details, 1, DateTime.Now); } AddressmaxCheck++; } } if (MultiAddressTR.Count > 25) { HttpContext.Current.Session["multiParcel_Maui_Maximum"] = "Maimum"; driver.Quit(); return("Maximum"); } else { HttpContext.Current.Session["multiParcel_Maui"] = "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["Zero_Maui"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } string PropertyAddress = "", NeighborhoodCode = "", LegalInformation = "", LandArea = "", ParcelNote = "", MaillingAddress = "", OwnerName = "", YearBuilt = ""; //Property Details IWebElement tbmulti11 = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl00_mSection']/div/table[1]/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 (row.Text.Contains("Parcel Number")) { parcelNumber = TDmulti11[1].Text; } if (row.Text.Contains("Location Address")) { try { PropertyAddress = gc.Between(tbmulti11.Text, "Location Address", "Neighborhood Code"); } catch { } } if (row.Text.Contains("Neighborhood Code")) { NeighborhoodCode = TDmulti11[1].Text; } if (row.Text.Contains("Legal Information")) { LegalInformation = TDmulti11[1].Text; } if (row.Text.Contains("Land Area")) { LandArea = TDmulti11[1].Text; } if (row.Text.Contains("Parcel Note")) { ParcelNote = TDmulti11[1].Text; } } } try { MaillingAddress = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_divMailingAddress")).Text.Replace("Mailing Address\r\n", "").Replace("\r\n", " ").Trim(); } catch { } try { string[] owner = driver.FindElement(By.Id("ctlBodyPane_ctl01_ctl01_lblOtherNames")).Text.Replace("Owner Names\r\n", "").Replace(" ", "").Replace("Fee Owner\r\n", "~").Replace("Fee Owner", "~").Trim().Split('~'); if (owner.Count() == 3) { OwnerName = owner[0]; } if (owner.Count() == 2) { OwnerName = owner[0]; } } catch { } try { IWebElement IyearBuilt = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl08_mSection']/div")); IList <IWebElement> TRIyearBuilt = IyearBuilt.FindElements(By.TagName("tr")); IList <IWebElement> TDIyearBuilt; foreach (IWebElement built in TRIyearBuilt) { TDIyearBuilt = built.FindElements(By.TagName("td")); if (TDIyearBuilt.Count != 0) { if (built.Text.Contains("Year Built") && !built.Text.Contains("Eff Year Built")) { YearBuilt = TDIyearBuilt[1].Text; break; } } } } catch { } string PropertyDetails = PropertyAddress + "~" + MaillingAddress + "~" + OwnerName + "~" + NeighborhoodCode + "~" + LegalInformation + "~" + LandArea + "~" + ParcelNote + "~" + YearBuilt + "~" + TaxAuthority; gc.CreatePdf(orderNumber, parcelNumber, "Property Details", driver, "HI", "Maui"); gc.insert_date(orderNumber, parcelNumber, 1727, PropertyDetails, 1, DateTime.Now); //Property Address~Mailling Address~Owner Name~Neighborhood Code~Legal Information~Land Area~Parcel Note~Year Built~Tax Authority //Assessment Details try { IWebElement clickfirst = driver.FindElement(By.Id("btndivHistorical")); IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", clickfirst); Thread.Sleep(2000); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcelNumber, "Property Assessment Details", driver, "HI", "Maui"); } catch { } IWebElement AssmTb = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl02_ctl01_gvValuationHistorical']/tbody")); IList <IWebElement> AssmTr = AssmTb.FindElements(By.TagName("tr")); IList <IWebElement> AssmTd; foreach (IWebElement Assm in AssmTr) { AssmTd = Assm.FindElements(By.TagName("td")); if (AssmTd.Count != 0 && Assm.Text.Trim() != "") { string AssessmentDetails = AssmTd[0].Text + "~" + AssmTd[1].Text + "~" + AssmTd[2].Text + "~" + AssmTd[3].Text + "~" + AssmTd[4].Text + "~" + AssmTd[5].Text + "~" + AssmTd[6].Text + "~" + AssmTd[7].Text + "~" + AssmTd[8].Text; gc.insert_date(orderNumber, parcelNumber, 1728, AssessmentDetails, 1, DateTime.Now); //Year~Tax Class~Market Land Value~Agricultural Land Value~Assessed Land Value~Building Value~Total Assessed Value~Total Exemption Value~Total Net Taxable Value } } //IWebElement ILand = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl04_ctl01_gvwLand']/tbody")); //IList<IWebElement> ILandTr = ILand.FindElements(By.TagName("tr")); //IList<IWebElement> ILandTd; //foreach (IWebElement land in ILandTr) //{ // ILandTd = land.FindElements(By.TagName("td")); // if (ILandTd.Count != 0) // { // string LandDetails = ILandTd[0].Text + "~" + ILandTd[1].Text + "~" + ILandTd[2].Text + "~" + ILandTd[3].Text; // gc.insert_date(orderNumber, parcelNumber, 1729, LandDetails, 1, DateTime.Now); // //PropertyClass~Square Footage~Acerage~Agricultural USe Indicator // } //} AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); IWebElement ISale = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl11_ctl01_gvwSales']/tbody")); IList <IWebElement> ISaleTr = ISale.FindElements(By.TagName("tr")); IList <IWebElement> ISaleTd; foreach (IWebElement sale in ISaleTr) { ISaleTd = sale.FindElements(By.TagName("td")); if (ISaleTd.Count != 0 && sale.Text.Trim() != "") { string SaleDetails = ISaleTd[0].Text + "~" + ISaleTd[1].Text + "~" + ISaleTd[2].Text + "~" + ISaleTd[3].Text + "~" + ISaleTd[4].Text + "~" + ISaleTd[5].Text + "~" + ISaleTd[6].Text + "~" + ISaleTd[7].Text; gc.insert_date(orderNumber, parcelNumber, 1730, SaleDetails, 1, DateTime.Now); //Sale Date~Price~Instrument Number~Instrument Type~Valid Sale or Reason~Document Type~Record Date~Land Court~Land Court Cert } } IWebElement ITaxHistory = driver.FindElement(By.XPath("//*[@id='ctlBodyPane_ctl05_ctl01_gvwHistoricalTax']/tbody")); IList <IWebElement> ITaxHistoryTr = ITaxHistory.FindElements(By.TagName("tr")); IList <IWebElement> ITaxHistoryTd; foreach (IWebElement history in ITaxHistoryTr) { ITaxHistoryTd = history.FindElements(By.TagName("td")); if (ITaxHistoryTd.Count != 0 && history.Text.Trim() != "") { string TaxHistoryDetails = ITaxHistoryTd[0].Text + "~" + ITaxHistoryTd[1].Text + "~" + ITaxHistoryTd[2].Text + "~" + ITaxHistoryTd[3].Text + "~" + ITaxHistoryTd[4].Text + "~" + ITaxHistoryTd[5].Text + "~" + ITaxHistoryTd[6].Text; gc.insert_date(orderNumber, parcelNumber, 1738, TaxHistoryDetails, 1, DateTime.Now); //Year~Tax~Payment and Credits~Penalty~Interest~Other~Amount Due } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Quit(); gc.mergpdf(orderNumber, "HI", "Maui"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "HI", "Maui", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_cuyahogaOH(string streetno, string direction, string streetname, string streettype, string unitnumber, string ownernm, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; List <string> taxinformation = new List <string>(); string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string Parcel_number = "", Tax_Authority = "", address = "", Halfyeardue = "", Propertyresult = "", Valuvationresult = "", Multiaddressadd = "", MailingAddress = ""; //var driverService = PhantomJSDriverService.CreateDefaultService(); //driverService.HideCommandPromptWindow = true; //driver = new PhantomJSDriver(); //driver = new ChromeDriver(); StartTime = DateTime.Now.ToString("HH:mm:ss"); var option = new ChromeOptions(); option.AddArgument("No-Sandbox"); using (driver = new ChromeDriver(option)) { try { if (streetname.Any(char.IsDigit)) { streetname = Regex.Match(streetname, @"\d+").Value; } if (direction != "") { address = streetno + " " + direction + " " + streetname + " " + streettype; } else { address = streetno + " " + streetname + " " + streettype; } if (searchType == "titleflex") { if (direction != "") { address = streetno + " " + direction + " " + streetname + " " + streettype; } else { address = streetno + " " + streetname + " " + streettype; } //string titleaddress = address; gc.TitleFlexSearch(orderNumber, "", "", address, "OH", "Cuyahoga"); 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["Zero_cuyahoga"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } driver.Navigate().GoToUrl("http://myplace.cuyahogacounty.us/"); if (searchType == "address") { driver.FindElement(By.Id("Address")).Click(); Thread.Sleep(1000); //if (address.Any(char.IsDigit)) //{ // address = Regex.Match(address, @"\d+").Value; //} driver.FindElement(By.Id("txtData")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "OH", "Cuyahoga"); driver.FindElement(By.Id("btnSearch")).Click(); Thread.Sleep(6000); try { IWebElement ul_element = driver.FindElement(By.Id("AddressInfo")); IList <IWebElement> liall = ul_element.FindElements(By.TagName("li")); int u = 0, y = 0, A = 0; foreach (var item in liall) { if (item.Text != "" && !item.Text.Contains("No results found.")) { if (u == 0) { A++; u = 1; } Multiaddressadd += item.Text + "~"; y = 0; } else { if (y == 0 & Multiaddressadd.Trim() != "") { u = 0; y = 1; string[] split = Multiaddressadd.Split('~'); //string res = ""; string percalno = split[0]; string Ownar = split[1]; string Address = split[2]; gc.insert_date(orderNumber, percalno, 1415, Address + "~" + Ownar, 1, DateTime.Now); gc.CreatePdf_WOP(orderNumber, "Address Before", driver, "OH", "Cuyahoga"); } Multiaddressadd = ""; } //if (item.Text.Contains("No results found.")) //{ // HttpContext.Current.Session["Zero_cuyahoga"] = "Zero"; // driver.Quit(); // return "No Data Found"; //} } if (A < 25 && A > 1) { HttpContext.Current.Session["multiParcel_cuyahoga"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (A > 25) { HttpContext.Current.Session["multiParcel_cuyahoga_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } try { IWebElement INodata = driver.FindElement(By.Id("AddressInfo")); if (INodata.Text.Contains("No results found")) { HttpContext.Current.Session["Zero_cuyahoga"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "ownername") { driver.FindElement(By.Id("txtData")).SendKeys(ownernm); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "OH", "Cuyahoga"); driver.FindElement(By.Id("btnSearch")).Click(); Thread.Sleep(2000); try { string zerodata = driver.FindElement(By.XPath("//*[@id='AddressInfo']/li/p")).Text; gc.CreatePdf_WOP(orderNumber, "Address Before", driver, "OH", "Cuyahoga"); if (zerodata != "") { HttpContext.Current.Session["Zero_cuyahoga"] = "Zero"; driver.Quit(); return(""); } } catch { } try { IWebElement ul_element = driver.FindElement(By.Id("AddressInfo")); IList <IWebElement> liall = ul_element.FindElements(By.TagName("li")); gc.CreatePdf_WOP(orderNumber, "Address Before", driver, "OH", "Cuyahoga"); int u = 0, y = 0, A = 0; foreach (var item in liall) { if (item.Text != "") { if (u == 0) { A++; u = 1; } Multiaddressadd += item.Text + "~"; y = 0; } else { if (y == 0) { u = 0; y = 1; string[] split = Multiaddressadd.Split('~'); //string res = ""; string percalno = split[0]; string Ownar = split[1]; string Address = split[2]; gc.insert_date(orderNumber, percalno, 1415, Address + "~" + Ownar, 1, DateTime.Now); } Multiaddressadd = ""; } } if (A > 26 && A > 1) { HttpContext.Current.Session["multiParcel_cuyahoga"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (A > 25) { HttpContext.Current.Session["multiParcel_cuyahoga_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } } catch { } } if (searchType == "parcel") { if (parcelNumber.Trim() != "") { driver.FindElement(By.Id("Parcel")).Click(); Thread.Sleep(1000); driver.FindElement(By.Id("txtData")).SendKeys(parcelNumber.Replace("-", "")); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "OH", "Cuyahoga"); driver.FindElement(By.Id("btnSearch")).Click(); Thread.Sleep(2000); } if (parcelNumber.Trim() == "") { HttpContext.Current.Session["Zero_cuyahoga"] = "Zero"; driver.Quit(); return("No Data Found"); } try { IWebElement INodata = driver.FindElement(By.Id("AddressInfo")); if (INodata.Text.Contains("No results found")) { HttpContext.Current.Session["Zero_cuyahoga"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } Thread.Sleep(6000); driver.FindElement(By.Id("btnPropertyCardInfo")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf_WOP(orderNumber, "Property click", driver, "OH", "Cuyahoga"); string parceldiv = driver.FindElement(By.XPath("//*[@id='dataBody']/div[1]/div[3]")).Text; Parcel_number = GlobalClass.After(parceldiv, "Parcel:"); string propertydetailtable = driver.FindElement(By.XPath("//*[@id='dataBody']/table[1]/tbody")).Text; string Ownername = gc.Between(propertydetailtable, "Owner", "Address"); string Propertyaddress = gc.Between(propertydetailtable.Replace("\r\n", " "), "Address", "Land Use"); string Legal = gc.Between(propertydetailtable, "Legal Description", "Neighborhood"); string yearbuilt = driver.FindElement(By.XPath("//*[@id='dataBody']/table[2]/tbody/tr[3]/td[2]")).Text; string Occupancy = driver.FindElement(By.XPath("//*[@id='dataBody']/table[2]/tbody/tr[1]/td[4]")).Text; string Assessyeartable = driver.FindElement(By.XPath("//*[@id='dataBody']/div[4]/div[2]/table/tbody/tr[1]/td[1]")).Text; string AssessmentYear = GlobalClass.Before(Assessyeartable, "Values"); string Propertydetail = Ownername + "~" + Propertyaddress + "~" + Legal + "~" + yearbuilt + "~" + Occupancy + "~" + AssessmentYear; //gc.CreatePdf(orderNumber, Parcel_number, "Property Details", driver, "OH", "Cuyahoga"); gc.insert_date(orderNumber, Parcel_number, 1398, Propertydetail, 1, DateTime.Now); IWebElement valuvationtable = driver.FindElement(By.XPath("//*[@id='dataBody']/div[4]/div[2]/table/tbody")); IList <IWebElement> valuvationrow = valuvationtable.FindElements(By.TagName("tr")); IList <IWebElement> valuvationid; foreach (IWebElement valuvation in valuvationrow) { valuvationid = valuvation.FindElements(By.TagName("td")); if (valuvationid.Count != 0 & !valuvation.Text.Contains("Taxable") & !valuvation.Text.Contains("Land Use")) { Valuvationresult += valuvationid[4].Text + "~"; } } //string Currenturl = driver.Url; //var chromeOptions = new ChromeOptions(); //var driver1 = new ChromeDriver(chromeOptions); //try //{ // var downloadDirectory = ConfigurationManager.AppSettings["AutoPdf"]; // chromeOptions.AddUserProfilePreference("download.default_directory", downloadDirectory); // chromeOptions.AddUserProfilePreference("download.prompt_for_download", false); // chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true"); // chromeOptions.AddUserProfilePreference("plugins.always_open_pdf_externally", true); // // driver1.Navigate().GoToUrl(Currenturl); // string fileName = ""; // driver1.Navigate().GoToUrl("http://myplace.cuyahogacounty.us/"); // driver1.FindElement(By.Id("Parcel")).Click(); // Thread.Sleep(1000); // driver1.FindElement(By.Id("txtData")).SendKeys(Parcel_number.Replace("-", "").Trim()); // driver1.FindElement(By.Id("btnSearch")).Click(); // Thread.Sleep(2000); // driver1.FindElement(By.Id("btnPropertyCardInfo")).SendKeys(Keys.Enter); // Thread.Sleep(5000); // driver1.FindElement(By.XPath("//*[@id='viewPropertyHeader']/div[2]/div/button")).Click(); // Thread.Sleep(3000); // fileName = Parcel_number.Replace("-", "").Trim() + ".pdf"; // gc.AutoDownloadFile(orderNumber, Parcel_number.Replace("-", ""), "Cuyahoga", "OH", fileName); // driver1.Quit(); //} //catch (Exception ex) { driver1.Quit(); } //Tax Information driver.Navigate().GoToUrl("https://treasurer.cuyahogacounty.us/payments/real_prop/srch_criteria.htm"); driver.FindElement(By.Name("parcelNum")).SendKeys(Parcel_number.Trim().Replace("-", "")); Thread.Sleep(2000); gc.CreatePdf(orderNumber, Parcel_number.Replace("-", ""), "Tax click", driver, "OH", "Cuyahoga"); IWebElement parcelClick = driver.FindElement(By.XPath("//*[@id='byParcelNum']/form/table[2]/tbody/tr[1]/td[2]/a/img")); parcelClick.Click(); Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); gc.CreatePdf(orderNumber, Parcel_number.Replace("-", ""), "Tax Parcel click window", driver, "OH", "Cuyahoga"); IWebElement Atag = driver.FindElement(By.XPath("/html/body/div/table/tbody/tr/td[1]/table/tbody/tr[2]/td/form/table/tbody/tr[2]/td")); IWebElement Href = Atag.FindElement(By.TagName("a")); Href.Click(); Thread.Sleep(2000); driver.SwitchTo().Window(driver.WindowHandles.Last()); gc.CreatePdf(orderNumber, Parcel_number.Replace("-", ""), "Homestage window Last", driver, "OH", "Cuyahoga"); string Homestage = driver.FindElement(By.XPath("//*[@id='PropTax']/table[3]/tbody/tr[2]/td[3]")).Text; string homstageresult = Valuvationresult + Homestage; gc.insert_date(orderNumber, Parcel_number, 1404, homstageresult, 1, DateTime.Now); Tax_Authority = driver.FindElement(By.XPath("//*[@id='PerfBill']/div/strong")).Text; try { ByVisibleElement(driver.FindElement(By.XPath("//*[@id='PropTax']/table[5]/tbody/tr[2]/td[2]/table[2]/tbody"))); gc.CreatePdf(orderNumber, Parcel_number.Replace("-", ""), "Homestage window Last 2", driver, "OH", "Cuyahoga"); } catch { } driver.FindElement(By.LinkText("View full year summary")).Click(); Thread.Sleep(2000); //gc.CreatePdf(orderNumber, Parcel_number, "Tax Summar Window Full Year", driver, "OH", "Cuyahoga"); int Currentyear = DateTime.Now.Year; int curr = 0; //Tax_Authority = GlobalClass.Before(taxautable, "DISCLAIMER"); for (int i = 0; i < 3; i++) { try { IWebElement PropertyInformation = driver.FindElement(By.Id("year")); SelectElement PropertyInformationSelect = new SelectElement(PropertyInformation); PropertyInformationSelect.SelectByValue(Currentyear.ToString()); Thread.Sleep(3000); } catch { Currentyear--; curr++; } try { if (curr == 1) { IWebElement PropertyInformation = driver.FindElement(By.Id("year")); SelectElement PropertyInformationSelect = new SelectElement(PropertyInformation); PropertyInformationSelect.SelectByValue(Currentyear.ToString()); Thread.Sleep(3000); curr = 0; } } catch { } gc.CreatePdf(orderNumber, Parcel_number.Replace("-", ""), "Tax Summar Window Full Year" + Currentyear, driver, "OH", "Cuyahoga"); IWebElement PropertyInformation1 = driver.FindElement(By.Id("year")); SelectElement PropertyInformationSelect1 = new SelectElement(PropertyInformation1); //PropertyInformationSelect1.SelectByValue(Currentyear.ToString()); string taxyear = PropertyInformationSelect1.SelectedOption.Text; string taxtable = driver.FindElement(By.XPath("//*[@id='form1']/table[1]/tbody/tr[2]/td/table[1]/tbody")).Text; string taxbill = gc.Between(taxtable, "PRIMARY OWNERS", "SECONDARY OWNERS"); Halfyeardue = ""; try { string Halfyeardue1 = driver.FindElement(By.XPath("//*[@id='form1']/table[1]/tbody/tr[2]/td/table[2]/tbody/tr[23]/td")).Text; Halfyeardue = GlobalClass.After(Halfyeardue1, "HALF YEAR DUE"); } catch { } string Total_Charges = "", TatalPayment = "", Full_yearbal = ""; try { Total_Charges = driver.FindElement(By.XPath("//*[@id='form1']/table[1]/tbody/tr[2]/td/table[2]/tbody/tr[21]/td[2]")).Text; TatalPayment = driver.FindElement(By.XPath("//*[@id='form1']/table[1]/tbody/tr[2]/td/table[2]/tbody/tr[21]/td[3]")).Text; Full_yearbal = driver.FindElement(By.XPath("//*[@id='form1']/table[1]/tbody/tr[2]/td/table[2]/tbody/tr[21]/td[4]")).Text; } catch { } string taxinforesult = taxyear + "~" + taxbill + "~" + Halfyeardue + "~" + Total_Charges + "~" + TatalPayment + "~" + Full_yearbal + "~" + Tax_Authority; gc.insert_date(orderNumber, Parcel_number, 1403, taxinforesult, 1, DateTime.Now); //1403 //full Year Charge try { string Fullyear = driver.FindElement(By.XPath("//*[@id='form1']/table[1]/tbody/tr[2]/td/table[2]/tbody")).Text; string GrossTax = gc.Between(Fullyear, "GROSS TAX", "FULL RATE"); string Less = gc.Between(Fullyear, "LESS 920 RED", "920 RED RATE"); string subtotal = gc.Between(Fullyear, "SUB TOTAL", "EFFECTIVE RATE"); } catch { } try { ByVisibleElement(driver.FindElement(By.XPath("//*[@id='form1']/table[2]/tbody"))); gc.CreatePdf(orderNumber, Parcel_number.Replace("-", ""), "Tax Summar Window Full Year 2" + Currentyear, driver, "OH", "Cuyahoga"); } catch { } IWebElement paymenttable = driver.FindElement(By.XPath("//*[@id='form1']/table[2]/tbody")); IList <IWebElement> Paymentrow = paymenttable.FindElements(By.TagName("tr")); IList <IWebElement> Paymentid; foreach (IWebElement Payment in Paymentrow) { Paymentid = Payment.FindElements(By.TagName("td")); if (Paymentid.Count == 5 && !Payment.Text.Contains("TAXSET")) { string PaymentResult = taxyear + "~" + Paymentid[0].Text + "~" + Paymentid[1].Text + "~" + Paymentid[2].Text + "~" + Paymentid[3].Text + "~" + Paymentid[4].Text; gc.insert_date(orderNumber, Parcel_number.Replace("-", ""), 1405, PaymentResult, 1, DateTime.Now); } } try { IWebElement flagestable = driver.FindElement(By.XPath("//*[@id='form1']/table[1]/tbody/tr[2]/td/table[2]/tbody/tr[4]/td[1]/table/tbody")); IList <IWebElement> flagesrow = flagestable.FindElements(By.TagName("tr")); IList <IWebElement> flageid; foreach (IWebElement flag in flagesrow) { flageid = flag.FindElements(By.TagName("td")); if (flageid.Count == 2) { string Flageresult = taxyear + "~" + flageid[0].Text + "~" + flageid[1].Text; gc.insert_date(orderNumber, Parcel_number, 1406, Flageresult, 1, DateTime.Now); } } } catch { } try { IWebElement flagestable = driver.FindElement(By.XPath("//*[@id='form1']/table[1]/tbody/tr[2]/td/table[2]/tbody")); IList <IWebElement> flagesrow = flagestable.FindElements(By.TagName("tr")); IList <IWebElement> flageid; foreach (IWebElement flag in flagesrow) { flageid = flag.FindElements(By.TagName("td")); if (flag.Text.Contains("OWN OCCUPANCY CRD") || flag.Text.Contains("HOMESTEAD") || flag.Text.Contains("FORECLOSURE") || flag.Text.Contains("CERT. PEND.") || flag.Text.Contains("CERT. SOLD")) { string Flageresult = taxyear + "~" + flageid[4].Text + "~" + flageid[5].Text; gc.insert_date(orderNumber, Parcel_number, 1406, Flageresult, 1, DateTime.Now); } if (flag.Text.Contains("PAYMENT PLAN")) { string Flageresult = taxyear + "~" + flageid[3].Text + "~" + flageid[4].Text; gc.insert_date(orderNumber, Parcel_number, 1406, Flageresult, 1, DateTime.Now); break; } } } catch { } Currentyear--; } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "OH", "Cuyahoga", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "OH", "Cuyahoga"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_Duval(string streetno, string streetname, string streettype, string unitnumber, string ownername, string parcelNumber, string searchType, string orderNumber) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; //GlobalClass.global_county = county; string outparcelno = "", siteaddr = "", mail_addr = "", owner1 = "", tax_dist = "", legal_desc = "", year_built = "", subdivision = "", propuse = ""; string valued_year = "", tax_year = "", assess_land = "", ass_improve = "", ass_total = "", tax_value = "", exem = "", pathid = "", Total_taxes = ""; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; int amccount = 0; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("https://paopropertysearch.coj.net/Basic/Search.aspx"); if (searchType == "titleflex") { string titleaddress = streetno + " " + streetname + " " + streettype + " " + unitnumber; gc.TitleFlexSearch(orderNumber, "", "", titleaddress, "FL", "Duval"); if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { driver.Quit(); return("MultiParcel"); } else if (HttpContext.Current.Session["titleparcel"].ToString() == "") { HttpContext.Current.Session["Nodata_DuvalFL"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") { driver.FindElement(By.Id("ctl00_cphBody_tbStreetNumber")).SendKeys(streetno); driver.FindElement(By.Id("ctl00_cphBody_tbStreetName")).SendKeys(streetname); driver.FindElement(By.Id("ctl00_cphBody_tbStreetUnit")).SendKeys(unitnumber); gc.CreatePdf_WOP(orderNumber, "Input Passed Address Search", driver, "FL", "Duval"); driver.FindElement(By.Id("ctl00_cphBody_bSearch")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Address Search Results", driver, "FL", "Duval"); string reccount = driver.FindElement(By.Id("ctl00_cphBody_lblResultsCount")).Text.Trim().Replace(",", ""); reccount = reccount.Replace(" properties found", ""); int count = Int32.Parse(reccount); if (count > 1) { multiparcel(orderNumber); driver.Quit(); return("MultiParcel"); } try { string nodata = driver.FindElement(By.XPath("//*[@id='noResults']/h3")).Text; if (nodata.Contains("No Results Found")) { HttpContext.Current.Session["Nodata_DuvalFL"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); } if (GlobalClass.titleparcel.Contains(".") || GlobalClass.titleparcel.Contains("-")) { parcelNumber = GlobalClass.titleparcel; } //ctl00_cphBody_tbRE6 //ctl00_cphBody_tbRE4 var Parsplit = parcelNumber.Split('-'); int count = parcelNumber.Replace("-", "").Count(); string Pa1 = ""; string Pa2 = ""; if (count == 10) { Pa1 = Parsplit[0]; Pa2 = Parsplit[1]; driver.FindElement(By.Id("ctl00_cphBody_tbRE6")).SendKeys(Pa1); driver.FindElement(By.Id("ctl00_cphBody_tbRE4")).SendKeys(Pa2); gc.CreatePdf_WOP(orderNumber, "Input Passed Parcel Search", driver, "FL", "Duval"); driver.FindElement(By.Id("ctl00_cphBody_bSearch")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Parcel Search Results", driver, "FL", "Duval"); string reccount = driver.FindElement(By.Id("ctl00_cphBody_lblResultsCount")).Text.Trim().Replace(",", ""); reccount = reccount.Replace(" properties found", ""); int count1 = Int32.Parse(reccount); if (count1 > 1) { multiparcel(orderNumber); driver.Quit(); return("MultiParcel"); } try { string nodata = driver.FindElement(By.XPath("//*[@id='noResults']/h3")).Text; if (nodata.Contains("No Results Found")) { HttpContext.Current.Session["Nodata_DuvalFL"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } } if (searchType == "ownername") { driver.FindElement(By.Id("ctl00_cphBody_tbName")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "Input Passed Ownername Search", driver, "FL", "Duval"); driver.FindElement(By.Id("ctl00_cphBody_bSearch")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Ownername Search Results", driver, "FL", "Duval"); string reccount = driver.FindElement(By.Id("ctl00_cphBody_lblResultsCount")).Text.Trim().Replace(",", ""); reccount = reccount.Replace(" properties found", ""); int count = Int32.Parse(reccount); if (count > 1) { multiparcel(orderNumber); driver.Quit(); return("MultiParcel"); } try { string nodata = driver.FindElement(By.XPath("//*[@id='noResults']/h3")).Text; if (nodata.Contains("No Results Found")) { HttpContext.Current.Session["Nodata_DuvalFL"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } Amrock amc = new Amrock(); //property details Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='ctl00_cphBody_gridResults']/tbody/tr[2]/td[1]/a")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, outparcelno, "Assessment Details", driver, "FL", "Duval"); ownername = driver.FindElement(By.Id("ctl00_cphBody_repeaterOwnerInformation_ctl00_lblOwnerName")).Text.Trim(); try { ownername += ","; ownername += driver.FindElement(By.Id("ctl00_cphBody_repeaterOwnerInformation_ctl01_lblOwnerName")).Text.Trim(); } catch { } siteaddr = driver.FindElement(By.XPath("//*[@id='primaryAddr']/div")).Text.Trim().Replace("\r\n", ","); outparcelno = driver.FindElement(By.Id("ctl00_cphBody_lblRealEstateNumber")).Text.Trim(); amc.TaxId = outparcelno; tax_dist = driver.FindElement(By.Id("ctl00_cphBody_lblTaxDistrict")).Text.Trim(); propuse = driver.FindElement(By.Id("ctl00_cphBody_lblPropertyUse")).Text.Trim(); subdivision = driver.FindElement(By.Id("ctl00_cphBody_lblSubdivision")).Text.Trim(); try { //amc Year Built year_built = driver.FindElement(By.Id("ctl00_cphBody_repeaterBuilding_ctl00_lblYearBuilt")).Text.Trim(); } catch { } gc.CreatePdf(orderNumber, outparcelno, "Assessment Details", driver, "FL", "Duval"); //legaldesc IWebElement legaldes = driver.FindElement(By.Id("ctl00_cphBody_gridLegal")); IList <IWebElement> legaldesRow = legaldes.FindElements(By.TagName("tr")); int rowcount = legaldesRow.Count; IList <IWebElement> legaldesRowTD; int a = 0; foreach (IWebElement rowid in legaldesRow) { legaldesRowTD = rowid.FindElements(By.TagName("td")); if (legaldesRowTD.Count != 0 && !rowid.Text.Contains("LN")) { if (a == 0) { legal_desc = legaldesRowTD[1].Text; } else { legal_desc += ","; legal_desc += legaldesRowTD[1].Text; } a++; } } string property = siteaddr + "~" + ownername + "~" + tax_dist + "~" + propuse + "~" + legal_desc + "~" + subdivision + "~" + year_built; gc.insert_date(orderNumber, outparcelno, 331, property, 1, DateTime.Now); //valuation Information IWebElement valuetableElement = driver.FindElement(By.XPath("//*[@id='propValue']/table")); IList <IWebElement> valuetableRow = valuetableElement.FindElements(By.TagName("tr")); IList <IWebElement> valuerowTD; IList <IWebElement> valuerowTH; List <string> history = new List <string>(); List <string> ValueMethod = new List <string>(); List <string> TotalBuildingValue = new List <string>(); List <string> ExtraFeatureValue = new List <string>(); List <string> LandValue_Market = new List <string>(); List <string> LandValue_Agric = new List <string>(); List <string> Just_MarketValue = new List <string>(); List <string> AssessedValue = new List <string>(); List <string> Cap_DiffPortability_Amt = new List <string>(); List <string> Exemptions = new List <string>(); List <string> TaxableValue = new List <string>(); int i = 0; foreach (IWebElement row in valuetableRow) { valuerowTH = row.FindElements(By.TagName("th")); valuerowTD = row.FindElements(By.TagName("td")); if (i == 0) { if (valuerowTH.Count != 0) { history.Add(valuerowTH[1].Text.Trim().Replace("\r\n", " ")); history.Add(valuerowTH[2].Text.Trim().Replace("\r\n", " ")); } } if (valuerowTD.Count != 0) { if (i == 1) { ValueMethod.Add(valuerowTD[0].Text); ValueMethod.Add(valuerowTD[1].Text); } else if (i == 2) { TotalBuildingValue.Add(valuerowTD[0].Text); TotalBuildingValue.Add(valuerowTD[1].Text); } else if (i == 3) { ExtraFeatureValue.Add(valuerowTD[0].Text); ExtraFeatureValue.Add(valuerowTD[1].Text); } else if (i == 4) { LandValue_Market.Add(valuerowTD[0].Text); LandValue_Market.Add(valuerowTD[1].Text); } else if (i == 5) { LandValue_Agric.Add(valuerowTD[0].Text); LandValue_Agric.Add(valuerowTD[1].Text); } else if (i == 6) { Just_MarketValue.Add(valuerowTD[0].Text); Just_MarketValue.Add(valuerowTD[1].Text); } else if (i == 7) { AssessedValue.Add(valuerowTD[0].Text); //amc.TotalAssessedValue = valuerowTD[0].Text; AssessedValue.Add(valuerowTD[1].Text); } else if (i == 8) { Cap_DiffPortability_Amt.Add(valuerowTD[0].Text.Trim().Replace("\r\n", ",")); Cap_DiffPortability_Amt.Add(valuerowTD[1].Text.Trim().Replace("\r\n", ",")); } else if (i == 9) { Exemptions.Add(valuerowTD[0].Text); Exemptions.Add(valuerowTD[1].Text); } else if (i == 10) { TaxableValue.Add(valuerowTD[0].Text); TaxableValue.Add(valuerowTD[1].Text); } } i++; } string value1 = history[0] + "~" + ValueMethod[0] + "~" + TotalBuildingValue[0] + "~" + ExtraFeatureValue[0] + "~" + LandValue_Market[0] + "~" + LandValue_Agric[0] + "~" + Just_MarketValue[0] + "~" + AssessedValue[0] + "~" + Cap_DiffPortability_Amt[0] + "~" + Exemptions[0] + "~" + TaxableValue[0]; gc.insert_date(orderNumber, outparcelno, 332, value1, 1, DateTime.Now); string value2 = history[1] + "~" + ValueMethod[1] + "~" + TotalBuildingValue[1] + "~" + ExtraFeatureValue[1] + "~" + LandValue_Market[1] + "~" + LandValue_Agric[1] + "~" + Just_MarketValue[1] + "~" + AssessedValue[1] + "~" + Cap_DiffPortability_Amt[1] + "~" + Exemptions[1] + "~" + TaxableValue[1]; gc.insert_date(orderNumber, outparcelno, 332, value2, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Details string tax_type = "", tlegal_desc = "", curr_tax_status = "", curr_delinq_status = "", unpaid_tax = "", strTaxYear = "", strTaxFolio = "", strTaxCertificateYear = "", strTaxCertificateNo = "", strTaxCertifcateName = "", strTaxTDANo = "", strTaxTCertificateYear = "", strTaxTCertificateNo = "", strTaxTCertifcateName = "", strTaxTTDANo = "", strTaxAmountDue = "", strTaxTotalDue = "", strUnpaidType = ""; driver.Navigate().GoToUrl("http://fl-duval-taxcollector.publicaccessnow.com/PropertyTaxSearch.aspx"); driver.FindElement(By.Id("fldSearchFor")).SendKeys(outparcelno); gc.CreatePdf(orderNumber, outparcelno, "Input Passed TaxSearch", driver, "FL", "Duval"); driver.FindElement(By.Name("btnSearch")).SendKeys(Keys.Enter); Thread.Sleep(2000); gc.CreatePdf(orderNumber, outparcelno, "TaxSearch Result", driver, "FL", "Duval"); //*[@id="MVPQuickSearch"]/div[2]/div[1]/div[1]/ul[2]/li[1]/a driver.FindElement(By.XPath("//*[@id='MVPQuickSearch']/div[2]/div[1]/div[1]/ul[2]/li[1]/a")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, outparcelno, "Tax History Details", driver, "FL", "Duval"); //current year tax tax_type = driver.FindElement(By.XPath("//*[@id='lxT449']/table/tbody/tr[2]/td[2]")).Text.Trim(); mail_addr = driver.FindElement(By.XPath("//*[@id='lxT449']/table/tbody/tr[3]/td/table/tbody/tr[1]/td[1]")).Text.Trim().Replace("\r\n", ",").Replace("Mailing Address:", ""); tlegal_desc = driver.FindElement(By.XPath("//*[@id='lxT449']/table/tbody/tr[5]/td")).Text.Trim(); curr_tax_status = driver.FindElement(By.Id("dnn_ctr444_ModuleContent")).Text.Trim(); try { IWebElement IdeliquentPay = driver.FindElement(By.Id("dnn_ctr445_ModuleContent")); if (IdeliquentPay.Text.Contains("No delinquent payment due for this account.")) { curr_delinq_status = IdeliquentPay.Text.Trim(); } } catch { } try { IWebElement IUnpaid = driver.FindElement(By.XPath("//*[@id='lxT531']")); if (IUnpaid.Text.Contains("No Records Found")) { unpaid_tax = IUnpaid.Text.Trim(); } } catch { } string currtax = tax_type + "~" + siteaddr + "~" + mail_addr + "~" + tlegal_desc + "~" + curr_tax_status + "~" + curr_delinq_status + "~" + unpaid_tax; gc.insert_date(orderNumber, outparcelno, 334, currtax, 1, DateTime.Now); //bill history List <string> listurl = new List <string>(); IWebElement billhistory = driver.FindElement(By.XPath("//*[@id='443']/table")); IList <IWebElement> billhistoryRow = billhistory.FindElements(By.TagName("tr")); int billrowcount = billhistoryRow.Count; IList <IWebElement> billhistoryRowTD; IList <IWebElement> billhistoryRowTA; int b = 0; foreach (IWebElement rowid in billhistoryRow) { billhistoryRowTD = rowid.FindElements(By.TagName("td")); billhistoryRowTA = rowid.FindElements(By.TagName("a")); if (billhistoryRowTD.Count != 0 && !rowid.Text.Contains("Tax Year")) { if (b <= 3) { try { listurl.Add(billhistoryRowTA[0].GetAttribute("href")); } catch { } } if (b < billrowcount - 1) { //Tax Year~Date Paid~Folio~Paid By~Ownername~Amount Due~Amount Paid string billhis = billhistoryRowTD[0].Text + "~" + "" + "~" + billhistoryRowTD[1].Text + "~" + "" + "~" + billhistoryRowTD[2].Text + "~" + billhistoryRowTD[3].Text + "~" + ""; gc.insert_date(orderNumber, outparcelno, 335, billhis, 1, DateTime.Now); } if (b == billrowcount - 1) { string billhis = "Total" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + billhistoryRowTD[0].Text + "~" + ""; gc.insert_date(orderNumber, outparcelno, 335, billhis, 1, DateTime.Now); } } b++; } try { IWebElement IUnpaidtable = driver.FindElement(By.XPath("//*[@id='531']/table[1]/tbody[1]")); IList <IWebElement> IUnpaidRow = IUnpaidtable.FindElements(By.XPath("tr")); IList <IWebElement> IUnpaidTd; foreach (IWebElement unpaid in IUnpaidRow) { IUnpaidTd = unpaid.FindElements(By.XPath("td")); if (IUnpaidTd.Count != 0) { strTaxYear = IUnpaidTd[0].Text; amc.TaxYear = IUnpaidTd[0].Text; strTaxFolio = IUnpaidTd[1].Text; strTaxCertificateYear = IUnpaidTd[2].Text; strTaxCertificateNo = IUnpaidTd[3].Text; strTaxCertifcateName = IUnpaidTd[4].Text; strTaxTDANo = IUnpaidTd[5].Text; string UnpaidDetails = strTaxYear + "~" + strTaxFolio + "~" + strTaxCertificateYear + "~" + strTaxCertificateNo + "~" + strTaxCertifcateName + "~" + strTaxTDANo + "~" + "-"; gc.insert_date(orderNumber, outparcelno, 535, UnpaidDetails, 1, DateTime.Now); } } } catch { } foreach (string URL in listurl) { driver.Navigate().GoToUrl(URL); Thread.Sleep(3000); tax_year = driver.FindElement(By.XPath("//*[@id='lxT451']/table/tbody/tr[2]/td[3]")).Text.Trim(); gc.CreatePdf(orderNumber, outparcelno, "Tax History Details" + tax_year, driver, "FL", "Duval"); try { exem = driver.FindElement(By.XPath("//*[@id='lxT451']/table/tbody/tr[3]/td/table/tbody/tr[2]/td[1]")).Text.Trim().Replace("Exemptions", "").Replace("\r\n", " "); } catch { } //add valorem Tax IWebElement valoremtable = driver.FindElement(By.XPath("//*[@id='lxT500']/table/tbody")); IList <IWebElement> valoremtableRow = valoremtable.FindElements(By.TagName("tr")); int valoremtablerowcount = valoremtableRow.Count; IList <IWebElement> valoremtablerowTD; int d = 0; foreach (IWebElement rowid in valoremtableRow) { valoremtablerowTD = rowid.FindElements(By.TagName("td")); if (valoremtablerowTD.Count != 0) { string valoremtax = ""; if (d < valoremtablerowcount - 1) { //Tax Year~Exemptions~Tax_Type~Taxing Code~Taxing Authority~Assessed Value~Exemption Amount~Taxable Value~Millage Rate~Taxes valoremtax = tax_year + "~" + exem + "~" + "Ad Valorem Taxes" + "~" + valoremtablerowTD[0].Text + "~" + valoremtablerowTD[1].Text + "~" + valoremtablerowTD[2].Text + "~" + valoremtablerowTD[3].Text + "~" + valoremtablerowTD[4].Text + "~" + valoremtablerowTD[5].Text + "~" + valoremtablerowTD[6].Text; gc.insert_date(orderNumber, outparcelno, 333, valoremtax, 1, DateTime.Now); } else if (d < valoremtablerowcount) { valoremtax = tax_year + "~" + exem + "~" + "Ad Valorem Taxes" + "~" + "" + "~" + "Total" + "~" + "" + "~" + "" + "~" + "" + "~" + valoremtablerowTD[3].Text + "~" + valoremtablerowTD[4].Text; gc.insert_date(orderNumber, outparcelno, 333, valoremtax, 1, DateTime.Now); } } d++; } //Non Ad-Valorems try { IWebElement nonvaloremtable = driver.FindElement(By.XPath("//*[@id='lxT501']/table")); IList <IWebElement> nonvaloremtableRow = nonvaloremtable.FindElements(By.TagName("tr")); int nonvaloremtablerowcount = nonvaloremtableRow.Count; IList <IWebElement> nonvaloremtablerowTD; int e = 0; foreach (IWebElement rowid in nonvaloremtableRow) { nonvaloremtablerowTD = rowid.FindElements(By.TagName("td")); if (nonvaloremtablerowTD.Count != 0) { string valoremtax = ""; if (e < nonvaloremtablerowcount - 1) { //Tax Year~Exemptions~Tax_Type~Taxing Code~Taxing Authority~Assessed Value~Exemption Amount~Taxable Value~Millage Rate~Taxes valoremtax = tax_year + "~" + exem + "~" + "Non Ad Valorem Taxes" + "~" + nonvaloremtablerowTD[0].Text + "~" + nonvaloremtablerowTD[1].Text + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + nonvaloremtablerowTD[2].Text; gc.insert_date(orderNumber, outparcelno, 333, valoremtax, 1, DateTime.Now); } else if (e < nonvaloremtablerowcount) { valoremtax = tax_year + "~" + exem + "~" + "Non Ad Valorem Taxes" + "~" + "Total" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + nonvaloremtablerowTD[0].Text; gc.insert_date(orderNumber, outparcelno, 333, valoremtax, 1, DateTime.Now); } } e++; } } catch { } //If Paid By try { IWebElement taxdettable = driver.FindElement(By.XPath("//*[@id='539']/table/tbody")); IList <IWebElement> taxdettableRow = taxdettable.FindElements(By.TagName("tr")); int taxdettablecount = taxdettableRow.Count; IList <IWebElement> taxdettablerowTD; int f = 0; foreach (IWebElement rowid in taxdettableRow) { taxdettablerowTD = rowid.FindElements(By.TagName("td")); if (taxdettablerowTD.Count != 0) { string taxdue = ""; if (f < rowcount - 1) { //Folio~Taxes~Fees~Interest~Discount~Paid~Due Date~Amount Due taxdue = tax_year + "~" + "" + "~" + taxdettablerowTD[0].Text + "~" + taxdettablerowTD[1].Text + "~" + taxdettablerowTD[2].Text + "~" + taxdettablerowTD[3].Text + "~" + "" + "~" + taxdettablerowTD[4].Text + "~" + taxdettablerowTD[5].Text; gc.insert_date(orderNumber, outparcelno, 341, taxdue, 1, DateTime.Now); } } f++; } } catch { } try { IWebElement priortaxdettable = driver.FindElement(By.XPath("//*[@id='lxT453']/table")); IList <IWebElement> priortaxdettableRow = priortaxdettable.FindElements(By.TagName("tr")); int priortaxdettablecount = priortaxdettableRow.Count; IList <IWebElement> priortaxdettablerowTD; int f = 0; foreach (IWebElement rowid in priortaxdettableRow) { priortaxdettablerowTD = rowid.FindElements(By.TagName("td")); if (priortaxdettablerowTD.Count != 0) { string taxdue = ""; if (f < rowcount - 1) { taxdue = tax_year + "~" + priortaxdettablerowTD[1].Text + "~" + priortaxdettablerowTD[2].Text + "~" + priortaxdettablerowTD[3].Text + "~" + priortaxdettablerowTD[4].Text + "~" + priortaxdettablerowTD[5].Text + "~" + priortaxdettablerowTD[6].Text + "~" + priortaxdettablerowTD[7].Text + "~" + priortaxdettablerowTD[8].Text; gc.insert_date(orderNumber, outparcelno, 341, taxdue, 1, DateTime.Now); if (amccount < 1) { amc.Instamount1 = priortaxdettablerowTD[2].Text; amc.Instamountpaid1 = priortaxdettablerowTD[6].Text; if (!priortaxdettablerowTD[6].Text.Contains("$0.00")) { amc.InstPaidDue1 = "Paid"; } if (priortaxdettablerowTD[3].Text.Contains("$0.00") && priortaxdettablerowTD[4].Text.Contains("$0.00") && priortaxdettablerowTD[6].Text.Contains("$0.00")) { amc.InstPaidDue1 = "Due"; } if ((priortaxdettablerowTD[3].Text.Contains("$0.00") || priortaxdettablerowTD[4].Text.Contains("$0.00")) && !priortaxdettablerowTD[8].Text.Contains("$0.00")) { amc.IsDelinquent = "Yes"; } if ((priortaxdettablerowTD[3].Text.Contains("$0.00") && priortaxdettablerowTD[4].Text.Contains("$0.00")) && priortaxdettablerowTD[8].Text.Contains("$0.00")) { amc.IsDelinquent = "No"; } if (amc.IsDelinquent == "Yes") { gc.InsertAmrockTax(orderNumber, amc.TaxId, null, null, null, null, null, null, null, null, null, null, null, null, amc.IsDelinquent); } if (amc.IsDelinquent == "No") { gc.InsertAmrockTax(orderNumber, amc.TaxId, amc.Instamount1, amc.Instamount2, amc.Instamount3, amc.Instamount4, amc.Instamountpaid1, amc.Instamountpaid2, amc.Instamountpaid3, amc.Instamountpaid4, amc.InstPaidDue1, amc.InstPaidDue2, amc.instPaidDue3, amc.instPaidDue4, amc.IsDelinquent); } amccount++; } } } f++; } } catch { } //payment history try { try { histaxdettable = driver.FindElement(By.XPath("//*[@id='lxT454']/table/tbody")); } catch { } try { if (histaxdettable == null) { histaxdettable = driver.FindElement(By.XPath("//*[@id='539']/table[2]/tbody")); } } catch { } IList <IWebElement> histaxdettableRow = histaxdettable.FindElements(By.TagName("tr")); int histaxdettablecount = histaxdettableRow.Count; IList <IWebElement> histaxdettablerowTD; int f = 0; foreach (IWebElement rowid in histaxdettableRow) { histaxdettablerowTD = rowid.FindElements(By.TagName("td")); if (histaxdettablerowTD.Count != 0) { string taxhis = ""; if (f < rowcount - 1) { //Tax Year~Date Paid~Folio~Paid By~Ownername~Amount Due~Amount Paid taxhis = histaxdettablerowTD[1].Text + "~" + histaxdettablerowTD[0].Text + "~" + histaxdettablerowTD[2].Text + "~" + histaxdettablerowTD[3].Text + "~" + "" + "~" + "" + "~" + histaxdettablerowTD[4].Text; gc.insert_date(orderNumber, outparcelno, 335, taxhis, 1, DateTime.Now); } } f++; } } catch { } //UnPaid if Avilable try { strUnpaidType = driver.FindElement(By.Id("dnn_ctr504_dnnTITLE_lblTitle")).Text; } catch { } try { IWebElement Iunpaid = driver.FindElement(By.XPath("//*[@id='504']/table/tbody")); IList <IWebElement> IunpaidRow = Iunpaid.FindElements(By.XPath("tr")); IList <IWebElement> IunpaidTd; foreach (IWebElement unpaid in IunpaidRow) { IunpaidTd = unpaid.FindElements(By.XPath("td")); if (IunpaidTd.Count != 0) { strTaxTCertificateYear = IunpaidTd[0].Text; strTaxTCertificateNo = IunpaidTd[1].Text; strTaxTCertifcateName = IunpaidTd[2].Text; strTaxTTDANo = IunpaidTd[3].Text; strTaxAmountDue = IunpaidTd[4].Text; string UnpaidTotalDetails = "-" + "~" + "-" + "~" + strTaxTCertificateYear + "~" + strTaxTCertificateNo + "~" + strTaxTCertifcateName + "~" + strTaxTTDANo + "~" + strTaxAmountDue; gc.insert_date(orderNumber, outparcelno, 535, UnpaidTotalDetails, 1, DateTime.Now); } } } catch { } try { IWebElement IunTotalpaid = driver.FindElement(By.XPath("//*[@id='504']/table/tfoot")); IList <IWebElement> IunpaidTotalRow = IunTotalpaid.FindElements(By.XPath("tr")); IList <IWebElement> IunpaidTotalTd; foreach (IWebElement unpaid in IunpaidTotalRow) { IunpaidTotalTd = unpaid.FindElements(By.XPath("td")); if (IunpaidTotalTd.Count != 0) { strTaxTotalDue = IunpaidTotalTd[0].Text; string UnpaidTotalDetails = "-" + "~" + "Total" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + strTaxTotalDue; gc.insert_date(orderNumber, outparcelno, 535, UnpaidTotalDetails, 1, DateTime.Now); } } } catch { } } //gc.InsertAmrockTax(orderNumber, amc.TaxId, amc.Instamount1, amc.Instamount2, amc.Instamount3, amc.Instamount4, amc.Instamountpaid1, amc.Instamountpaid2, amc.Instamountpaid3, amc.Instamountpaid4, amc.InstPaidDue1, amc.InstPaidDue2, amc.instPaidDue3, amc.instPaidDue4, amc.IsDelinquent); TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Quit(); gc.mergpdf(orderNumber, "FL", "Duval"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "FL", "Duval", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_CASanDiego(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()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { titleaddress = address; gc.TitleFlexSearch(orderNumber, parcelNumber, ownername, titleaddress, "CA", "San Diego"); 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_CASanDiego"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "parcel") { ParcelSearch(orderNumber, parcelNumber); try { IWebElement Securedtable = driver.FindElement(By.XPath("//*[@id='PaymentApplicationContent_gvSecured']/tbody")); IList <IWebElement> SecuredRow = Securedtable.FindElements(By.TagName("tr")); IList <IWebElement> SecuredTD; int Securedcount = SecuredRow.Count; List <string> strSecured = new List <string>(); foreach (IWebElement Secured in SecuredRow) { SecuredTD = Secured.FindElements(By.TagName("td")); if (SecuredTD.Count != 0 && SecuredTD.Count == 13 && Secured.Text.Contains("View Bill")) { strSecured.Add("https://iwr.sdtreastax.com/SanDiegoTTCPaymentApplication/SecuredDetails.aspx?parcelNumber=" + SecuredTD[1].Text.Trim().Replace("-", "")); } } foreach (string SecuredURL in strSecured) { driver.Navigate().GoToUrl(SecuredURL); securedDetais(orderNumber, parcelNumber); try { IWebElement AssessmentTB = driver.FindElement(By.XPath("//*[@id='bp7']/div[2]/table/tbody")); IList <IWebElement> AssessmentTR = AssessmentTB.FindElements(By.TagName("tr")); IList <IWebElement> AssessmentTD; foreach (IWebElement Assessment in AssessmentTR) { AssessmentTD = Assessment.FindElements(By.TagName("td")); if (AssessmentTD.Count != 0) { Land_Desrip = AssessmentTD[0].Text; Value_Exemp = AssessmentTD[2].Text; Assessment_details = Land_Desrip + "~" + Value_Exemp; gc.insert_date(orderNumber, Parcel_No, 958, Assessment_details, 1, DateTime.Now); } } } catch { } try { Tax_authority = driver.FindElement(By.XPath("//*[@id='PaymentApplicationContent_footer']/div[2]")).Text; Tax_authority = WebDriverTest.After(Tax_authority, "payment to:"); TaxAuthotity_details = Tax_authority; gc.insert_date(orderNumber, Parcel_No, 955, TaxAuthotity_details, 1, DateTime.Now); } catch { } driver.FindElement(By.Id("PaymentApplicationContent_btnSearchResults")).SendKeys(Keys.Enter); Thread.Sleep(2000); } } catch { } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); try { IWebElement Supplementaltable = driver.FindElement(By.XPath("//*[@id='PaymentApplicationContent_gvSupplemental']/tbody")); IList <IWebElement> SupplementalRow = Supplementaltable.FindElements(By.TagName("tr")); IList <IWebElement> SupplementalTD; int rowcount = SupplementalRow.Count; List <string> strSupplemental = new List <string>(); foreach (IWebElement Supplemental in SupplementalRow) { SupplementalTD = Supplemental.FindElements(By.TagName("td")); if (SupplementalTD.Count != 0 && SupplementalTD.Count == 13 && Supplemental.Text.Contains("View Bill")) { strSupplemental.Add("https://iwr.sdtreastax.com/SanDiegoTTCPaymentApplication/SupplementalDetails.aspx?parcelNumber=" + SupplementalTD[1].Text.Trim().Replace("-", "")); } } foreach (string SupplementalURL in strSupplemental) { driver.Navigate().GoToUrl(SupplementalURL); securedDetais(orderNumber, parcelNumber); ExcemptionDetais(orderNumber, parcelNumber); } } catch { } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "CA", "San Diego", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "CA", "San Diego"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw; } } }
private void Load_MRP(string docnumber) { string query = "SELECT tbl_MRP_List.*, " + " vw_AXEntityTable.NAME AS EntityCodeDesc, " + " vw_AXOperatingUnitTable.NAME AS BUCodeDesc, " + " tbl_MRP_Status.StatusName, tbl_Users.Lastname, " + " tbl_Users.Firstname, tbl_MRP_List.EntityCode, " + " tbl_MRP_List.BUCode " + " FROM tbl_MRP_List LEFT OUTER JOIN tbl_Users ON tbl_MRP_List.CreatorKey = tbl_Users.PK " + " LEFT OUTER JOIN vw_AXOperatingUnitTable ON tbl_MRP_List.BUCode = vw_AXOperatingUnitTable.OMOPERATINGUNITNUMBER " + " LEFT OUTER JOIN tbl_MRP_Status ON tbl_MRP_List.StatusKey = tbl_MRP_Status.PK " + " LEFT OUTER JOIN vw_AXEntityTable ON tbl_MRP_List.EntityCode = vw_AXEntityTable.ID " + " WHERE dbo.tbl_MRP_List.DocNumber = '" + docnumber + "' " + " ORDER BY dbo.tbl_MRP_List.DocNumber DESC"; SqlConnection conn = new SqlConnection(GlobalClass.SQLConnString()); conn.Open(); SqlCommand cmd = new SqlCommand(query, conn); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { //DocNum.Text = reader["DocNumber"].ToString(); //DateCreated.Text = reader["DateCreated"].ToString(); mrp_key = Convert.ToInt32(reader["PK"]); entitycode = reader["EntityCode"].ToString(); dateCreated = Convert.ToDateTime(reader["DateCreated"]); EntityCode.Text = reader["EntityCodeDesc"].ToString(); buCode = reader["BUCode"].ToString(); BUCode.Text = reader["BUCodeDesc"].ToString(); Month.Text = MRPClass.Month_Name(Int32.Parse(reader["MRPMonth"].ToString())); Year.Text = reader["MRPYear"].ToString(); Creator.Text = EncryptionClass.Decrypt(reader["Firstname"].ToString()) + " " + EncryptionClass.Decrypt(reader["Lastname"].ToString()); Status.Text = reader["StatusName"].ToString(); //Status.Text = reader["StatusName"].ToString(); } reader.Close(); conn.Close(); iStatusKey = MRPClass.MRP_Line_Status(mrp_key, wrkflwln); StatusHidden["hidden_preview_iStatusKey"] = iStatusKey; WrkFlowHidden["hidden_preview_wrkflwln"] = wrkflwln; string docnum = DocNum.Text.ToString(); CapexListview.DataSource = Preview.Preview_CA(docnum, entitycode); CapexListview.DataBind(); TotalAmountTD.InnerText = Preview.preview_total_capex(docnum); DataTable tableMat = Preview.Preview_DM(docnum, entitycode); MatListview.DataSource = tableMat; MatListview.DataBind(); TAMat.InnerText = Preview.preview_total_directmaterials(DocNum.Text.ToString()); DataTable tableOpex = Preview.Preview_OP(docnum, entitycode); OpexListiview.DataSource = tableOpex; OpexListiview.DataBind(); TAOpex.InnerText = Preview.preview_total_opex(docnum); DataTable tableManpower = Preview.Preview_MAN(docnum, entitycode); ManListview.DataSource = tableManpower; ManListview.DataBind(); TAManpower.InnerText = Preview.preview_total_manpower(docnum); DataTable tableRevenue = Preview.Preview_Revenue(docnum, entitycode); RevListview.DataSource = tableRevenue; RevListview.DataBind(); TARevenue.InnerText = Preview.preview_total_revenue(docnum); PreviewListSummary.DataSource = Preview.MRP_PrevTotalSummary(docnum, entitycode); PreviewListSummary.DataBind(); TotalAmountSummary.InnerText = Preview.Prev_Summary_Total(); MRPClass.trial(); }
public ActionResult AddOrEdit(CompanySocialAccountDetail companySocialAccountDetail) { //if (uploadedFile != null) //{ // string fileName = Path.GetFileNameWithoutExtension(uploadedFile.FileName); // string extension = Path.GetExtension(uploadedFile.FileName); // fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension; // companySocialAccountDetail.CompanySocialAccountDetailImage = "~/Image/CompanySocialAccountDetail/" + fileName; // uploadedFile.SaveAs(Path.Combine(Server.MapPath("~/Image/CompanySocialAccountDetail/"), fileName)); //} var data = _iCompanySocialAccountDetailManager.AddOrEdit(companySocialAccountDetail); return(Json(new { messageType = data.MessageType, message = data.ReturnMessage, html = GlobalClass.RenderRazorViewToString(this, "ViewAll", _iCompanySocialAccountDetailManager.GetAllCompanySocialAccountDetail()) }, JsonRequestBehavior.AllowGet)); }
protected void LogsBtn_Click(object sender, EventArgs e) { string tablename = ""; int PK = 0; if (itemcommand == matstring) { tablename = MRPClass.MaterialsTableLogs(); PK = PK_MAT; } else if (itemcommand == opexstring) { tablename = MRPClass.OpexTableLogs(); PK = PK_OPEX; } else if (itemcommand == manstring) { tablename = MRPClass.ManpowerTableLogs(); PK = PK_MAN; } else if (itemcommand == capexstring) { tablename = MRPClass.CapexTableLogs(); PK = PK_CAPEX; } else if (itemcommand == revstring) { tablename = MRPClass.RevenueTableLogs(); PK = PK_REV; } if (PK == 0) { return; } //Query if log exist string query = "SELECT COUNT(*) FROM " + tablename + " WHERE MasterKey = '" + PK + "' AND UserKey = '" + Session["CreatorKey"].ToString() + "'"; SqlConnection conn = new SqlConnection(GlobalClass.SQLConnString()); conn.Open(); SqlCommand comm = new SqlCommand(query, conn); int count = Convert.ToInt32(comm.ExecuteScalar()); //MRPClass.PrintString(tablename + PK + count + LogsMemo.Text); if (count > 0)//edit { string update = "UPDATE " + tablename + " SET [Remarks] = @Remarks WHERE [MasterKey] = '" + PK + "' AND UserKey = '" + Session["CreatorKey"].ToString() + "'"; SqlCommand cmd = new SqlCommand(update, conn); cmd.Parameters.AddWithValue("@Remarks", LogsMemo.Text); cmd.CommandType = CommandType.Text; cmd.ExecuteNonQuery(); } else//add { string insert = "INSERT INTO " + tablename + " ([MasterKey], [UserKey], [Remarks]) VALUES (@MasterKey, @UserKey, @Remarks)"; SqlCommand cmd = new SqlCommand(insert, conn); cmd.Parameters.AddWithValue("@MasterKey", PK); cmd.Parameters.AddWithValue("@UserKey", Convert.ToInt32(Session["CreatorKey"])); cmd.Parameters.AddWithValue("@Remarks", LogsMemo.Text); cmd.CommandType = CommandType.Text; cmd.ExecuteNonQuery(); } conn.Close(); LogsPopup.ShowOnPageLoad = false; }
public string FTP_Mecklenburg(string address, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel) { string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "", AssessTakenTime = "", TaxTakentime = "", CityTaxtakentime = ""; string TotaltakenTime = ""; GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string Parcel_No = "-", Account_No = "-", Location_Address = "-", Owner_Name = "-", Mailing_Address = "-", Land_Use_Code = "-", Land_Use_Desc = "-", Legal_Description = "-", Year_Built = "-"; string Land_Value = "-", Building_Value = "-", Extra_Features = "-", Total_Appraised_Value = "-", Exemption_Deferment = "-"; string owner_name = "-", Propertytax_Bill = "-", Bill_Status = "-", Bill_Flag = "-", Due_Date = "-", Interest_Begins = "-", Total_Billed = "-", Interest = "-", Paid_Date = "-", Type = "-", Paid_By = "-", Receipt_No = "-", Paid_Amount = "-", current_due = "-", Good_through_date = "-"; string strAddress = "", strparcel = "", strOwner = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new PhantomJSDriver(); // driver = new ChromeDriver(); using (driver = new PhantomJSDriver()) { try { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", "", address, "NC", "Mecklenburg"); 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_CAMecklenburg"] = "Yes"; driver.Quit(); return("No Data Found"); } searchType = "parcel"; parcelNumber = HttpContext.Current.Session["titleparcel"].ToString().Replace(".", "").Replace("-", ""); } if (searchType == "address") { driver.Navigate().GoToUrl("https://property.spatialest.com/nc/mecklenburg/#/"); Thread.Sleep(2000); driver.FindElement(By.Id("primary_search")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "NC", "Mecklenburg"); driver.FindElement(By.Id("primary_search")).SendKeys(Keys.Enter); Thread.Sleep(7000); gc.CreatePdf_WOP(orderNumber, "Address search Result", driver, "NC", "Mecklenburg"); Thread.Sleep(3000); //multi parcel int Max = 0; try { IWebElement Assessment = driver.FindElement(By.XPath("//*[@id='main-app']/div/div[1]/div[2]/div/div/div/div[2]")); IList <IWebElement> TRAssessment = Assessment.FindElements(By.TagName("div")); IList <IWebElement> TDAssessment; foreach (IWebElement row in TRAssessment) { TDAssessment = row.FindElements(By.TagName("p")); string strmulti = row.GetAttribute("class"); if (TDAssessment.Count != 0 && !row.Text.Contains("Assessed Total Value") && strmulti == "tile") { strAddress = TDAssessment[1].Text; strparcel = TDAssessment[4].Text.Replace("Parcel:", "").Trim(); strOwner = TDAssessment[5].Text.Replace("Owners:", "").Trim(); string multidetails = strOwner + "~" + strAddress; gc.insert_date(orderNumber, strparcel, 57, multidetails, 1, DateTime.Now); Max++; } if (TDAssessment.Count != 0 && TDAssessment.Count > 25) { HttpContext.Current.Session["multiParcel_mecklenberg_count"] = "Maximum"; driver.Quit(); return("Maximum"); } } if (Max > 1 && Max < 26) { HttpContext.Current.Session["multiParcel_mecklenberg"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Max == 0) { HttpContext.Current.Session["Nodata_CAMecklenburg"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { if ((HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")) { parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); } driver.Navigate().GoToUrl("https://property.spatialest.com/nc/mecklenburg/#/"); Thread.Sleep(2000); driver.FindElement(By.Id("primary_search")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "NC", "Mecklenburg"); Thread.Sleep(5000); driver.FindElement(By.Id("primary_search")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search Result", driver, "NC", "Mecklenburg"); } if (searchType == "ownername") { driver.Navigate().GoToUrl("https://property.spatialest.com/nc/mecklenburg/#/"); Thread.Sleep(2000); driver.FindElement(By.Id("primary_search")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "NC", "Mecklenburg"); driver.FindElement(By.Id("primary_search")).SendKeys(Keys.Enter); Thread.Sleep(5000); gc.CreatePdf_WOP(orderNumber, "Owner search Result", driver, "NC", "Mecklenburg"); //multi parcel int Max = 0; try { IWebElement Assessment = driver.FindElement(By.XPath("//*[@id='main-app']/div/div[1]/div[2]/div/div/div/div[2]")); IList <IWebElement> TRAssessment = Assessment.FindElements(By.TagName("div")); IList <IWebElement> TDAssessment; foreach (IWebElement row in TRAssessment) { TDAssessment = row.FindElements(By.TagName("p")); string strmulti = row.GetAttribute("class"); if (TDAssessment.Count != 0 && !row.Text.Contains("Assessed Total Value") && strmulti == "tile") { strAddress = TDAssessment[1].Text; strparcel = TDAssessment[4].Text.Replace("Parcel:", "").Trim(); strOwner = TDAssessment[5].Text.Replace("Owners:", "").Trim(); string multidetails = strOwner + "~" + strAddress; gc.insert_date(orderNumber, strparcel, 57, multidetails, 1, DateTime.Now); Max++; } if (TDAssessment.Count != 0 && TDAssessment.Count > 25) { HttpContext.Current.Session["multiParcel_mecklenberg_count"] = "Maximum"; driver.Quit(); return("Maximum"); } } if (Max > 1 && Max < 26) { HttpContext.Current.Session["multiParcel_mecklenberg"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Max == 0) { HttpContext.Current.Session["Nodata_CAMecklenburg"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch (NoSuchElementException ex1) { driver.Quit(); throw ex1; } } } catch (NoSuchElementException ex1) { driver.Quit(); throw ex1; } //Property details Parcel_No = driver.FindElement(By.XPath("//*[@id='prccontent']/div/section/div/div[1]/div[2]/header/div/div/div[1]/div[1]/span")).Text.Replace("PARCEL ID:", "").Trim(); Location_Address = driver.FindElement(By.XPath("//*[@id='prccontent']/div/section/div/div[1]/div[2]/header/div/div/div[1]/div[2]/span")).Text; try { Owner_Name = driver.FindElement(By.XPath("//*[@id='prccontent']/div/section/div/div[1]/div[2]/header/div/div/div[2]/div/div")).Text; Owner_Name = GlobalClass.Before(Owner_Name, "\r\n"); } catch { } Land_Use_Code = driver.FindElement(By.XPath("//*[@id='keyinformation']/div[1]/div[2]/div/ul/li[1]/p[1]/span[2]")).Text; Land_Use_Desc = driver.FindElement(By.XPath("//*[@id='keyinformation']/div[1]/div[2]/div/ul/li[2]/p[1]/span[2]")).Text; Legal_Description = driver.FindElement(By.XPath("//*[@id='keyinformation']/div[1]/div[2]/div/ul/li[6]/p/span[2]")).Text; try { Year_Built = driver.FindElement(By.XPath("//*[@id='BuildingSection_residential_0']/div/div[1]/div/div/ul/li[2]/p/span[2]")).Text; } catch { } string prop_details = Owner_Name + "~" + Location_Address + "~" + Legal_Description + "~" + Land_Use_Code + "~" + Land_Use_Desc + "~" + Year_Built; prop_details = prop_details.Replace("\r\n", ","); gc.insert_date(orderNumber, Parcel_No, 58, prop_details, 1, DateTime.Now); //Assessment details Land_Value = driver.FindElement(By.XPath("//*[@id='keyinformation']/div[2]/div/div/ul/li[2]/p/span[2]")).Text; Building_Value = driver.FindElement(By.XPath("//*[@id='keyinformation']/div[2]/div/div/ul/li[3]/p/span[2]")).Text; Extra_Features = driver.FindElement(By.XPath("//*[@id='keyinformation']/div[2]/div/div/ul/li[4]/p/span[2]")).Text; Total_Appraised_Value = driver.FindElement(By.XPath("//*[@id='keyinformation']/div[2]/div/div/ul/li[5]/p/span[2]")).Text; string ass_details = Land_Value + "~" + Building_Value + "~" + Extra_Features + "~" + Total_Appraised_Value; gc.insert_date(orderNumber, Parcel_No, 59, ass_details, 1, DateTime.Now); gc.CreatePdf(orderNumber, Parcel_No, "Assessment and property details", driver, "NC", "Mecklenburg"); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Details driver.Navigate().GoToUrl("https://taxbill.co.mecklenburg.nc.us/publicwebaccess/"); //select parcel number from drop down var SerachBy = driver.FindElement(By.Id("lookupCriterion")); var selectElement = new SelectElement(SerachBy); selectElement.SelectByText("Parcel Number"); //select tax type from drop down var SerachTax = driver.FindElement(By.Id("taxYear")); var selectElement1 = new SelectElement(SerachTax); selectElement1.SelectByText("ALL"); driver.FindElement(By.Id("txtSearchString")).SendKeys(Parcel_No); gc.CreatePdf(orderNumber, Parcel_No, "Tax Details Result", driver, "NC", "Mecklenburg"); driver.FindElement(By.Id("btnGo")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, Parcel_No, "Tax information", driver, "NC", "Mecklenburg"); //Tax History string Bill = "-", Old_Bill = "-", Parcel = "-", Name = "-", location = "-", Bill_Flags = "-", Current_Due = "-", Taxyear = ""; IWebElement TBTax = driver.FindElement(By.XPath("//*[@id='G_dgResults']/tbody")); IList <IWebElement> TRTax = TBTax.FindElements(By.TagName("tr")); IList <IWebElement> TDTax; int count = TRTax.Count() - 1; int j = 1; foreach (IWebElement row1 in TRTax) { if (j <= count) { TDTax = row1.FindElements(By.TagName("td")); Bill = TDTax[0].Text; Old_Bill = TDTax[1].Text; if (Old_Bill == " ") { Old_Bill = "-"; } Parcel = TDTax[2].Text; Name = TDTax[3].Text; location = TDTax[4].Text; Bill_Flags = TDTax[5].Text; if (Bill_Flags == " ") { Bill_Flags = "-"; } Current_Due = TDTax[6].Text; string Tax_History = Bill + "~ " + Old_Bill + "~" + Name + "~" + location + "~" + Bill_Flags + "~" + Current_Due; gc.insert_date(orderNumber, Parcel_No, 60, Tax_History, 1, DateTime.Now); } if (j > count) { string amount = WebDriverTest.After(row1.Text, "Total:"); string Tax_History = "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "Total:" + "~" + amount; gc.insert_date(orderNumber, Parcel_No, 60, Tax_History, 1, DateTime.Now); } j++; } //Tax iformation table int k = 0; List <string> Taxlist = new List <string>(); string taxbill = ""; for (int l = 0; l < 5; l++) { try { IWebElement TaxInfo = driver.FindElement(By.Id("G_dgResults")); IList <IWebElement> TRTaxInfo = TaxInfo.FindElements(By.TagName("tr")); IList <IWebElement> THTaxInfo = TaxInfo.FindElements(By.TagName("th")); IList <IWebElement> TDTaxInfo; foreach (IWebElement row in TRTaxInfo) { TDTaxInfo = row.FindElements(By.TagName("td")); if (TDTaxInfo.Count != 0 && !row.Text.Contains("Bill Flags") && !Taxlist.Contains(TDTaxInfo[0].Text.Trim())) { taxbill = TDTaxInfo[0].Text.Trim(); Taxlist.Add(taxbill); IWebElement Iclick = TDTaxInfo[0].FindElement(By.TagName("a")); Iclick.Click(); Thread.Sleep(4000); k++; break; } try { if (TDTaxInfo.Count != 0 && !row.Text.Contains("Bill Flags") && Taxlist.Contains(TDTaxInfo[0].Text.Trim()) && k != 1 && k != 2) { taxbill = TDTaxInfo[0].Text.Trim(); Taxlist.Add(taxbill); IWebElement Iclick = TDTaxInfo[0].FindElement(By.TagName("a")); Iclick.Click(); Thread.Sleep(4000); // break; } } catch { } } } catch { } //driver.FindElement(By.XPath("//*[@id='dgResults_r_0']/td[1]/a")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, Parcel_No, "Tax iformation Result" + l, driver, "NC", "Mecklenburg"); try { owner_name = driver.FindElement(By.Id("txtName")).Text; } catch { } try { owner_name = driver.FindElement(By.Id("lblPriOwner")).Text; } catch { } try { Propertytax_Bill = driver.FindElement(By.XPath("//*[@id='lblBill']")).Text; } catch { } try { Propertytax_Bill = driver.FindElement(By.Id("lblNewAccount")).Text; } catch { } try { Bill_Status = driver.FindElement(By.XPath("//*[@id='lblBillStatus']")).Text; } catch { } Bill_Flag = driver.FindElement(By.XPath("//*[@id='lblBillFlag']")).Text; if (Bill_Flag == "") { Bill_Flag = "-"; } try { Due_Date = driver.FindElement(By.XPath("//*[@id='lblDueDate']")).Text; } catch { } try { Interest_Begins = driver.FindElement(By.XPath("//*[@id='lblInterest']")).Text; } catch { } try { Interest_Begins = driver.FindElement(By.Id("lblIntBegins")).Text; } catch { } string paidbydate = ""; try { paidbydate = driver.FindElement(By.Id("interestCalDate_input")).Text; } catch { } if (Bill_Flag == "DELINQUENT") { good_date = driver.FindElement(By.XPath("//*[@id='interestCalDate_input']")); Good_through_date = good_date.GetAttribute("value"); if (Good_through_date.Contains("Select A Date")) { Good_through_date = "-"; Total_Billed = driver.FindElement(By.XPath("//*[@id='lblTotalAmountDue']")).Text; Interest = driver.FindElement(By.XPath("//*[@id='lblInterestAmt']")).Text; current_due = driver.FindElement(By.XPath("//*[@id='lblCurrentDue']")).Text; } } else { if (Bill_Flag == "DELINQUENT") { DateTime G_Date = Convert.ToDateTime(Good_through_date); string dateChecking = DateTime.Now.ToString("MM") + "/15/" + DateTime.Now.ToString("yyyy"); if (G_Date < Convert.ToDateTime(dateChecking)) { //end of the month Good_through_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)) { Good_through_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; Good_through_date = new DateTime(nxtYr, 1, DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), 1)).ToString("MM/dd/yyyy"); } } //recalculate interest good_date.Clear(); good_date.SendKeys(Good_through_date); driver.FindElement(By.Id("btnRecalInterest")).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, Parcel_No, "After Good Through Date Calculate" + l, driver, "NC", "Mecklenburg"); Total_Billed = driver.FindElement(By.XPath("//*[@id='lblTotalAmountDue']")).Text; Interest = driver.FindElement(By.XPath("//*[@id='lblInterestAmt']")).Text; current_due = driver.FindElement(By.XPath("//*[@id='lblCurrentDue']")).Text; } } //transcation history string strtaxyear1 = "", strtaxyear2 = "", strtaxyear3 = "", Pdate = ""; try { Pdate = driver.FindElement(By.Id("lblDueDate")).Text; string[] Tax_year = Pdate.Split('/'); strtaxyear1 = Tax_year[0]; strtaxyear2 = Tax_year[1]; strtaxyear3 = Tax_year[2]; } catch { } IWebElement tb_trans = driver.FindElement(By.XPath("//*[@id='dgShowResultHistory']/tbody")); IList <IWebElement> TR_trans = tb_trans.FindElements(By.TagName("tr")); IList <IWebElement> TD_trans; foreach (IWebElement row2 in TR_trans) { if (TR_trans.Count == 1) { string tax = strtaxyear3 + "~ " + owner_name + "~ " + Propertytax_Bill + "~ " + Bill_Status + "~ " + Bill_Flag + "~ " + Due_Date + "~ " + Interest_Begins + "~ " + Total_Billed + "~ " + Interest + "~ " + current_due + "~ " + Good_through_date + "~ " + Paid_Date + "~ " + Type + "~ " + Paid_By + "~ " + Receipt_No + "~ " + Paid_Amount; // tax = tax.Replace("\r\n", ""); gc.insert_date(orderNumber, Parcel_No, 61, tax, 1, DateTime.Now); } if (!row2.Text.Contains("Date")) { TD_trans = row2.FindElements(By.TagName("td")); try { Type = TD_trans[1].Text; Paid_By = TD_trans[2].Text; Receipt_No = TD_trans[3].Text; Paid_Amount = TD_trans[4].Text; } catch { } string tax = strtaxyear3 + "~ " + owner_name + "~ " + Propertytax_Bill + "~ " + Bill_Status + "~ " + Bill_Flag + "~ " + Due_Date + "~ " + Interest_Begins + "~ " + Total_Billed + "~ " + Interest + "~ " + current_due + "~ " + Good_through_date + "~ " + Paid_Date + "~ " + Type + "~ " + Paid_By + "~ " + Receipt_No + "~ " + Paid_Amount; if (tax.Contains("\r\n")) { tax = tax.Replace("\r\n", ""); gc.insert_date(orderNumber, Parcel_No, 61, tax, 1, DateTime.Now); } else { gc.insert_date(orderNumber, Parcel_No, 61, tax, 1, DateTime.Now); } } } //Tax/Fee Distribution Table: string Rate = "-", Tax_Districts = "-", Description = "-", Amount = "-"; try { IWebElement TBTaxFee = driver.FindElement(By.XPath("//*[@id='dgShowResultRate']/tbody")); IList <IWebElement> TRTaxFee = TBTaxFee.FindElements(By.TagName("tr")); IList <IWebElement> TDTaxFee; foreach (IWebElement row2 in TRTaxFee) { if (!row2.Text.Contains("Rate")) { TDTaxFee = row2.FindElements(By.TagName("td")); Rate = TDTaxFee[0].Text; if (Rate == "") { Rate = "-"; } Tax_Districts = TDTaxFee[1].Text; Description = TDTaxFee[2].Text; Amount = TDTaxFee[3].Text; string taxfee = strtaxyear3 + "~ " + Rate + "~ " + Tax_Districts + "~ " + Description + "~ " + Amount; gc.insert_date(orderNumber, Parcel_No, 64, taxfee, 1, DateTime.Now); } } } catch { } driver.Navigate().Back(); Thread.Sleep(4000); l++; } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "NC", "Mecklenburg", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "NC", "Mecklenburg"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public string FTP_WYLaramie(string houseno, string sname, string sttype, 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 = ""; //var driverService = PhantomJSDriverService.CreateDefaultService(); //driverService.HideCommandPromptWindow = true; // driver = new PhantomJSDriver(); var option = new ChromeOptions(); option.AddArgument("No-Sandbox"); using (driver = new ChromeDriver(option)) { StartTime = DateTime.Now.ToString("HH:mm:ss"); try { if (searchType == "titleflex") { string address = houseno + " " + sname + " " + sttype + " " + unitno; gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "WY", "Laramie"); 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["WYLaramie_Nodata"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } driver.Navigate().GoToUrl("https://maps.laramiecounty.com/mapserver/map?tab=search"); IWebElement IAdvSearch = driver.FindElement(By.XPath("//*[@id='search-tabs']/button[2]")); IJavaScriptExecutor jsa = driver as IJavaScriptExecutor; jsa.ExecuteScript("arguments[0].click();", IAdvSearch); gc.CreatePdf_WOP(orderNumber, "Advance", driver, "WY", "Laramie"); if (searchType == "address") { driver.FindElement(By.Name("St_Num")).SendKeys(houseno); try { IWebElement direction = driver.FindElement(By.XPath("//*[@id='addressSearch']/table/tbody/tr[2]/td[2]/select")); SelectElement dir = new SelectElement(direction); dir.SelectByValue(directParcel); } catch { } driver.FindElement(By.Name("St_Name")).SendKeys(sname + " " + sttype); gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "WY", "Laramie"); IWebElement IAddressSearch = driver.FindElement(By.XPath("//*[@id='addressSearch']/table/tbody/tr[2]/td[4]/input")); IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", IAddressSearch); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Address Search Result", driver, "WY", "Laramie"); try { string nodata = driver.FindElement(By.XPath("//*[@id='search_results']/p/font")).Text; if (nodata.Contains("no matching")) { HttpContext.Current.Session["WYLaramie_Nodata"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } try { IWebElement IMultiCount = driver.FindElement(By.XPath("//*[@id='search_results']/p")); strMultiCount = GlobalClass.Before(IMultiCount.Text, " Record(s) Found."); if (Convert.ToInt32(strMultiCount) >= 25) { HttpContext.Current.Session["multiparcel_WYLaramie_Count"] = "Maximum"; driver.Quit(); return("Maximum"); } IWebElement IMulti1 = driver.FindElement(By.XPath("//*[@id='form1']/table/tbody")); IList <IWebElement> IMultiRow1 = IMulti1.FindElements(By.TagName("tr")); foreach (IWebElement multi in IMultiRow1) { //HttpContext.Current.Session["multiparcel_WYLaramie"] = "Yes"; if (MultiCount <= 25) { js.ExecuteScript("arguments[0].click();", multi); try { strMultiAdddress = driver.FindElement(By.XPath("//*[@id='propdetail']/table/tbody/tr[2]/td/table/tbody")).Text; strParcelId = gc.Between(strMultiAdddress, "Parcel\r\nPIDN: ", "\r\nTax ID: "); strAddress = gc.Between(strMultiAdddress, "Street Address: ", "\r\nDeed: "); strOwner = gc.Between(strMultiAdddress, "Property Owner(s): ", "\r\nMailing Address: "); string strMultiDetails = strAddress + "~" + strOwner; gc.insert_date(orderNumber, strParcelId, 468, strMultiDetails, 1, DateTime.Now); } catch { } MultiCount++; } } driver.Quit(); return("MultiParcel"); } catch { } } if (searchType == "parcel") { driver.FindElement(By.XPath("//*[@id='numSearch']/table/tbody/tr/td[1]/input")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "WY", "Laramie"); IWebElement IParcelSearch = driver.FindElement(By.XPath("//*[@id='numSearch']/table/tbody/tr/td[2]/input")); IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", IParcelSearch); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search Result", driver, "WY", "Laramie"); } if (searchType == "ownername") { string[] strOwnerName = ownername.Replace(",", "").Split(' '); if (strOwnerName.Length == 2) { driver.FindElement(By.XPath("//*[@id='ownerSearch']/table/tbody/tr/td[1]/input")).SendKeys(strOwnerName[1]); driver.FindElement(By.XPath("//*[@id='ownerSearch']/table/tbody/tr/td[2]/input")).SendKeys(strOwnerName[0]); } if (strOwnerName.Length == 1) { driver.FindElement(By.XPath("//*[@id='ownerSearch']/table/tbody/tr/td[2]/input")).SendKeys(strOwnerName[0]); } gc.CreatePdf_WOP(orderNumber, "Owner Search", driver, "WY", "Laramie"); IWebElement IOwnerSearch = driver.FindElement(By.XPath("//*[@id='ownerSearch']/table/tbody/tr/td[3]/input")); IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", IOwnerSearch); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Owner Search Result", driver, "WY", "Laramie"); try { IWebElement IMultiCount = driver.FindElement(By.XPath("//*[@id='search_results']/p")); strMultiCount = GlobalClass.Before(IMultiCount.Text, " Record(s) Found."); if (Convert.ToInt32(strMultiCount) >= 25) { HttpContext.Current.Session["multiparcel_WYLaramie_Count"] = "Maximum"; return("Maximum"); } IWebElement IMulti1 = driver.FindElement(By.XPath("//*[@id='form1']/table/tbody")); IList <IWebElement> IMultiRow1 = IMulti1.FindElements(By.LinkText("Detail")); foreach (IWebElement multi in IMultiRow1) { HttpContext.Current.Session["multiparcel_WYLaramie"] = "Yes"; if (MultiCount <= 25) { js.ExecuteScript("arguments[0].click();", multi); try { strMultiAdddress = driver.FindElement(By.XPath("//*[@id='propdetail']/table/tbody/tr[2]/td/table/tbody")).Text; strParcelId = gc.Between(strMultiAdddress, "Parcel\r\nPIDN: ", "\r\nTax ID: "); strAddress = gc.Between(strMultiAdddress, "Street Address: ", "\r\nDeed: "); strOwner = gc.Between(strMultiAdddress, "Property Owner(s): ", "\r\nMailing Address: "); string strMultiDetails = strAddress + "~" + strOwner; gc.insert_date(orderNumber, strParcelId, 468, strMultiDetails, 1, DateTime.Now); } catch { } MultiCount++; } } driver.Quit(); return("MultiParcel"); } catch { } } try { string nodata = driver.FindElement(By.XPath("//*[@id='search_results']/p/font")).Text; if (nodata.Contains("no matching")) { HttpContext.Current.Session["WYLaramie_Nodata"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } //Property Details IWebElement ISearch = driver.FindElement(By.Id("infotool")); IList <IWebElement> IlSearch = ISearch.FindElements(By.TagName("a")); IList <IWebElement> IlTD; foreach (IWebElement serach in IlSearch) { if (IlSearch.Count != 0 && serach.Text.Contains("Property")) { serach.SendKeys(Keys.Enter); } } Thread.Sleep(5000); strProperty = driver.FindElement(By.XPath("//*[@id='propdetail']/table/tbody/tr[2]/td/table/tbody")).Text; // strParcelNumber = gc.Between(strProperty, "Parcel\r\nPIDN: ", "\r\nTax ID: "); try { int i = 0; IWebElement tbmulti11 = driver.FindElement(By.XPath("//*[@id='propdetail']/table/tbody/tr[2]/td/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 == 1) { strParcelNumber = TDmulti11[1].Text; } if (i == 2) { strTaxId = TDmulti11[1].Text; } if (i == 3) { strTaxDistrict = TDmulti11[1].Text; } if (i == 4) { strPropertyOwner = TDmulti11[1].Text; } if (i == 6) { strStreetAddress = TDmulti11[1].Text; } if (i == 8) { strLocation = TDmulti11[1].Text; } if (i == 9) { strMarketValue = TDmulti11[1].Text; } if (i == 10) { strAssessedValue = TDmulti11[1].Text; } i++; } } } catch { } // strTaxId = gc.Between(strProperty, "\r\nTax ID: ", " Property Taxes\r\nTax District:"); // strTaxDistrict = gc.Between(strProperty, " Property Taxes\r\nTax District: ", "\r\nProperty Owner(s): "); // strPropertyOwner = gc.Between(strProperty, "\r\nProperty Owner(s): ", "\r\nMailing Address: "); // try // { // strStreetAddress = gc.Between(strProperty, "Street Address: ", "\r\nDeed: "); // } // catch { } // try // { // if(strStreetAddress == "") // { // strStreetAddress = gc.Between(strProperty, "Street Address: ", "\r\nLocation: "); // } // } // catch { } // strLocation = gc.Between(strProperty, "Location: ", "\r\n2018 Market Value: "); // strMarketValue = gc.Between(strProperty, "2018 Market Value: ", "2018 Assessed Value: ").TrimStart().TrimEnd().Trim(); // strAssessedValue = gc.Between(strProperty, "2018 Assessed Value: ", "The ").TrimStart().TrimEnd().Trim(); try { strYear = gc.Between(strProperty, " Improvements)\r\n", " Assessed Value: "); } catch { } try { strYearBuilt = driver.FindElement(By.XPath("//*[@id='propdetail']/table/tbody/tr[3]/td/table/tbody/tr[2]/td[6]")).Text; } catch (Exception ex) { } try { strYearBuilt = driver.FindElement(By.XPath("//*[@id='propdetail']/table/tbody/tr[4]/td/table/tbody/tr[2]/td[6]")).Text; } catch { } try { IWebElement ILandTable = driver.FindElement(By.XPath("//*[@id='propdetail']/table/tbody/tr[3]/td/table/tbody")); IList <IWebElement> ILandRow = ILandTable.FindElements(By.TagName("tr")); IList <IWebElement> ILandTD; foreach (IWebElement land in ILandRow) { try { ILandTD = land.FindElements(By.TagName("td")); if (ILandTD.Count != 0 && !land.Text.Contains("Land") && !land.Text.Contains("Total") && land.Text.Contains("Year Built*")) { break; } if (ILandTD.Count != 0 && !land.Text.Contains("Land") && land.Text.Contains("Total")) { strAcres = ILandTD[0].Text; } if (ILandTD.Count != 0 && land.Text.Trim() != "Land" && !land.Text.Contains("Total") && !land.Text.Contains("Class") && classcount < 1) { strClass = ILandTD[2].Text; classcount++; } } catch { } } } catch { } string strPropertyDetails = strTaxId + "~" + strTaxDistrict + "~" + strPropertyOwner + "~" + strStreetAddress + "~" + strLocation + "~" + strYear + "~" + strMarketValue + "~" + strAssessedValue + "~" + strAcres + "~" + strClass + "~" + strYearBuilt; gc.insert_date(orderNumber, strParcelNumber, 476, strPropertyDetails, 1, DateTime.Now); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); gc.CreatePdf(orderNumber, strParcelNumber, "Tax Details Result", driver, "WY", "Laramie"); IWebElement ITaxSearch = driver.FindElement(By.XPath("//*[@id='propdetail']/table/tbody/tr[2]/td/table/tbody/tr[3]/td[2]/a")); string strTaxSearch = ITaxSearch.GetAttribute("href"); driver.Navigate().GoToUrl(strTaxSearch); IWebElement ITaxDetail = driver.FindElement(By.XPath("//*[@id='Table2']/tbody")); strTaxAll = ITaxDetail.Text; strTaxParcel = gc.Between(strTaxAll, "Parcel Number:", "\r\n\r\nStatus:").Trim(); gc.CreatePdf(orderNumber, strParcelNumber, "Property Details Result", driver, "WY", "Laramie"); strTaxStatus = gc.Between(strTaxAll, "Status:", "Receipt:").Trim(); string strTaxRec = gc.Between(strTaxAll, "Receipt:", "Owner(s):").Trim(); strTaxReceipt = strTaxRec.Remove(strTaxRec.Length - 4); strTaxOwner = gc.Between(strTaxAll, "Owner(s):", "Mailing Address:"); strTaxDiatrict = GlobalClass.After(strTaxAll, "Levy District:\r\n"); try { strValuesType = driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_lblYearValue")).Text.Replace(":", ""); strTaxesType = driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_lblYearTaxes")).Text.Replace(":", ""); strPaymentsType = driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_lblYearPayments")).Text.Replace(":", ""); strComment = driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_Label20")).Text; } catch { } IWebElement ITaxDetailTable = driver.FindElement(By.Id("Table1")); Idetail = ITaxDetailTable.FindElements(By.TagName("a")); foreach (IWebElement detail in Idetail) { strDetail = detail.GetAttribute("id"); strDeatilURL.Add(strDetail); } IWebElement ITaxValueTable = driver.FindElement(By.XPath("//*[@id='Table3']/tbody")); IList <IWebElement> ITaxValueRow = ITaxValueTable.FindElements(By.TagName("table")); IList <IWebElement> ITaxValueTD; IList <IWebElement> ITaxValuePay; foreach (IWebElement value in ITaxValueRow) { ITaxValueTD = value.FindElements(By.TagName("tr")); if (ITaxValueTD.Count != 0 && (value.Text.Contains("Market: ") && strValuesType.Contains("Value"))) { strTMarketValue = GlobalClass.After(ITaxValueTD[0].Text, "Market: "); strTTaxableValue = GlobalClass.After(ITaxValueTD[1].Text, "Taxable: "); strTVetexempt = GlobalClass.After(ITaxValueTD[3].Text, "Vet Exempt: "); strTNetTaxable = GlobalClass.After(ITaxValueTD[5].Text, "Net Taxable: "); string strTaxValueDetails = strValuesType + "~" + strTMarketValue + "~" + strTTaxableValue + "~" + strTVetexempt + "~" + strTNetTaxable + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-"; gc.insert_date(orderNumber, strTaxParcel, 519, strTaxValueDetails, 1, DateTime.Now); } else if (ITaxValueTD.Count != 0 && (value.Text.Contains("First Half: ") && value.Text.Contains("Due: ")) && strTaxesType.Contains("Taxes")) { strTFirstHalf = gc.Between(ITaxValueTD[0].Text, "First Half: ", "Due: "); strTFirstDue = GlobalClass.After(ITaxValueTD[0].Text, "Due: "); strTSecondHalf = gc.Between(ITaxValueTD[1].Text, "Second Half: ", "Due: "); strTSecondDue = GlobalClass.After(ITaxValueTD[1].Text, "Due: "); strTTotal = GlobalClass.After(ITaxValueTD[2].Text, "Total: "); string strTaxesDetails = strTaxesType + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + strTFirstHalf + "~" + strTFirstDue + "~" + strTSecondHalf + "~" + strTSecondDue + "~" + strTTotal; gc.insert_date(orderNumber, strTaxParcel, 519, strTaxesDetails, 1, DateTime.Now); } else if (ITaxValueTD.Count != 0 && value.Text.Contains("First Half: ") && strPaymentsType.Contains("Payments")) { strPFirstHalf = GlobalClass.After(ITaxValueTD[0].Text, "First Half: "); strPSecondHalf = GlobalClass.After(ITaxValueTD[1].Text, "Second Half: "); strPTotal = GlobalClass.After(ITaxValueTD[3].Text, "Total: "); string strTaxPaymentDetails = strPaymentsType + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + strPFirstHalf + "~" + "-" + "~" + strPSecondHalf + "~" + "-" + "~" + strPTotal + " " + strComment; gc.insert_date(orderNumber, strTaxParcel, 519, strTaxPaymentDetails, 1, DateTime.Now); } } IWebElement Ilegal = driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_Panel5")); strGeoCode = gc.Between(Ilegal.Text, "Geo Code: ", "\r\nProperty address: "); strPAddress = gc.Between(Ilegal.Text, "Property address: ", "\r\nLegal:"); strLegal = GlobalClass.After(Ilegal.Text, "Legal: "); IWebElement IHistory = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_linkHistory']/img")); IHistory.Click(); gc.CreatePdf(orderNumber, strParcelNumber, "Tax History Result", driver, "WY", "Laramie"); strTaxType = gc.Between(driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_Panel1")).Text, "Type: ", "Owner"); IWebElement IHistoryTable = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_dgHistory']/tbody")); IList <IWebElement> IHistoryRow = IHistoryTable.FindElements(By.TagName("tr")); IList <IWebElement> IHistoryTD; foreach (IWebElement History in IHistoryRow) { IHistoryTD = History.FindElements(By.TagName("td")); if (IHistoryTD.Count != 0 && !History.Text.Contains("Tax Year")) { try { strTaxYear = IHistoryTD[0].Text; strTaxStatement = IHistoryTD[1].Text; strTaxBillDate = IHistoryTD[2].Text; strTaxBillAmount = IHistoryTD[3].Text; strTaxDatePaid = IHistoryTD[4].Text; strTaxPaidAmount = IHistoryTD[5].Text; strTaxNotes = IHistoryTD[6].Text; } catch { } string strHistoryDetails = strTaxYear + "~" + strTaxStatement + "~" + strTaxBillDate + "~" + strTaxBillAmount + "~" + strTaxDatePaid + "~" + strTaxPaidAmount + "~" + strTaxNotes; gc.insert_date(orderNumber, strTaxParcel, 520, strHistoryDetails, 1, DateTime.Now); } } driver.Navigate().Back(); IWebElement IPayOff = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_linkPayoff']/img")); IPayOff.Click(); gc.CreatePdf(orderNumber, strParcelNumber, "Tax Pay Off Result", driver, "WY", "Laramie"); driver.Navigate().Back(); IWebElement IPayTaxes = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_linkPayTaxes']/img")); IPayTaxes.Click(); gc.CreatePdf(orderNumber, strParcelNumber, "Tax Pay Taxes Result", driver, "WY", "Laramie"); try { strCurrentYear = GlobalClass.After(driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_pnlDetail")).Text, "Current Tax Year: "); } catch { } try { strPayoffType = GlobalClass.Before(driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_lblUnpaidheader")).Text, "as of "); strPayoff = gc.Between(driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_lblUnpaidheader")).Text, "Total payoff amount as of ", ":"); strPayoffAmount = driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_lblUnpaid")).Text; } catch { } try { strUnPaidType = driver.FindElement(By.Id("_ctl0_ContentPlaceHolder1_Label5")).Text; } catch { } IWebElement ITotalUnpaidTable = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_dgTotals']/tbody")); IList <IWebElement> ITotalUnpaidRow = ITotalUnpaidTable.FindElements(By.TagName("tr")); IList <IWebElement> ITotalUnpaidTD; foreach (IWebElement unpaid in ITotalUnpaidRow) { ITotalUnpaidTD = unpaid.FindElements(By.TagName("td")); if (ITotalUnpaidTD.Count != 0 && !unpaid.Text.Contains("Tax Year")) { strUnpaidTaxYear = ITotalUnpaidTD[0].Text; strUnpaidAmount = ITotalUnpaidTD[1].Text; strUnpaidDiscount = ITotalUnpaidTD[2].Text; strUnpaidDue = ITotalUnpaidTD[3].Text; string strTotalUnpaid = strUnPaidType.Replace(":", "") + "~" + strUnpaidTaxYear + "~" + "-" + "~" + "-" + "~" + "-" + "~" + strUnpaidAmount + "~" + "-" + "~" + "-" + "~" + strUnpaidDiscount + "~" + "-" + "~" + strUnpaidDue; gc.insert_date(orderNumber, strTaxParcel, 521, strTotalUnpaid, 1, DateTime.Now); } } string strTotalPayOff = strPayoffType + "~" + "-" + "~" + strPayoff + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + "-" + "~" + strPayoffAmount + "~" + "-"; gc.insert_date(orderNumber, strTaxParcel, 521, strTotalPayOff, 1, DateTime.Now); IWebElement ITotalPayoffTable = driver.FindElement(By.XPath("//*[@id='_ctl0_ContentPlaceHolder1_dgPayoff']/tbody")); IList <IWebElement> ITotalPayoffRow = ITotalPayoffTable.FindElements(By.TagName("tr")); IList <IWebElement> ITotalPayoffTD; foreach (IWebElement payoff in ITotalPayoffRow) { ITotalPayoffTD = payoff.FindElements(By.TagName("td")); if (ITotalPayoffTD.Count != 0 && !payoff.Text.Contains("Tax Year")) { strPayTaxYear = ITotalPayoffTD[0].Text; strPayDueDate = ITotalPayoffTD[1].Text; strPaystatement = ITotalPayoffTD[2].Text; strPayHalf = ITotalPayoffTD[3].Text; strPayTaxAmount = ITotalPayoffTD[4].Text; strPayInterest = ITotalPayoffTD[5].Text; strPayPenalty = ITotalPayoffTD[6].Text; strPayDiscount = ITotalPayoffTD[7].Text; strPayTotalDue = ITotalPayoffTD[8].Text; string strPayOffDetails = strPayoffType + "~" + strPayTaxYear + "~" + strPayDueDate + "~" + strPaystatement + "~" + strPayHalf + "~" + strPayTaxAmount + "~" + strPayInterest + "~" + strPayPenalty + "~" + strPayDiscount + "~" + "-" + "~" + strPayTotalDue; gc.insert_date(orderNumber, strTaxParcel, 521, strPayOffDetails, 1, DateTime.Now); } } try { driver.Navigate().GoToUrl("http://www.laramiecounty.com/_officials/CountyTreasurer/index.aspx"); Thread.Sleep(2000); strAuthorityAddress = driver.FindElement(By.XPath("//*[@id='OneHalf']/p[6]")).Text.Replace("\r\n", " ").Trim(); strAuthorityPhone = driver.FindElement(By.XPath("//*[@id='OneHalf']/p[7]")).Text.Replace("\r\n", " ").Trim(); strAuthority = GlobalClass.After(strAuthorityAddress, "Property Tax: ") + " " + strAuthorityPhone; } catch { } string strTaxAssessDetails = strTaxStatus + "~" + strTaxReceipt + "~" + strTaxOwner + "~" + strTaxDiatrict + "~" + strGeoCode + "~" + strPAddress + "~" + strLegal + "~" + strTaxType + "~" + strCurrentYear + "~" + strAuthority; gc.insert_date(orderNumber, strTaxParcel, 477, strTaxAssessDetails, 1, DateTime.Now); try { foreach (string strdetail in strDeatilURL) { driver.Navigate().GoToUrl(strTaxSearch); driver.FindElement(By.Id(strdetail)).SendKeys(Keys.Enter); gc.CreatePdf(orderNumber, strParcelNumber, "Tax Detail Result" + DetailCount, driver, "WY", "Laramie"); DetailCount++; } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "WY", "Laramie", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "WY", "Laramie"); return("Data Inserted Successfully"); } catch (NoSuchElementException ex1) { driver.Quit(); throw ex1; } } }
/// <summary> /// Generuje tablicę zmiennych na miejscu [0] - nazwa zmiennej typu Double Word (ta powinna być bezpośrednio odczytana), a na pozostałych nazwy wszystkich bitów wchodzących w skład zmiennej typu dw /// </summary> /// <param name="variable">Nazwa zmiennej, która zostanie sparsowana do odpowiedniej zmiennej dw oraz jej bitów</param> /// <returns>Tablica nazw zmiennych</returns> public static string[] getVariables(this string variable) { GlobalClass.WriteCommentary($"Variable: {variable}"); variable = variable.ToUpper(); // string address = cutAddress(ref variable); string address = ""; cutAddress(ref variable); GlobalClass.WriteCommentary($"Variable parsed: {variable}"); string[] returnVariables = new string[33]; if (variable[0] == 'D') { string[] s = variable.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries); s[1] = s[1].Replace("DBD", ""); s[1] = s[1].Replace("DBB", ""); s[1] = s[1].Replace("DBW", ""); s[1] = s[1].Replace("DBX", ""); // tutaj liczymy najbliższą wartość zmiennej, która jest podzielna przez 4 (jako, że w 4 bajtach jest double word) int memoryInt = int.Parse(s[1]); memoryInt = memoryInt - memoryInt % 4; returnVariables[0] = $"{address}{s[0]}.DBD{memoryInt}"; for (int i = 1; i < returnVariables.Length; i++) { // iteracja będzie po 32 pozostałych elementach tablicy - dlatego najpierw liczymy numer bajtu pamięci - memoryInt + (i-1)/8 // i-1 - korekcja liczenia po pominięciu zerowego miejsca w tabeli - zarezerwowanej dla nazwy z double word // dzielimy przez 8, bo zapisany zostanie każdy bit, więc służy to zwiększania numeru bajtu po 8 bitach (jako, że int, to część dzisiętna ucinana) // 7 - (i-1) % 8 - selekcja konkretnych bitów, zapis odwrotny (od bitu 7 do 0) ze względu na budowę ramki w PLCku returnVariables[i] = $"{address}{s[0]}.DBX{memoryInt + (i - 1) / 8}.{7 - (i - 1) % 8}"; } } else { if (variable.Contains('.')) { variable = variable.Remove(variable.IndexOf('.')); } char type = variable[0]; variable = variable.Remove(0, 1); variable = variable.Replace("B", ""); variable = variable.Replace("W", ""); variable = variable.Replace("D", ""); // tutaj liczymy najbliższą wartość zmiennej, która jest podzielna przez 4 (jako, że w 4 bajtach jest double word) int memoryInt = int.Parse(variable); memoryInt = memoryInt - memoryInt % 4; returnVariables[0] = $"{address}{type}D{memoryInt}"; for (int i = 1; i < returnVariables.Length; i++) { // iteracja będzie po 32 pozostałych elementach tablicy - dlatego najpierw liczymy numer bajtu pamięci - memoryInt + (i-1)/8 // i-1 - korekcja liczenia po pominięciu zerowego miejsca w tabeli - zarezerwowanej dla nazwy z double word // dzielimy przez 8, bo zapisany zostanie każdy bit, więc służy to zwiększania numeru bajtu po 8 bitach (jako, że int, to część dzisiętna ucinana) // 7 - (i-1) % 8 - selekcja konkretnych bitów, zapis odwrotny (od bitu 7 do 0) ze względu na budowę ramki w PLCku // - potem wystarczy tylko w forze pointerować po rozłożonym na bity double wordzie pobranym ze sterownika returnVariables[i] = $"{address}{type}{memoryInt + (i - 1) / 8}.{7 - (i - 1) % 8}"; } } return(returnVariables); }
public string FTP_HonoluluHI(string houseno, string Direction, string sname, string stype, string account, string parcelNumber, string ownername, string searchType, string orderNumber) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string outparcelno = "", taxparcel = "", mailingaddress = "", tax_district = "", siteaddr = "", legal_desc = "", year_built = "", propuse = "", par1 = "", par2 = ""; string Building_Value = "", LandValue = "", JustValue = "", cctaxyear = "", Cap = "", AssessedValue = "", Exemption = "", TaxableValue = ""; string strBill = "-", strBalance = "-", strBillDate = "-", strBillPaid = "-"; string taxowner = "", tax_addr = "", accno = "", alterkey = "", millagecode = "", milagerate = "", ctax_year = "", cpaiddate = "", cpaidamount = "", creceipt = "", combinedtaxamount = "", ceffdate = "", grosstax = "", ifpaidby = "", pleasepay = ""; string Address = "", taxauth1 = "", taxauth2 = "", taxauth3 = "", taxauth4 = "", TaxYear = ""; List <string> strissuecertificate = new List <string>(); List <string> taxhistorylink = new List <string>(); List <string> downloadlink = new List <string>(); List <string> taxhistorylinkinst = new List <string>(); string multi = "", TaxAuthority = ""; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; // using (driver = new PhantomJSDriver()) { driver = new ChromeDriver(); try { StartTime = DateTime.Now.ToString("HH:mm:ss"); try { driver.Navigate().GoToUrl("http://www.qpublic.net/hi/honolulu/contact.html"); Thread.Sleep(1000); taxauth1 = driver.FindElement(By.XPath("//*[@id='xr_xri']/div[1]/span[14]")).Text; taxauth2 = driver.FindElement(By.XPath("//*[@id='xr_xri']/div[1]/span[15]")).Text; taxauth3 = driver.FindElement(By.XPath("//*[@id='xr_xri']/div[1]/span[16]")).Text; taxauth4 = driver.FindElement(By.XPath("//*[@id='xr_xri']/div[1]/span[17]")).Text; TaxAuthority = taxauth1 + " " + taxauth2 + " " + taxauth3 + " " + taxauth4; gc.CreatePdf_WOP(orderNumber, "Taxing Authority", driver, "HI", "Honolulu"); } catch { } driver.Navigate().GoToUrl("http://qpublic9.qpublic.net/hi_honolulu_search.php"); Thread.Sleep(1000); string Parcelno = "", Ownername = "", parcellocation = ""; if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", ownername, "", "HI", "Honolulu"); //gc.TitleFlexSearch(orderNumber, "", "", address.Trim(), "HI", "Honolulu"); 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_HonoluluHI"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; parcelNumber = parcelNumber.Replace("-", ""); } if (searchType == "address") { try { driver.FindElement(By.LinkText("Search by Site Address")).Click(); Thread.Sleep(1000); if (Direction == "" && account == "") { Address = houseno + " " + sname; } if (Direction == "" && account != "") { Address = houseno + " " + sname + " " + account; } if (Direction != "" && account != "") { Address = houseno + " " + Direction + " " + sname + " " + account; } if (Direction != "" && account == "") { Address = houseno + " " + Direction + " " + sname; } sname = sname + " " + stype; sname = sname.Trim(); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[1]/td[2]/input")).SendKeys(houseno); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[3]/td[2]/input")).SendKeys(Direction); driver.FindElement(By.Id("streetName")).SendKeys(sname); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[4]/td[2]/input")).SendKeys(account); gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "HI", "Honolulu"); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td[2]/table/tbody/tr[4]/td[2]/input")).SendKeys(Keys.Enter); Thread.Sleep(1000); //IWebElement multirecord = driver.FindElement(By.XPath("//*[@id='mMessage']")); } catch { } gc.CreatePdf_WOP(orderNumber, "Address Search Result", driver, "HI", "Honolulu"); int Max = 0; IWebElement multiaddress = driver.FindElement(By.XPath("/html/body/table/tbody")); IList <IWebElement> TRmultiaddress = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> THmultiaddress = multiaddress.FindElements(By.TagName("th")); IList <IWebElement> TDmultiaddress; if (TRmultiaddress.Count > 28) { Max++; HttpContext.Current.Session["multiParcel_Honolulu_Maximum"] = "Maimum"; driver.Quit(); return("Maximum"); } if (TRmultiaddress.Count == 7) { IWebElement multiclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[1]/a")); multiclick.Click(); Max++; } if (TRmultiaddress.Count > 7) { foreach (IWebElement row in TRmultiaddress) { TDmultiaddress = row.FindElements(By.TagName("td")); if (row.Text.Contains(Address.ToUpper()) && !row.Text.Contains("Parcel Number") && !row.Text.Contains("Search") && row.Text.Trim() != "" && TDmultiaddress.Count == 4) { try { Parcelno = TDmultiaddress[0].Text.Trim(); //amck.TaxId = Parcelno; Ownername = TDmultiaddress[1].Text.Trim(); parcellocation = TDmultiaddress[2].Text.Trim(); string Multi = Ownername + "~" + parcellocation; gc.insert_date(orderNumber, Parcelno, 1560, Multi, 1, DateTime.Now); Max++; } catch { } } } } if (Max > 1) { HttpContext.Current.Session["multiParcel_Honolulu"] = "Yes"; driver.Quit(); return("MultiParcel"); } //if (Max == 1) //{ // IWebElement multiaddress1 = driver.FindElement(By.XPath("/html/body/table/tbody")); // IList<IWebElement> TRmultiaddress1 = multiaddress1.FindElements(By.TagName("tr")); // IList<IWebElement> THmultiaddress1 = multiaddress1.FindElements(By.TagName("th")); // IList<IWebElement> TDmultiaddress1; // foreach (IWebElement row in TRmultiaddress1) // { // TDmultiaddress1 = row.FindElements(By.TagName("td")); // if (row.Text.Contains(Address.ToUpper()) && !row.Text.Contains("Parcel Number") && !row.Text.Contains("Search") && row.Text.Trim() != "" && TDmultiaddress1.Count == 4) // { // try // { // IWebElement IRealEstate = TDmultiaddress1[0].FindElement(By.TagName("a")); // IRealEstate.Click(); // Thread.Sleep(2000); // break; // } // catch { } // } // } //} if (Max == 0) { HttpContext.Current.Session["Nodata_HonoluluHI"] = "Yes"; driver.Quit(); return("No Data Found"); } } if (searchType == "parcel") { try { driver.FindElement(By.XPath("/html/body/table[1]/tbody/tr/td/ul/li[2]/b/a")).SendKeys(Keys.Enter); Thread.Sleep(1000); } catch { } string s1 = "", s2 = "", s3 = "", s4 = "", s5 = "", s6 = ""; if (Convert.ToInt16(parcelNumber.Replace("-", "").Count()) != 12) { string[] parcelSplit = parcelNumber.Split('-'); s1 = parcelSplit[0]; s2 = parcelSplit[1]; s3 = parcelSplit[2]; s4 = parcelSplit[3]; s5 = parcelSplit[4]; s6 = parcelSplit[5]; parcelNumber = s2 + s3 + s4 + s5 + s6; } else { parcelNumber = parcelNumber.Replace("-", ""); } driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[2]")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "HI", "Honolulu"); driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[5]")).SendKeys(Keys.Enter); Thread.Sleep(1000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search Result", driver, "HI", "Honolulu"); try { IWebElement Iclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[1]/a")); Iclick.Click(); Thread.Sleep(2000); } catch { } int Max = 0; try { IWebElement multiaddress = driver.FindElement(By.XPath("/html/body/table/tbody")); IList <IWebElement> TRmultiaddress = multiaddress.FindElements(By.TagName("tr")); IList <IWebElement> THmultiaddress = multiaddress.FindElements(By.TagName("th")); IList <IWebElement> TDmultiaddress; if (TRmultiaddress.Count > 28) { Max++; HttpContext.Current.Session["multiParcel_Honolulu_Maximum"] = "Maimum"; driver.Quit(); return("Maximum"); } if (TRmultiaddress.Count == 7) { IWebElement multiclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td[1]/a")); multiclick.Click(); Max++; } if (TRmultiaddress.Count > 7) { foreach (IWebElement row in TRmultiaddress) { TDmultiaddress = row.FindElements(By.TagName("td")); if (!row.Text.Contains("Parcel Number") && !row.Text.Contains("Search") && row.Text.Trim() != "" && TDmultiaddress.Count == 4) { try { Parcelno = TDmultiaddress[0].Text.Trim(); Ownername = TDmultiaddress[1].Text.Trim(); parcellocation = TDmultiaddress[2].Text.Trim(); string Multi = Ownername + "~" + parcellocation; gc.insert_date(orderNumber, Parcelno, 1560, Multi, 1, DateTime.Now); Max++; } catch { } } } HttpContext.Current.Session["multiParcel_Honolulu"] = "Yes"; driver.Quit(); return("MultiParcel"); } //if (TRmultiaddress.Count <= 4) //{ // //TDmultiaddress[0].Click(); // driver.FindElement(By.XPath("//*[@id='searchResults']/tbody/tr[3]/td[1]/table/tbody/tr/td[2]/font")).Click(); // Thread.Sleep(1000); // Max++; //} if (Max == 0) { HttpContext.Current.Session["Nodata_HonoluluHI"] = "Yes"; driver.Quit(); return("No Data Found"); } } catch { } } //if (searchType == "ownername") //{ // try // { // driver.FindElement(By.LinkText("Owner Name")).SendKeys(Keys.Enter); // Thread.Sleep(1000); // } // catch { } // driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[2]")).SendKeys(ownername); // gc.CreatePdf_WOP(orderNumber, "Ownername Search", driver, "HI", "Honolulu"); // driver.FindElement(By.XPath("/html/body/form/table/tbody/tr/td/input[5]")).SendKeys(Keys.Enter); // Thread.Sleep(1000); // gc.CreatePdf_WOP(orderNumber, "Ownername Search Result", driver, "HI", "Honolulu"); // string ParcelNum = "", Owner_Name = "", ParcelLocation = ""; // int Max = 0; // IWebElement multiaddress = driver.FindElement(By.XPath("/html/body/table/tbody")); // IList<IWebElement> TRmultiaddress = multiaddress.FindElements(By.TagName("tr")); // IList<IWebElement> THmultiaddress = multiaddress.FindElements(By.TagName("th")); // IList<IWebElement> TDmultiaddress; // if (TRmultiaddress.Count > 28) // { // HttpContext.Current.Session["multiParcel_Honolulu_Maximum"] = "Maimum"; // return "Maximum"; // Max++; // } // if (TRmultiaddress.Count == 7) // { // IWebElement multiclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td[1]/a")); // multiclick.Click(); // Max++; // } // if (TRmultiaddress.Count > 7) // { // foreach (IWebElement row in TRmultiaddress) // { // TDmultiaddress = row.FindElements(By.TagName("td")); // if (!row.Text.Contains("Parcel Number") && !row.Text.Contains("Search") && row.Text.Trim() != "" && TDmultiaddress.Count >= 7) // { // try // { // ParcelNum = TDmultiaddress[0].Text.Trim(); // Owner_Name = TDmultiaddress[1].Text.Trim(); // ParcelLocation = TDmultiaddress[2].Text.Trim(); // string Multi = Owner_Name + "~" + ParcelLocation; // gc.insert_date(orderNumber, ParcelNum, 1328, Multi, 1, DateTime.Now); // Max++; // } // catch { } // } // } // HttpContext.Current.Session["multiParcel_Honolulu"] = "Yes"; // driver.Quit(); // return "MultiParcel"; // } // //if (TRmultiaddress.Count <= 4) // //{ // // //TDmultiaddress[0].Click(); // // driver.FindElement(By.XPath("//*[@id='searchResults']/tbody/tr[3]/td[1]/table/tbody/tr/td[2]/font")).Click(); // // Thread.Sleep(1000); // // Max++; // //} // if (Max == 0) // { // HttpContext.Current.Session["Zero_Honolulu"] = "Zero"; // driver.Quit(); // return "Zero"; // } //} // Property Details string propertydata = driver.FindElement(By.XPath("/html/body/center[2]/table[2]/tbody")).Text; string LocationAddress = "", Yearbuilt = "", LandArea_Feet = "", MillageRates = "", Propertyclass = ""; string OwnerName = "", LandArea_Acres = "", LegalInformation = ""; //IWebElement Iparcelno = driver.FindElement(By.XPath("/html/body/center[2]/table[2]/tbody/tr[3]/td[4]")); // parcelNumber = Iparcelno.Text.Trim(); parcelNumber = gc.Between(propertydata, "Parcel Number", "Data current").Trim(); OwnerName = gc.Between(propertydata, "Owner Name", "Project Name").Trim(); LocationAddress = gc.Between(propertydata, "Location Address", "Plat Map").Trim(); Propertyclass = gc.Between(propertydata, "Property Class", "Parcel Map").Trim(); LandArea_Feet = gc.Between(propertydata, "Land Area (approximate sq ft)", "Legal Information").Trim(); amck.TaxId = parcelNumber; try { LandArea_Acres = GlobalClass.After(propertydata, "Land Area (acres)").Trim(); } catch { } try { LandArea_Acres = gc.Between(propertydata, "Land Area (acres)", "Any ownership changes").Trim(); } catch { } LegalInformation = gc.Between(propertydata, "Legal Information", "Land Area (acres)").Trim(); try { IWebElement Iyearbuilt = driver.FindElement(By.XPath("/html/body/center[2]/table[6]/tbody/tr[3]/td[4]")); Yearbuilt = Iyearbuilt.Text.Trim(); } catch { } string propertydetails = OwnerName + "~" + LocationAddress + "~" + Propertyclass + "~" + LandArea_Feet + "~" + LandArea_Acres + "~" + LegalInformation + "~" + Yearbuilt; gc.insert_date(orderNumber, parcelNumber, 1555, propertydetails, 1, DateTime.Now); gc.CreatePdf(orderNumber, parcelNumber, "Assessment Details", driver, "HI", "Honolulu"); // Assessment Details string valuetype = "", Information = ""; try { driver.FindElement(By.LinkText("Show Historical Assessments")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcelNumber, "Assessment History Details", driver, "HI", "Honolulu"); } catch { } try { IWebElement Assessmentdetails = driver.FindElement(By.XPath("/html/body/center[2]/table[3]/tbody")); IList <IWebElement> TRAssessmentdetails = Assessmentdetails.FindElements(By.TagName("tr")); IList <IWebElement> THAssessmentdetails = Assessmentdetails.FindElements(By.TagName("th")); IList <IWebElement> TDAssessmentdetails; foreach (IWebElement row in TRAssessmentdetails) { TDAssessmentdetails = row.FindElements(By.TagName("td")); if (TDAssessmentdetails.Count != 0 && !row.Text.Contains("Assessment Information") && row.Text.Trim() != "" && !row.Text.Contains("Assessment Year") && TDAssessmentdetails.Count == 12) { string AssessmentDetail = TDAssessmentdetails[0].Text + "~" + TDAssessmentdetails[1].Text + "~" + TDAssessmentdetails[2].Text + "~" + TDAssessmentdetails[3].Text + "~" + TDAssessmentdetails[4].Text + "~" + TDAssessmentdetails[5].Text + "~" + TDAssessmentdetails[6].Text + "~" + TDAssessmentdetails[7].Text + "~" + TDAssessmentdetails[8].Text + "~" + TDAssessmentdetails[9].Text + "~" + TDAssessmentdetails[10].Text + "~" + TDAssessmentdetails[11].Text; gc.insert_date(orderNumber, parcelNumber, 1556, AssessmentDetail, 1, DateTime.Now); } } } catch { } // Current tax details int j = 0, s = 0; string Penalty = ""; string Interest = ""; try { IWebElement CurrentTax = driver.FindElement(By.XPath("/html/body/center[2]/table[11]/tbody")); IList <IWebElement> TRCurrentTax = CurrentTax.FindElements(By.TagName("tr")); IList <IWebElement> THCurrentTax = CurrentTax.FindElements(By.TagName("th")); IList <IWebElement> TDCurrentTax; foreach (IWebElement row in TRCurrentTax) { TDCurrentTax = row.FindElements(By.TagName("td")); if (TDCurrentTax.Count != 0 && !row.Text.Contains("Current Tax") && row.Text.Trim() != "" && !row.Text.Contains("Tax Period") && !row.Text.Contains("pay online")) { if (TDCurrentTax.Count != 0 && !row.Text.Contains("Current Tax") && row.Text.Trim() != "" && !row.Text.Contains("Tax Period") && !row.Text.Contains("pay online") && TDCurrentTax.Count == 10) { string CurrentTaxDetail1 = TDCurrentTax[0].Text + "~" + TDCurrentTax[1].Text + "~" + TDCurrentTax[2].Text + "~" + TDCurrentTax[3].Text + "~" + TDCurrentTax[4].Text + "~" + TDCurrentTax[5].Text + "~" + TDCurrentTax[6].Text + "~" + TDCurrentTax[7].Text + "~" + TDCurrentTax[8].Text + "~" + TDCurrentTax[9].Text; gc.insert_date(orderNumber, parcelNumber, 1557, CurrentTaxDetail1, 1, DateTime.Now); } if (TDCurrentTax.Count != 0 && !row.Text.Contains("Current Tax") && row.Text.Trim() != "" && !row.Text.Contains("Tax Period") && !row.Text.Contains("pay online") && TDCurrentTax.Count == 2) { string CurrentTaxDetail2 = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + TDCurrentTax[1].Text; gc.insert_date(orderNumber, parcelNumber, 1557, CurrentTaxDetail2, 1, DateTime.Now); } Penalty = TDCurrentTax[6].Text.Trim(); Interest = TDCurrentTax[7].Text.Trim(); if (Penalty != "$ 0.00" || Interest != "$ 0.00") { s++; } //if (j == 0) //{ // string[] taxyear = TDCurrentTax[0].Text.Split('-'); // amck.TaxYear = taxyear[0]; // amck.Instamount1 = TDCurrentTax[5].Text; //} //if (j == 1) //{ // amck.Instamount2 = TDCurrentTax[5].Text; //} //j++; } } } catch { } try { IWebElement CurrentTax = driver.FindElement(By.XPath("/html/body/center[2]/table[10]/tbody")); IList <IWebElement> TRCurrentTax = CurrentTax.FindElements(By.TagName("tr")); IList <IWebElement> THCurrentTax = CurrentTax.FindElements(By.TagName("th")); IList <IWebElement> TDCurrentTax; foreach (IWebElement row in TRCurrentTax) { TDCurrentTax = row.FindElements(By.TagName("td")); if (TDCurrentTax.Count != 0 && !row.Text.Contains("Current Tax") && row.Text.Trim() != "" && !row.Text.Contains("Tax Period") && !row.Text.Contains("pay online")) { if (TDCurrentTax.Count != 0 && !row.Text.Contains("Current Tax") && row.Text.Trim() != "" && !row.Text.Contains("Tax Period") && !row.Text.Contains("pay online") && TDCurrentTax.Count == 10) { string CurrentTaxDetail1 = TDCurrentTax[0].Text + "~" + TDCurrentTax[1].Text + "~" + TDCurrentTax[2].Text + "~" + TDCurrentTax[3].Text + "~" + TDCurrentTax[4].Text + "~" + TDCurrentTax[5].Text + "~" + TDCurrentTax[6].Text + "~" + TDCurrentTax[7].Text + "~" + TDCurrentTax[8].Text + "~" + TDCurrentTax[9].Text; gc.insert_date(orderNumber, parcelNumber, 1557, CurrentTaxDetail1, 1, DateTime.Now); } if (TDCurrentTax.Count != 0 && !row.Text.Contains("Current Tax") && row.Text.Trim() != "" && !row.Text.Contains("Tax Period") && !row.Text.Contains("pay online") && TDCurrentTax.Count == 2) { string CurrentTaxDetail2 = "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + TDCurrentTax[1].Text; gc.insert_date(orderNumber, parcelNumber, 1557, CurrentTaxDetail2, 1, DateTime.Now); } Penalty = TDCurrentTax[6].Text.Trim(); Interest = TDCurrentTax[7].Text.Trim(); if (Penalty != "$ 0.00" || Interest != "$ 0.00") { s++; } //if (j == 0) //{ // string[] taxyear = TDCurrentTax[0].Text.Split('-'); // amck.TaxYear = taxyear[0]; // amck.Instamount1 = TDCurrentTax[5].Text; //} //if (j == 1) //{ // amck.Instamount2 = TDCurrentTax[5].Text; //} //j++; } } } catch { } // Tax History Taxes int tyear = 0; try { IWebElement ITaxyear = driver.FindElement(By.XPath("/html/body/center[2]/a/table[1]/tbody/tr[3]/td[1]/a")); TaxYear = ITaxyear.Text; tyear = Convert.ToInt16(TaxYear); } catch { } //try //{ // driver.FindElement(By.LinkText("Show Historical Taxes")).Click(); // Thread.Sleep(2000); // gc.CreatePdf(orderNumber, parcelNumber, "Tax Histroy Details", driver, "HI", "Honolulu"); //} //catch { } try { IWebElement TaxHistroy1 = driver.FindElement(By.XPath("/html/body/center[2]/a/table[1]/tbody")); IList <IWebElement> TRTaxHistroy1 = TaxHistroy1.FindElements(By.TagName("tr")); IList <IWebElement> THTaxHistroy1 = TaxHistroy1.FindElements(By.TagName("th")); IList <IWebElement> TDTaxHistroy1; foreach (IWebElement row in TRTaxHistroy1) { TDTaxHistroy1 = row.FindElements(By.TagName("td")); if (TDTaxHistroy1.Count != 0 && !row.Text.Contains("Historical Tax") && row.Text.Trim() != "" && !row.Text.Contains("Penalty") && !row.Text.Contains("Click") && TDTaxHistroy1.Count == 7) { string TaxHistoryDetail = TDTaxHistroy1[0].Text + "~" + TDTaxHistroy1[1].Text + "~" + TDTaxHistroy1[2].Text + "~" + TDTaxHistroy1[3].Text + "~" + TDTaxHistroy1[4].Text + "~" + TDTaxHistroy1[5].Text + "~" + TDTaxHistroy1[6].Text; gc.insert_date(orderNumber, parcelNumber, 1582, TaxHistoryDetail, 1, DateTime.Now); } } } catch { } string current = driver.CurrentWindowHandle; string TotalAmount = ""; string Current_Tax = ""; int t = 0; for (int i = 0; i < 3; i++) { try { IWebElement TaxHistroy = driver.FindElement(By.XPath("/html/body/center[2]/a/table[1]/tbody")); IList <IWebElement> TRTaxHistroy = TaxHistroy.FindElements(By.TagName("tr")); IList <IWebElement> THTaxHistroy = TaxHistroy.FindElements(By.TagName("th")); IList <IWebElement> TDTaxHistroy; foreach (IWebElement row in TRTaxHistroy) { TDTaxHistroy = row.FindElements(By.TagName("td")); if (TDTaxHistroy.Count != 0 && !row.Text.Contains("Historical Tax") && row.Text.Trim() != "" && !row.Text.Contains("Penalty") && !row.Text.Contains("Click") && TDTaxHistroy[0].Text.Trim() == Convert.ToString(tyear) && TDTaxHistroy.Count == 7) { if (t == 0) { TotalAmount = TDTaxHistroy[6].Text.Trim(); Current_Tax = TDTaxHistroy[1].Text.Trim(); } IWebElement IRealEstate = TDTaxHistroy[0].FindElement(By.TagName("a")); IRealEstate.Click(); Thread.Sleep(4000); t++; break; } } } catch { } try { driver.SwitchTo().Window(driver.WindowHandles.Last()); Thread.Sleep(2000); } catch { } try { gc.CreatePdf(orderNumber, parcelNumber, "Tax Info Details" + tyear, driver, "HI", "Honolulu"); IWebElement TaxPayHistroy = driver.FindElement(By.XPath("/html/body/center[2]/table[4]/tbody")); IList <IWebElement> TRTaxPayHistroy = TaxPayHistroy.FindElements(By.TagName("tr")); IList <IWebElement> THTaxPayHistroy = TaxPayHistroy.FindElements(By.TagName("th")); IList <IWebElement> TDTaxPayHistroy; foreach (IWebElement row in TRTaxPayHistroy) { TDTaxPayHistroy = row.FindElements(By.TagName("td")); if (TDTaxPayHistroy.Count != 0 && !row.Text.Contains("Tax Payments") && row.Text.Trim() != "" && !row.Text.Contains("Payment Sequence") && !row.Text.Contains("Totals") && TDTaxPayHistroy.Count == 7) { string TaxPayHistoryDetail1 = TDTaxPayHistroy[0].Text + "~" + TDTaxPayHistroy[1].Text + "~" + TDTaxPayHistroy[2].Text + "~" + TDTaxPayHistroy[3].Text + "~" + TDTaxPayHistroy[4].Text + "~" + TDTaxPayHistroy[5].Text + "~" + TDTaxPayHistroy[6].Text; gc.insert_date(orderNumber, parcelNumber, 1559, TaxPayHistoryDetail1, 1, DateTime.Now); } if (TDTaxPayHistroy.Count != 0 && !row.Text.Contains("Tax Payments") && row.Text.Trim() != "" && !row.Text.Contains("Payment Sequence") && row.Text.Contains("Totals") && TDTaxPayHistroy.Count == 5) { string TaxPayHistoryDetail1 = "" + "~" + TDTaxPayHistroy[0].Text + "~" + "" + "~" + TDTaxPayHistroy[1].Text + "~" + TDTaxPayHistroy[2].Text + "~" + TDTaxPayHistroy[3].Text + "~" + TDTaxPayHistroy[4].Text; gc.insert_date(orderNumber, parcelNumber, 1559, TaxPayHistoryDetail1, 1, DateTime.Now); } if (TDTaxPayHistroy.Count != 0 && row.Text.Trim() != "" && !row.Text.Contains("Payment Sequence") && row.Text.Contains("No Tax Payments") && TDTaxPayHistroy.Count == 1) { string TaxPayHistoryDetail1 = "" + "~" + TDTaxPayHistroy[0].Text + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, parcelNumber, 1559, TaxPayHistoryDetail1, 1, DateTime.Now); } } } catch { } // Tax Information Details int k = 0, m = 0; int Currentyear = DateTime.Now.Year; string strPenalty = "", strInterest = ""; try { IWebElement TaxDetails = driver.FindElement(By.XPath("/html/body/center[2]/table[3]/tbody")); IList <IWebElement> TRTaxDetails = TaxDetails.FindElements(By.TagName("tr")); IList <IWebElement> THTaxDetails = TaxDetails.FindElements(By.TagName("th")); IList <IWebElement> TDTaxDetails; foreach (IWebElement row in TRTaxDetails) { TDTaxDetails = row.FindElements(By.TagName("td")); if (TDTaxDetails.Count != 0 && !row.Text.Contains("Tax Details") && row.Text.Trim() != "" && !row.Text.Contains("Tax Period")) { if (TDTaxDetails.Count != 0 && !row.Text.Contains("Tax Details") && row.Text.Trim() != "" && !row.Text.Contains("Tax Period") && !row.Text.Contains("Totals") && TDTaxDetails.Count == 7) { string TaxInfoDetail1 = TDTaxDetails[0].Text + "~" + TDTaxDetails[1].Text + "~" + TDTaxDetails[2].Text + "~" + TDTaxDetails[3].Text + "~" + TDTaxDetails[4].Text + "~" + TDTaxDetails[5].Text + "~" + TDTaxDetails[6].Text + "~" + TaxAuthority; gc.insert_date(orderNumber, parcelNumber, 1558, TaxInfoDetail1, 1, DateTime.Now); } if (TDTaxDetails.Count != 0 && !row.Text.Contains("Tax Details") && row.Text.Trim() != "" && !row.Text.Contains("Tax Period") && row.Text.Contains("Totals") && TDTaxDetails.Count == 6) { string TaxInfoDetail2 = "" + "~" + TDTaxDetails[0].Text + "~" + TDTaxDetails[1].Text + "~" + TDTaxDetails[2].Text + "~" + TDTaxDetails[3].Text + "~" + TDTaxDetails[4].Text + "~" + TDTaxDetails[5].Text + "~" + TaxAuthority; gc.insert_date(orderNumber, parcelNumber, 1558, TaxInfoDetail2, 1, DateTime.Now); } strPenalty = TDTaxDetails[4].Text.Trim(); strInterest = TDTaxDetails[5].Text.Trim(); if (strPenalty != "0.00" || strInterest != "0.00") { m++; } if (k == 0 && TDTaxDetails[1].Text.Contains("Beginning Tax") && Currentyear == tyear) { string[] Staxyear = TDTaxDetails[0].Text.Split('-'); amck.TaxYear = Staxyear[0]; amck.Instamount1 = TDTaxDetails[2].Text; } if (k == 1 && TDTaxDetails[1].Text.Contains("Payment") && Currentyear == tyear) { amck.Instamountpaid1 = TDTaxDetails[3].Text; } else if ((k == 1 && TDTaxDetails[1].Text.Contains("Beginning Tax") && Currentyear == tyear)) { amck.Instamount2 = TDTaxDetails[2].Text; } if (k == 2 && TDTaxDetails[1].Text.Contains("Beginning Tax") && Currentyear == tyear) { amck.Instamount2 = TDTaxDetails[2].Text; } if (k == 3 && TDTaxDetails[1].Text.Contains("Payment") && Currentyear == tyear) { amck.Instamountpaid2 = TDTaxDetails[3].Text; } k++; } } } catch { } if (t == 1) { if (TotalAmount.Trim() == "$0.00") { amck.InstPaidDue1 = "Paid"; amck.IsDelinquent = "No"; } else if (s != 0 || m != 0) { amck.IsDelinquent = "Yes"; } else { if (Current_Tax == TotalAmount) { 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); } } // Tax Credit Details try { IWebElement TaxCredit = driver.FindElement(By.XPath("/html/body/center[2]/table[5]/tbody")); IList <IWebElement> TRTaxCredit = TaxCredit.FindElements(By.TagName("tr")); IList <IWebElement> THTaxCredit = TaxCredit.FindElements(By.TagName("th")); IList <IWebElement> TDTaxCredit; foreach (IWebElement row in TRTaxCredit) { TDTaxCredit = row.FindElements(By.TagName("td")); if (TDTaxCredit.Count != 0 && !row.Text.Contains("Tax Credits") && row.Text.Trim() != "" && !row.Text.Contains("Period") && !row.Text.Contains("Total") && TDTaxCredit.Count == 3) { string TaxCreditDetail1 = TDTaxCredit[0].Text + "~" + TDTaxCredit[1].Text + "~" + TDTaxCredit[2].Text; gc.insert_date(orderNumber, parcelNumber, 1584, TaxCreditDetail1, 1, DateTime.Now); } if (TDTaxCredit.Count != 0 && !row.Text.Contains("Tax Credits") && row.Text.Trim() != "" && !row.Text.Contains("Period") && row.Text.Contains("Total") && TDTaxCredit.Count == 2) { string TaxCreditDetail2 = "" + "~" + TDTaxCredit[0].Text + "~" + TDTaxCredit[1].Text; gc.insert_date(orderNumber, parcelNumber, 1584, TaxCreditDetail2, 1, DateTime.Now); } if (TDTaxCredit.Count != 0 && row.Text.Trim() != "" && !row.Text.Contains("Period") && !row.Text.Contains("Total") && row.Text.Contains("No Tax Credits applicable") && TDTaxCredit.Count == 1) { string TaxCreditDetail2 = "" + "~" + TDTaxCredit[0].Text + "~" + ""; gc.insert_date(orderNumber, parcelNumber, 1584, TaxCreditDetail2, 1, DateTime.Now); } } } catch { } driver.SwitchTo().Window(current); Thread.Sleep(3000); tyear--; } TaxTime = DateTime.Now.ToString("HH:mm:ss"); driver.Quit(); gc.mergpdf(orderNumber, "HI", "Honolulu"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "HI", "Honolulu", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public rpt_dtr_summary() { gc = new GlobalClass(); gm = new GlobalMethod(); InitializeComponent(); }
public ActionResult AddOrEdit(Category catg, FormCollection fobj) { try { using (GerminmedContext db = new GerminmedContext()) { if (catg.InnerBannerImageUpload != null) { string fileName = Path.GetFileNameWithoutExtension(catg.InnerBannerImageUpload.FileName); string extension = Path.GetExtension(catg.InnerBannerImageUpload.FileName); fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension; catg.InnerBannerImageUrl = "~/AppFiles/Images/" + fileName; catg.InnerBannerImageUpload.SaveAs(Path.Combine(Server.MapPath("~/AppFiles/Images/"), fileName)); } else { catg.InnerBannerImageUrl = null; } if (catg.Id == 0) { if (catg.ImageUpload != null) { string fileName = Path.GetFileNameWithoutExtension(catg.ImageUpload.FileName); string extension = Path.GetExtension(catg.ImageUpload.FileName); fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension; catg.ImageUrl = "~/AppFiles/Images/" + fileName; catg.ImageUpload.SaveAs(Path.Combine(Server.MapPath("~/AppFiles/Images/"), fileName)); } else { catg.ImageUrl = null; } db.Category.Add(catg); db.SaveChanges(); } else { //if (catg.ImageUpload != null) //{ // string fileName = Path.GetFileNameWithoutExtension(catg.ImageUpload.FileName); // string extension = Path.GetExtension(catg.ImageUpload.FileName); // fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension; // catg.ImageUrl = "~/AppFiles/Images/" + fileName; // catg.ImageUpload.SaveAs(Path.Combine(Server.MapPath("~/AppFiles/Images/"), fileName)); //} //else //{ // catg.ImageUrl = null; //} var currentItem = db.Category.Where(b => b.Id == catg.Id).FirstOrDefault <Category>(); currentItem.Title = catg.Title; currentItem.ParentId = catg.ParentId; currentItem.Description = catg.Description; currentItem.InnerBannerImageUrl = catg.InnerBannerImageUrl; // currentItem.ImageUrl = catg.ImageUrl; db.Entry(currentItem).State = EntityState.Modified; db.SaveChanges(); } } return(Json(data: new { success = true, html = GlobalClass.RenderRazorViewToString(this, "ViewAll", model: GetAll()), message = "Submitted Successfully" }, behavior: JsonRequestBehavior.AllowGet)); //RedirectToAction("ViewAll"); } catch (Exception ex) { return(Json(new { success = false, message = ex.Message }, JsonRequestBehavior.AllowGet)); } }
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 of 6/30/2018)").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("/html/body/div[3]/div/div[2]/div/form/div[1]/div/dl/dd[1]/a")).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_GAClayton(string houseno, string sname, string unitno, string parcelNumber, string searchType, string orderNumber, string ownername, string directParcel) { string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "", AssessTakenTime = "", TaxTakentime = "", CityTaxtakentime = ""; string TotaltakenTime = ""; string OwnerName = "", JointOwnerName = "", PropertyAddress = "", MailingAddress = "", Municipality = "", PropertyUse = "", YearBuilt = "", LegalDescription = "", parcel_id = ""; List <string> strTaxRealestate = new List <string>(); List <string> strTaxRealestate1 = new List <string>(); GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; //IWebElement iframeElement1; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; using (driver = new PhantomJSDriver()) { try { StartTime = DateTime.Now.ToString("HH:mm:ss"); if (searchType == "titleflex") { string address = houseno + " " + sname + " " + unitno; gc.TitleFlexSearch(orderNumber, parcelNumber, "", address, "GA", "Clayton"); 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_GAClayton"] = "Yes"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } driver.Navigate().GoToUrl("https://www.claytoncountyga.gov/government/tax-assessor/property-search-information/real-property-records-search"); Thread.Sleep(3000); if (searchType == "address") { IWebElement frame12 = driver.FindElement(By.XPath("//*[@id='Clayton County']")); driver.SwitchTo().Frame(frame12); driver.FindElement(By.Name("StreetName")).SendKeys(sname); driver.FindElement(By.Id("qLocn")).SendKeys(houseno); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "GA", "Clayton"); driver.FindElement(By.Id("btnSrchAddress")).SendKeys(Keys.Enter); Thread.Sleep(4000); gc.CreatePdf_WOP(orderNumber, "Address search result", driver, "GA", "Clayton"); afterclick(houseno, sname); if (searchcount1 == 0) { driver.FindElement(By.LinkText("NEXT")).Click(); Thread.Sleep(4000); afterclick(houseno, sname); if (searchcount1 == 0) { driver.FindElement(By.LinkText("NEXT")).Click(); Thread.Sleep(4000); afterclick(houseno, sname); } } } if (searchType == "parcel") { HttpContext.Current.Session["parcel_GAClayton"] = "Yes"; driver.Quit(); return("No parcel Search"); } if (searchType == "ownername") { HttpContext.Current.Session["owner_GAClayton"] = "Yes"; driver.Quit(); return("No ownername Search"); } //property_details string location = "", district = "", county = "", totalparcel = "", landovr = "", improvementovr = "", value1 = "", value2 = "", comments = ""; parcel_id = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr/td/table[1]/tbody/tr[6]/td[2]")).Text.Trim().Replace("PARCEL ID . . ", "").Replace("-", ""); gc.CreatePdf(orderNumber, parcel_id, "property details", driver, "GA", "Clayton"); location = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr/td/table[1]/tbody/tr[7]/td[2]")).Text.Trim().Replace("LOCATION . . ", ""); district = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr/td/table[2]/tbody/tr[1]/td[4]")).Text.Trim().Replace("DISTRICT", ""); county = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr/td/table[2]/tbody/tr[1]/td[5]")).Text.Trim(); if (county.Contains("COUNTY")) { county = county.Replace("COUNTY - ", ""); } if (county.Contains("CONELY") || county.Contains("FOREST PARK") || county.Contains("JONESBORO") || county.Contains("LOVEJOY") || county.Contains("MORROW") || county.Contains("REX") || county.Contains("RIVERDALE")) { comments = "Please call to specific city tax collector"; } else { comments = "Non City Tax"; } string owner1 = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr/td/table[1]/tbody/tr[6]/td[1]")).Text.Trim(); string owner2 = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr/td/table[1]/tbody/tr[7]/td[1]")).Text.Trim(); string owner3 = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr/td/table[1]/tbody/tr[8]/td[1]")).Text.Trim(); OwnerName = owner1 + " " + owner2 + " " + owner3; string Legal1 = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr/td/table[2]/tbody/tr[1]/td[3]")).Text.Trim(); string Legal2 = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr/td/table[2]/tbody/tr[2]/td[3]")).Text.Trim(); string Legal3 = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr/td/table[2]/tbody/tr[3]/td[3]")).Text.Trim(); string Legal4 = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr/td/table[2]/tbody/tr[3]/td[5]")).Text.Trim(); LegalDescription = Legal1 + " " + Legal2 + " " + Legal3 + " " + Legal4; // Location~Legal Description~District~County~Owner Name~Total Parcel Values~Comments // assessment details try { //int c = 0;//*[@id="content"]/table/tbody/tr/td/table[9]/tbody for (int c = 1; c < 10; c++) { try { IWebElement tables1 = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr/td/table[" + c + "]/tbody")); IList <IWebElement> ITaxRealRowQ1 = tables1.FindElements(By.TagName("tr")); IList <IWebElement> ITaxRealTdQ1; if (tables1.Text.Contains("TOTAL PARCEL VALUES")) { foreach (IWebElement ItaxReal1 in ITaxRealRowQ1) { ITaxRealTdQ1 = ItaxReal1.FindElements(By.TagName("td")); if (ITaxRealTdQ1.Count == 7 && !ItaxReal1.Text.Contains("TOTAL PARCEL VALUES")) { try { totalparcel = ITaxRealTdQ1[0].Text; landovr = ITaxRealTdQ1[1].Text; improvementovr = ITaxRealTdQ1[3].Text; value1 = ITaxRealTdQ1[5].Text; value2 = ITaxRealTdQ1[6].Text; } catch { } } } } } catch { } } } catch (Exception e) { } string property_details = location + "~" + LegalDescription + "~" + district + "~" + county + "~" + OwnerName + "~" + totalparcel + "~" + comments; gc.insert_date(orderNumber, parcel_id, 490, property_details, 1, DateTime.Now); string assessment_details = landovr + "~" + improvementovr + "~" + value1 + "~" + value2; gc.insert_date(orderNumber, parcel_id, 491, assessment_details, 1, DateTime.Now); //Land / OVR~Improvements / OVR~Current Year Value~Prior Year Value IWebElement element = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr/td/table[1]/tbody/tr[2]/td/a[3]")); IJavaScriptExecutor js = driver as IJavaScriptExecutor; js.ExecuteScript("arguments[0].click();", element); Thread.Sleep(6000); gc.CreatePdf(orderNumber, parcel_id, "sales data", driver, "GA", "Clayton"); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); driver.Navigate().GoToUrl("http://weba.co.clayton.ga.us/tcmsvr/htdocs/indextcm.shtml"); Thread.Sleep(4000); driver.FindElement(By.Name("StreetName")).SendKeys(sname); driver.FindElement(By.Id("qLocn")).SendKeys(houseno); gc.CreatePdf(orderNumber, parcel_id, "tax input", driver, "GA", "Clayton"); driver.FindElement(By.Id("btnSrchAddress")).SendKeys(Keys.Enter); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcel_id, "tax info", driver, "GA", "Clayton"); aftertaxclick(houseno, sname); if (searchcount == 0) { driver.FindElement(By.LinkText("NEXT")).Click(); Thread.Sleep(4000); aftertaxclick(houseno, sname); if (searchcount == 0) { driver.FindElement(By.LinkText("NEXT")).Click(); Thread.Sleep(4000); aftertaxclick(houseno, sname); } } // Tax Payment Details Table: gc.CreatePdf(orderNumber, parcel_id, "Tax Payment Details", driver, "GA", "Clayton"); List <string> data = new List <string>(); IWebElement tbmulti = driver.FindElement(By.ClassName("apps10")); IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; int j = 0; foreach (IWebElement row in TRmulti) { if (!row.Text.Contains("TAX YEAR")) { TDmulti = row.FindElements(By.TagName("td")); if (TDmulti.Count == 5 && TDmulti[0].Text.Trim() != "") { j++; string year = TDmulti[0].Text; IWebElement ITaxBillCount = TDmulti[0].FindElement(By.TagName("a")); string strTaxReal = ITaxBillCount.GetAttribute("href"); strTaxRealestate1.Add(strTaxReal); //Tax Year~Bill No~Property Owner~Due Date~Date Paid string tax_payment = TDmulti[0].Text + "~" + TDmulti[1].Text + "~" + TDmulti[2].Text + "~" + TDmulti[3].Text + "~" + TDmulti[4].Text; gc.insert_date(orderNumber, parcel_id, 492, tax_payment, 1, DateTime.Now); } } } // int k = 0; foreach (string real in strTaxRealestate1) { k++; if (k == j) { //current year data string property_location = "", Tax_year = "", billno = "", Date_paid = "", Tax_District = "", Due_date = "", FairMarketValue = "", AssessedValue = "", Exemptions = "", TaxAuthority = ""; driver.Navigate().GoToUrl(real); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcel_id, "Tax Bill Details", driver, "GA", "Clayton"); //Tax Bill Details Table: property_location = driver.FindElement(By.XPath(" //*[@id='content']/table/tbody/tr[3]/td/span/em/strong")).Text.Trim(); Tax_year = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr[5]/td[1]/p[2]")).Text.Trim(); billno = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr[5]/td[2]/p[2]")).Text.Trim(); Date_paid = driver.FindElement(By.XPath(" //*[@id='content']/table/tbody/tr[5]/td[4]/p[2]")).Text.Trim(); Tax_District = driver.FindElement(By.XPath(" //*[@id='content']/table/tbody/tr[5]/td[5]/p[2]")).Text.Trim(); Due_date = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr[5]/td[6]/p[2]")).Text.Trim(); FairMarketValue = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr[8]/td[1]")).Text.Trim(); FairMarketValue = WebDriverTest.After(FairMarketValue, "FAIR MARKET VALUE ").Trim(); AssessedValue = driver.FindElement(By.XPath(" //*[@id='content']/table/tbody/tr[8]/td[2]")).Text.Trim(); AssessedValue = WebDriverTest.After(AssessedValue, "ASSESSED VALUE").Trim(); Exemptions = driver.FindElement(By.XPath(" //*[@id='content']/table/tbody/tr[10]/td[1]")).Text.Trim(); Exemptions = WebDriverTest.After(Exemptions, "EXEMPTIONS").Trim(); TaxAuthority = "Clayton County Administration Annex 3, 2nd Floor 121 South McDonough St. Jonesboro, GA 30236 Tax: (770) 477-3311"; //Property located at~Tax Year~Bill No~Date Paid~Tax District~Due date~Fair Market Value~Assessed Value~Exemptions~Tax Authority string tax_bill = property_location + "~" + Tax_year + "~" + billno + "~" + Date_paid + "~" + Tax_District + "~" + Due_date + "~" + FairMarketValue + "~" + AssessedValue + "~" + Exemptions + "~" + TaxAuthority; gc.insert_date(orderNumber, parcel_id, 493, tax_bill, 1, DateTime.Now); //Current Tax Statement Details Table: //Tax Statement~Millage Rate~Tax string balance = ""; balance = driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr[41]")).Text; if (!balance.Contains("Delinquent Penalities")) { balance = WebDriverTest.After(balance, "Total balance due:").Trim(); } else { string date = DateTime.Now.ToString("MM/dd/yyyy"); driver.FindElement(By.Id("date2")).SendKeys(date); driver.FindElement(By.XPath("//*[@id='content']/table/tbody/tr[43]/td[2]/form/input[2]")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcel_id, "Pay off Details", driver, "GA", "Clayton"); string countytax = "", interest = "", deliqpenality = "", fifa = "", amsfee = "", legalfee = "", totaldue = "", payoffdate = ""; payoffdate = driver.FindElement(By.XPath("//*[@id='content']/table[2]/tbody/tr[6]/td[3]")).Text; IWebElement tbmulti12 = driver.FindElement(By.XPath("//*[@id='content']/table[3]/tbody/tr/td[1]/table/tbody")); IList <IWebElement> TRmulti12 = tbmulti12.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti12; int m = 0; foreach (IWebElement row in TRmulti12) { TDmulti12 = row.FindElements(By.TagName("td")); if (TDmulti12.Count == 2 && TDmulti12[0].Text.Trim() != "") { if (m == 1) { countytax = TDmulti12[1].Text; } if (m == 2) { interest = TDmulti12[1].Text; } if (m == 3) { deliqpenality = TDmulti12[1].Text; } if (m == 4) { fifa = TDmulti12[1].Text; } if (m == 5) { amsfee = TDmulti12[1].Text; } if (m == 6) { legalfee = TDmulti12[1].Text; } if (m == 7) { totaldue = TDmulti12[1].Text; } m++; } } //PayOff Date~Due Date~Tax District~County Tax~Interest~Deliquent Penalty~FIFA~AMS Fee~Legal Fee~Total Due string tax_deli = payoffdate + "~" + countytax + "~" + interest + "~" + deliqpenality + "~" + fifa + "~" + amsfee + "~" + legalfee + "~" + totaldue; gc.insert_date(orderNumber, parcel_id, 494, tax_deli, 1, DateTime.Now); driver.Navigate().Back(); Thread.Sleep(4000); } IWebElement tbmulti1 = driver.FindElement(By.ClassName("apps10")); IList <IWebElement> TRmulti1 = tbmulti1.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti1; foreach (IWebElement row in TRmulti1) { TDmulti1 = row.FindElements(By.TagName("td")); if (!row.Text.Contains("Millage Rate") && !row.Text.Contains("FAIR MARKET VALUE")) { if (TDmulti1.Count == 4 && TDmulti1[0].Text.Trim() != "") { string tax_info11 = TDmulti1[0].Text + "~" + TDmulti1[1].Text + "~" + TDmulti1[2].Text; gc.insert_date(orderNumber, parcel_id, 495, tax_info11, 1, DateTime.Now); } } } string tax_info1 = "Total Due" + "~" + "" + "~" + balance; gc.insert_date(orderNumber, parcel_id, 495, tax_info1, 1, DateTime.Now); } if (k == (j - 1)) { driver.Navigate().GoToUrl(real); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcel_id, "tax info year", driver, "GA", "Clayton"); driver.Navigate().Back(); Thread.Sleep(2000); } if (k == (j - 2)) { driver.Navigate().GoToUrl(real); Thread.Sleep(2000); gc.CreatePdf(orderNumber, parcel_id, "tax info year1", driver, "GA", "Clayton"); driver.Navigate().Back(); Thread.Sleep(2000); } } if (county == "RIVERDALE") { driver.Navigate().GoToUrl("https://wipp.edmundsassoc.com/Wipp/?wippid=RDGA"); Thread.Sleep(4000); string address = houseno + " " + sname; driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/div/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr[2]/td[5]/input")).SendKeys(address); gc.CreatePdf(orderNumber, parcel_id, "city search", driver, "GA", "Clayton"); // gc.CreatePdf_WOP(orderNumber, "city Address search", driver, "GA", "Clayton"); driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/div/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr[2]/td[6]/button")).SendKeys(Keys.Enter); Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcel_id, "search result", driver, "GA", "Clayton"); IWebElement searchtableElement1 = driver.FindElement(By.XPath("/html/body/div[2]/div/table/tbody/tr[2]/td[2]/div/table/tbody/tr[1]/td/table/tbody")); IList <IWebElement> searchtableRow1 = searchtableElement1.FindElements(By.TagName("tr")); IList <IWebElement> searchrowTD1; // List<string> searchlist1 = new List<string>(); // int i1 = 1, p = 0; // string[] parcel = new string[3]; foreach (IWebElement row in searchtableRow1) { searchrowTD1 = row.FindElements(By.TagName("td")); if (searchrowTD1.Count != 0) { if (!row.Text.Contains("Property Location")) { if (row.Text.Contains(address.ToUpper())) { IWebElement city = searchrowTD1[0].FindElement(By.TagName("input")); city.Click(); break; } } } } Thread.Sleep(4000); gc.CreatePdf(orderNumber, parcel_id, "tax info city", driver, "GA", "Clayton"); //Block/Lot/Qual: 1315.1C D 018. Tax Account Id: 2301 Property Location: 6765 POWERS ST Zoning Code: Owner Name/Address: MARTIN HEIDEMARLE Land Value: 4,400 284 HIGHAM HILL RD Improvement Value: 13,715 E175RG Exempt Value: 0 LONDON, . . Total Assessed Value: 18,115 Deductions: None //Block/Lot/Qual~Property Location~Owner Name~Owner Address~Tax Account Id~Zoning Code~Land Value~Improvement Value~Exempt Value~Total Assessed Value~Deductions~City Tax Authority string fulltext = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[1]/td/table/tbody/tr/td/table/tbody")).Text.Replace("\r\n", " "); string block = "", PropertyLocation = "", OwnerNameCity = "", OwnerAddress1 = "", OwnerAddress2 = "", OwnerAddress3 = "", TaxAccountId = "", ZoningCode = "", LandValue = "", ImprovementValue = "", ExemptValue = "", TotalAssessedValue = "", Deductions = "", taxaddress = ""; block = gc.Between(fulltext, "Block/Lot/Qual:", "Tax Account Id:"); PropertyLocation = gc.Between(fulltext, "Property Location:", "Zoning Code:"); OwnerNameCity = gc.Between(fulltext, "Owner Name/Address:", "Land Value:"); OwnerAddress1 = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[1]/td/table/tbody/tr/td/table/tbody/tr[4]/td[2]")).Text; OwnerAddress2 = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[1]/td/table/tbody/tr/td/table/tbody/tr[5]/td[2]")).Text; OwnerAddress3 = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[1]/td/table/tbody/tr/td/table/tbody/tr[6]/td[2]")).Text; TaxAccountId = gc.Between(fulltext, "Tax Account Id:", "Property Location:"); ZoningCode = gc.Between(fulltext, "Zoning Code:", "Owner Name/Address:"); LandValue = gc.Between(fulltext, "Land Value:", "Improvement Value:").Split(' ')[1]; ImprovementValue = gc.Between(fulltext, "Improvement Value:", "Exempt Value:").Split(' ')[1]; ExemptValue = gc.Between(fulltext, "Exempt Value:", "Total Assessed Value").Split(' ')[1]; TotalAssessedValue = gc.Between(fulltext, "Total Assessed Value:", "Deductions:"); Deductions = GlobalClass.After(fulltext, "Deductions:"); OwnerAddress1 = OwnerAddress1 + " " + OwnerAddress2 + " " + OwnerAddress3; string tax_infoCity = block + "~" + PropertyLocation + "~" + OwnerNameCity + "~" + OwnerAddress1 + "~" + TaxAccountId + "~" + ZoningCode + "~" + LandValue + "~" + ImprovementValue + "~" + ExemptValue + "~" + TotalAssessedValue + "~" + Deductions + "~" + "City of Riverdale 6690 Church Street Riverdale, GA 30274 Telephone 770 - 909 - 5501"; gc.insert_date(orderNumber, parcel_id, 496, tax_infoCity, 1, DateTime.Now); // //Year~Due Date~Type~Billed~Balance~Interest~Total Due~Status string msg = ""; string lastpayment = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[3]/td/table/tbody/tr[2]/td/div/div/table/tbody/tr[3]/td/table/tbody")).Text.Replace("\r\n", " "); lastpayment = GlobalClass.After(lastpayment, "Last Payment:"); IWebElement tbmulti1 = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[3]/td/table/tbody/tr[2]/td/div/div/table/tbody/tr[2]/td/table/tbody")); IList <IWebElement> TRmulti1 = tbmulti1.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti1; foreach (IWebElement row in TRmulti1) { TDmulti1 = row.FindElements(By.TagName("td")); if (!row.Text.Contains("Year")) { if (TDmulti1.Count != 0 && TDmulti1[0].Text.Trim() != "") { string tax_city1 = TDmulti1[0].Text + "~" + TDmulti1[1].Text + "~" + TDmulti1[2].Text + "~" + TDmulti1[3].Text + "~" + TDmulti1[5].Text + "~" + TDmulti1[6].Text + "~" + TDmulti1[7].Text + "~" + TDmulti1[8].Text; gc.insert_date(orderNumber, parcel_id, 834, tax_city1, 1, DateTime.Now); if (!TDmulti1[6].Text.Contains("0.00")) { msg = "For tax amount due, you must call the Collector's Office"; } } } } string tax_city = "Last Payment" + "~" + lastpayment + "~" + msg + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + ""; gc.insert_date(orderNumber, parcel_id, 834, tax_city, 1, DateTime.Now); } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "GA", "Clayton", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); GlobalClass.titleparcel = ""; gc.mergpdf(orderNumber, "GA", "Clayton"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } } }
public string FTP_AnneArundelMD(string streetno, string direction, string streetname, string streettype, string unitnumber, string ownernm, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "", Addresshrf = ""; // driver = new ChromeDriver(); // driver = new PhantomJSDriver(); using (driver = new PhantomJSDriver()) { StartTime = DateTime.Now.ToString("HH:mm:ss"); try { if (searchType == "titleflex") { string Address = ""; if (direction != "") { Address = streetno + " " + direction + " " + streetname + " " + streettype + " " + "UNIT " + unitnumber; } else { Address = streetno + " " + streetname + " " + streettype + " " + unitnumber; } gc.TitleFlexSearch(orderNumber, "", ownernm, Address, "MD", "Anne Arundel"); if (HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes") { driver.Quit(); return("MultiParcel"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString().Replace("-", ""); if (parcelNumber == "") { HttpContext.Current.Session["Zero_AnneArundelMD"] = "Zero"; driver.Quit(); return("No Data Found"); } searchType = "parcel"; } driver.Navigate().GoToUrl("https://sdat.dat.maryland.gov/RealProperty/Pages/default.aspx"); IWebElement countyDropDown = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchType_ddlCounty")); var selectCounty = new SelectElement(countyDropDown); selectCounty.SelectByText("ANNE ARUNDEL COUNTY"); Thread.Sleep(2000); if (searchType == "address") { IWebElement inputType = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchType_ddlSearchType")); var selectInputType = new SelectElement(inputType); selectInputType.SelectByText("STREET ADDRESS"); gc.CreatePdf_WOP(orderNumber, "Address Search", driver, "MD", "Anne Arundel"); IWebElement element = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_StartNavigationTemplateContainerID_btnContinue")); element.Click(); Thread.Sleep(5000); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtStreenNumber")).SendKeys(streetno); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtStreetName")).SendKeys(streetname); gc.CreatePdf_WOP(orderNumber, "Address After", driver, "MD", "Anne Arundel"); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_StepNavigationTemplateContainerID_btnStepNextButton")).Click(); Thread.Sleep(2000); try { int Max = 0; IWebElement Addresstable = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchResult_gv_SearchResult")); IList <IWebElement> Addresrow = Addresstable.FindElements(By.TagName("tr")); IList <IWebElement> AddressTD; gc.CreatePdf_WOP(orderNumber, "Address After", driver, "MD", "Anne Arundel"); foreach (IWebElement AddressT in Addresrow) { AddressTD = AddressT.FindElements(By.TagName("td")); if (AddressTD.Count != 0) { string parcelno = AddressTD[1].Text; string OwnerName = AddressTD[0].Text; string Address = AddressTD[2].Text;//1618 string Addressresult = Address + "~" + OwnerName; gc.insert_date(orderNumber, parcelno, 1618, Addressresult, 1, DateTime.Now); Max++; } } if (Max > 1 && Max < 26) { HttpContext.Current.Session["multiparcel_AnneArundelMD"] = "Yes"; driver.Quit(); return("MultiParcel"); } if (Max > 25) { HttpContext.Current.Session["multiParcel_AnneArundelMD_Multicount"] = "Maximum"; driver.Quit(); return("MultiParcel"); } } catch { } try { string Error = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_lblErr")).Text; if (Error.Contains("There are no records")) { HttpContext.Current.Session["Zero_AnneArundelMD"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } } if (searchType == "parcel") { IWebElement inputType = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucSearchType_ddlSearchType")); var selectInputType = new SelectElement(inputType); selectInputType.SelectByText("PROPERTY ACCOUNT IDENTIFIER"); IWebElement element = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_StartNavigationTemplateContainerID_btnContinue")); element.Click(); Thread.Sleep(5000); string parcelsplit1 = parcelNumber.Substring(0, 1).Replace("-", ""); string Parcelsplit2 = parcelNumber.Substring(1, 4).Replace("-", ""); string Parcelsplit3 = parcelNumber.Substring(5).Replace("-", ""); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtDistrict")).SendKeys("0" + parcelsplit1); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtSubDiv")).SendKeys(Parcelsplit2); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucEnterData_txtAccountIdentifier")).SendKeys(Parcelsplit3); driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_StepNavigationTemplateContainerID_btnStepNextButton")).Click(); Thread.Sleep(2000); } try { //No Data Found string nodata = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_lblErr")).Text; if (nodata.Contains("no records")) { HttpContext.Current.Session["Zero_AnneArundelMD"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } string Palcel = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblDetailsStreetHeader_0")).Text.Trim(); string District = gc.Between(Palcel, "District - ", "Subdivision"); string Subdivision = gc.Between(Palcel, "Subdivision -", "Account Number -"); string Account = GlobalClass.After(Palcel, "Account Number -"); parcel_number = District.Trim().Substring(1) + Subdivision.Trim() + Account.Trim(); string Ownername1 = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblOwnerName_0")).Text; string Ownername2 = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblOwnerName2_0")).Text; string ownername = Ownername1 + " " + Ownername2; string propertyaddress = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblPremisesAddress_0")).Text; string Legal = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblLegalDescription_0")).Text; try { Yearbuild = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label18_0")).Text; } catch { } string Use = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblUse_0")).Text; string principal = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblPrinResidence_0")).Text; string Map = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label5_0")).Text; string grid = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label6_0")).Text; string Parcell = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label7_0")).Text; string sub_district = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label8_0")).Text; string subdivision = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label9_0")).Text; string section = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label10_0")).Text; string Block = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label11_0")).Text; string Lot = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label12_0")).Text; string Assessmentyear = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_Label13_0")).Text; string Homestatus = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblHomeStatus_0")).Text; string HomeownersTaxCreditStatus = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblHTC_Status_0")).Text; string Homeownertaxdate = driver.FindElement(By.Id("MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblHTC_StatusDate_0")).Text; string Propertyresult = ownername + "~" + propertyaddress + "~" + Yearbuild + "~" + Use + "~" + principal + "~" + Map + "~" + grid + "~" + Parcell + "~" + sub_district + "~" + subdivision + "~" + section + "~" + Block + "~" + Lot + "~" + Assessmentyear + "~" + Homestatus + "~" + HomeownersTaxCreditStatus + "~" + Homeownertaxdate + "~" + Legal; gc.insert_date(orderNumber, parcel_number, 1561, Propertyresult, 1, DateTime.Now); gc.CreatePdf(orderNumber, parcel_number, "Assessment Detail", driver, "MD", "Anne Arundel"); AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax Information driver.Navigate().GoToUrl("https://aacounty.munisselfservice.com/citizens/RealEstate/Default.aspx?mode=new"); Thread.Sleep(3000); driver.FindElement(By.Id("ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_Control_ParcelIdSearchFieldLayout_ctl01_ParcelIDTextBox")).SendKeys(parcel_number); gc.CreatePdf(orderNumber, parcel_number, "Tax_info", driver, "MD", "Anne Arundel"); driver.FindElement(By.Id("ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_Control_FormLayoutItem7_ctl01_Button1")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcel_number, "Tax view Bill", driver, "MD", "Anne Arundel"); try { } catch { } List <string> ParcelSearch = new List <string>(); List <string> viewlien = new List <string>(); try { int viewline = 0; int currentyear = DateTime.Now.Year; int currentyear1 = DateTime.Now.Year - 1; int currentyear2 = DateTime.Now.Year - 2; int month = DateTime.Now.Month; if (month > 9) { currentyear++; } IWebElement ParcelTB = driver.FindElement(By.XPath(" //*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_BillsGridView' ]/tbody")); IList <IWebElement> ParcelTR = ParcelTB.FindElements(By.TagName("tr")); IList <IWebElement> parcelid; IList <IWebElement> parcelth; foreach (IWebElement parcel in ParcelTR) { parcelth = parcel.FindElements(By.TagName("th")); parcelid = parcel.FindElements(By.TagName("td")); try { if ((parcelid[4].Text.Contains(Convert.ToString(currentyear)) || parcelid[4].Text.Contains(Convert.ToString(currentyear1)) || parcelid[4].Text.Contains(Convert.ToString(currentyear2))) && parcelid[6].Text.Contains("View Bill") && parcelid.Count != 0) { IWebElement ParcelBill_link = parcelid[6].FindElement(By.TagName("a")); string Parcelurl = ParcelBill_link.GetAttribute("id"); ParcelSearch.Add(Parcelurl); } if (parcelid[7].Text.Contains("View Lien") && viewline == 0) { IWebElement ParcelBill_link = parcelid[7].FindElement(By.TagName("a")); string Parcelurl = ParcelBill_link.GetAttribute("id"); viewlien.Add(Parcelurl); viewline++; } } catch { } } } catch { } string currwindow = driver.Url; int i = 0; foreach (string Taxclick in ParcelSearch) { driver.Navigate().GoToUrl(currwindow); Thread.Sleep(3000); driver.FindElement(By.Id(Taxclick)).Click(); Thread.Sleep(2000); try { //Good Through Details string Bill_Flag = ""; try { Bill_Flag = driver.FindElement(By.XPath("//*[@id='innerContent']/p[2]")).Text; } catch { } try { IWebElement Intresttable = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_ViewBill1_BillDetailsUpdatePanel']/table/tbody")); IList <IWebElement> Intrestrow1 = Intresttable.FindElements(By.TagName("tr")); IList <IWebElement> IntrestTD; foreach (IWebElement Inrest in Intrestrow1) { IntrestTD = Inrest.FindElements(By.TagName("td")); if (Inrest.Text.Contains("TOTAL")) { Bill_Flag = IntrestTD[3].Text.Trim(); } } } catch { } IWebElement good_date = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_ViewBill1_AsOfDateTextBox']")); Good_through_date = good_date.GetAttribute("value"); if (Good_through_date.Contains("Select A Date")) { Good_through_date = "-"; } else { if (Bill_Flag == "Parcel is in tax sale" || Bill_Flag.Trim() != "$0.00") { DateTime G_Date = Convert.ToDateTime(Good_through_date); string dateChecking = DateTime.Now.ToString("MM") + "/15/" + DateTime.Now.ToString("yyyy"); if (G_Date < Convert.ToDateTime(dateChecking)) { //end of the month Good_through_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)) { Good_through_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"); IWebElement Inextmonth = driver.FindElement(By.Id("ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_ViewBill1_AsOfDateTextBox")); Inextmonth.Click(); } else { int nxtYr = Convert.ToInt16(DateTime.Now.ToString("yyyy")) + 1; Good_through_date = new DateTime(nxtYr, 1, DateTime.DaysInMonth(Convert.ToInt16(DateTime.Now.ToString("yyyy")), 1)).ToString("dd/MM/yyyy"); } } driver.FindElement(By.Id("ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_ViewBill1_AsOfDateTextBox")).Clear(); string[] daysplit = Good_through_date.Split('/'); Thread.Sleep(5000); driver.FindElement(By.Id("ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_ViewBill1_AsOfDateTextBox")).SendKeys(Good_through_date); Thread.Sleep(2000); //driver.FindElement(By.Id("ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_ViewBill1_AsOfDateTextBox")).Click(); //*[@id="ui-datepicker-div"]/div/a[2] //driver.FindElement(By.XPath("//*[@id='ui-datepicker-div']/div/a[2]")).Click(); IWebElement Iday = driver.FindElement(By.XPath("//*[@id='ui-datepicker-div']/table/tbody")); IList <IWebElement> IdayRow = Iday.FindElements(By.TagName("a")); foreach (IWebElement day in IdayRow) { if (day.Text != "" && day.Text == daysplit[1]) { day.SendKeys(Keys.Enter); } } //driver.FindElement(By.Id("ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_ViewBill1_AsOfDateTextBox")).Click(); Thread.Sleep(10000); } } } catch { } //Thread.Sleep(8000); gc.CreatePdf_Chrome(orderNumber, parcel_number, "ViewBill" + i, driver, "MD", "Anne Arundel"); Bill_tax_Year = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_ViewBill1_BillYearRow']/td")).Text; Bill_tax = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_ViewBill1_BillNumberRow']/td")).Text; Bill_Owner = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_ViewBill1_OwnerRow']/td")).Text; IWebElement TaxInfoTB = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_ViewBill1_BillDetailsUpdatePanel']/table/tbody")); IList <IWebElement> TaxInfoTR = TaxInfoTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxInfoTD; foreach (IWebElement TaxInfo in TaxInfoTR) { TaxInfoTD = TaxInfo.FindElements(By.TagName("td")); if (TaxInfoTD.Count != 0 && TaxInfoTD.Count == 7 && !TaxInfo.Text.Contains("Installment")) { TaxBill_Installment = TaxInfoTD[0].Text; TaxBill_PayBy = TaxInfoTD[1].Text; TaxBill_Amount = TaxInfoTD[2].Text; TaxBill_Credits = TaxInfoTD[3].Text; TaxBill_Balance = TaxInfoTD[4].Text; TaxBill_Interest = TaxInfoTD[5].Text; TaxBill_Due = TaxInfoTD[6].Text; TaxInfo_Details = Bill_tax_Year + "~" + Bill_tax + "~" + Bill_Owner + "~" + TaxBill_Installment + "~" + TaxBill_PayBy + "~" + TaxBill_Amount + "~" + TaxBill_Credits + "~" + TaxBill_Balance + "~" + TaxBill_Interest + "~" + TaxBill_Due + "~" + Good_through_date; gc.insert_date(orderNumber, parcel_number, 1563, TaxInfo_Details, 1, DateTime.Now); } if (TaxInfoTD.Count == 6) { TaxBill_Installment1 = TaxInfoTD[0].Text; TaxBill_PayBy1 = ""; TaxBill_Amount1 = TaxInfoTD[1].Text; TaxBill_Credits1 = TaxInfoTD[2].Text; TaxBill_Balance1 = TaxInfoTD[3].Text; TaxBill_Interest1 = TaxInfoTD[4].Text; TaxBill_Due1 = TaxInfoTD[5].Text; TaxInfo_Details = Bill_tax_Year + "~" + Bill_tax + "~" + Bill_Owner + "~" + TaxBill_Installment1 + "~" + TaxBill_PayBy1 + "~" + TaxBill_Amount1 + "~" + TaxBill_Credits1 + "~" + TaxBill_Balance1 + "~" + TaxBill_Interest1 + "~" + TaxBill_Due1 + "~" + Good_through_date; gc.insert_date(orderNumber, parcel_number, 1563, TaxInfo_Details, 1, DateTime.Now); } } //Tax Pay/Adjust try { driver.FindElement(By.Id("ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_ViewBill1_ViewPaymentsLinkButton")).Click(); Thread.Sleep(4000); gc.CreatePdf_Chrome(orderNumber, parcel_number, "Tax PayAdjust" + i, driver, "MD", "Anne Arundel"); IWebElement TaxPayTB = driver.FindElement(By.XPath("//*[@id='innerContent']/table[2]/tbody")); IList <IWebElement> TaxPayTR = TaxPayTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxPayTD; foreach (IWebElement TaxPay in TaxPayTR) { TaxPayTD = TaxPay.FindElements(By.TagName("td")); if (TaxPayTD.Count != 0 && !TaxPay.Text.Contains("Activity")) { TaxPay_Activity = TaxPayTD[0].Text; TaxPay_Posted = TaxPayTD[1].Text; TaxPay_Reference = TaxPayTD[2].Text; TaxPay_Amount = TaxPayTD[3].Text; TaxPay_Details = Bill_tax_Year + "~" + TaxPay_Activity + "~" + TaxPay_Posted + "~" + TaxPay_Reference + "~" + TaxPay_Amount; gc.insert_date(orderNumber, parcel_number, 1564, TaxPay_Details, 1, DateTime.Now); } } } catch { } //Tax Charges driver.FindElement(By.LinkText("Charges")).Click(); Thread.Sleep(2000); gc.CreatePdf_Chrome(orderNumber, parcel_number, "Tax Charge" + i, driver, "MD", "Anne Arundel"); IWebElement TaxChargeTB = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_TaxChargesTable']")); IList <IWebElement> TaxChargeTR = TaxChargeTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxChargeTD; IList <IWebElement> TaxChargeTH; foreach (IWebElement TaxCharge in TaxChargeTR) { TaxChargeTD = TaxCharge.FindElements(By.TagName("td")); TaxChargeTH = TaxCharge.FindElements(By.TagName("th")); if (TaxChargeTD.Count != 0 && TaxChargeTD.Count == 3 && !TaxCharge.Text.Contains("Taxable Value") && TaxChargeTH.Count == 1) { TaxCharge_Entity = TaxChargeTH[0].Text; TaxCharge_taxable = TaxChargeTD[0].Text; TaxCharge_taxRate = TaxChargeTD[1].Text; TaxCharge_Amount = TaxChargeTD[2].Text; TaxCharge_Details = Bill_tax_Year + "~" + TaxCharge_Entity + "~" + TaxCharge_taxable + "~" + TaxCharge_taxRate + "~" + TaxCharge_Amount; gc.insert_date(orderNumber, parcel_number, 1565, TaxCharge_Details, 1, DateTime.Now); } if (TaxChargeTD.Count == 1 && TaxChargeTH.Count == 1) { TaxCharge_Entity1 = TaxChargeTH[0].Text; TaxCharge_taxable1 = ""; TaxCharge_taxRate1 = ""; TaxCharge_Amount1 = TaxChargeTD[0].Text; TaxCharge_Details1 = Bill_tax_Year + "~" + TaxCharge_Entity1 + "~" + "" + "~" + "" + "~" + TaxCharge_Amount1; gc.insert_date(orderNumber, parcel_number, 1565, TaxCharge_Details1, 1, DateTime.Now); } } try { TaxCharge_Entity2 = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_TotalTaxTable']/tbody/tr/th")).Text; TaxCharge_Amount2 = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_TotalTaxTable']/tbody/tr/td")).Text; } catch { } TaxCharge_Details2 = Bill_tax_Year + "~" + TaxCharge_Entity2 + "~" + "" + "~" + "" + "~" + TaxCharge_Amount2; gc.insert_date(orderNumber, parcel_number, 1565, TaxCharge_Details2, 1, DateTime.Now); //property Detail driver.FindElement(By.LinkText("Property Detail")).Click(); Thread.Sleep(2000); gc.CreatePdf_Chrome(orderNumber, parcel_number, "property Detail" + i, driver, "MD", "Anne Arundel"); //Owner Information driver.FindElement(By.LinkText("Owner Information")).Click(); Thread.Sleep(2000); gc.CreatePdf_Chrome(orderNumber, parcel_number, "Owner Information" + i, driver, "MD", "Anne Arundel"); //assessment driver.FindElement(By.LinkText("Assessment")).Click(); Thread.Sleep(2000); gc.CreatePdf_Chrome(orderNumber, parcel_number, "Assessment" + i, driver, "MD", "Anne Arundel"); IWebElement assessmenttable = driver.FindElement(By.XPath("//*[@id='molContentMainDiv']/table[2]/tbody")); IList <IWebElement> assessmentrow = assessmenttable.FindElements(By.TagName("tr")); IList <IWebElement> assessmentidtr; IList <IWebElement> assessmentidth; foreach (IWebElement assessment in assessmentrow) { assessmentidtr = assessment.FindElements(By.TagName("td")); assessmentidth = assessment.FindElements(By.TagName("th")); if (assessmentidtr.Count != 0) { string assessmentresult = Bill_tax_Year + "~" + assessmentidth[0].Text + "~" + assessmentidtr[0].Text; gc.insert_date(orderNumber, parcel_number, 1562, assessmentresult, 1, DateTime.Now); } } //Assessment History driver.FindElement(By.LinkText("Assessment History")).Click(); Thread.Sleep(2000); gc.CreatePdf_Chrome(orderNumber, parcel_number, "Assessment History" + i, driver, "MD", "Anne Arundel"); //Tax rate driver.FindElement(By.LinkText("Tax Rates")).Click(); Thread.Sleep(2000); gc.CreatePdf_Chrome(orderNumber, parcel_number, "Tax Rates" + i, driver, "MD", "Anne Arundel"); //All bills try { driver.FindElement(By.LinkText("All Bills")).Click(); Thread.Sleep(2000); gc.CreatePdf_Chrome(orderNumber, parcel_number, "Tax Uitility Bill" + i, driver, "MD", "Anne Arundel"); if (i == 0) { IWebElement TaxHistoryTable = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_BillsRepeater_ctl00_BillsGrid']/tbody")); IList <IWebElement> TaxHistoryTR = TaxHistoryTable.FindElements(By.TagName("tr")); IList <IWebElement> TaxHistoryTD; foreach (IWebElement TaxHistory in TaxHistoryTR) { TaxHistoryTD = TaxHistory.FindElements(By.TagName("td")); if (!TaxHistory.Text.Contains("Year")) { Bill = TaxHistoryTD[0].Text; tax_Type = TaxHistoryTD[1].Text; Year = TaxHistoryTD[2].Text; Tax_Owner = TaxHistoryTD[3].Text; Tax_paid = TaxHistoryTD[4].Text; TaxHistory_Info = Bill + "~" + tax_Type + "~" + Year + "~" + Tax_Owner + "~" + Tax_paid; gc.insert_date(orderNumber, parcel_number, 1566, TaxHistory_Info, 1, DateTime.Now); } } } } catch { } try { if (i == 0) { IWebElement Utility = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_BillsRepeater_ctl01_BillsGrid']/tbody")); IList <IWebElement> UtilityTR = Utility.FindElements(By.TagName("tr")); for (int j = 0; j < UtilityTR.Count; j++) { int check = j % 12; if (check == 0 && j >= 12) { try { IJavaScriptExecutor js = (IJavaScriptExecutor)driver; js.ExecuteScript("arguments[0].scrollIntoView();", UtilityTR[j]); gc.CreatePdf_Chrome(orderNumber, parcel_number, "Tax Uitility Bill " + j, driver, "MD", "Anne Arundel"); } catch { } } } } } catch { } i++; } if (viewlien.Count != 0) { List <string> Viewbillline = new List <string>(); foreach (string Line in viewlien) { driver.Navigate().GoToUrl(currwindow); Thread.Sleep(3000); driver.FindElement(By.Id(Line)).Click(); Thread.Sleep(2000); gc.CreatePdf_Chrome(orderNumber, parcel_number, "line view detail", driver, "MD", "Anne Arundel"); IWebElement LineFoundTable = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_BillsGrid']/tbody")); IList <IWebElement> Linefoundrow = LineFoundTable.FindElements(By.TagName("tr")); IList <IWebElement> linefoundid; foreach (IWebElement Linefound in Linefoundrow) { linefoundid = Linefound.FindElements(By.TagName("td")); //if (linefoundid.Count != 0) //{ // string Linefoundresult = linefoundid[1].Text + "~" + linefoundid[2].Text + "~" + linefoundid[3].Text + "~" + linefoundid[4].Text; // gc.insert_date(orderNumber, parcel_number, 1456, Linefoundresult, 1, DateTime.Now); //} if (Linefound.Text.Contains("View Bill")) { IWebElement Viewbill = linefoundid[5].FindElement(By.TagName("a")); string Viewbillid = Viewbill.GetAttribute("id"); Viewbillline.Add(Viewbillid); } } } int Linevi = 0; foreach (string viewlinelink in Viewbillline) { driver.FindElement(By.Id(viewlinelink)).Click(); Thread.Sleep(2000); string linebillyear = "", linebill = "", lineownername = ""; gc.CreatePdf_Chrome(orderNumber, parcel_number, "line Bill detail" + Linevi, driver, "MD", "Anne Arundel"); linebillyear = driver.FindElement(By.Id("ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_FiscalYearLabel")).Text; linebill = driver.FindElement(By.Id("ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_BillNumberLabel")).Text; lineownername = driver.FindElement(By.Id("ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_OwnerLabel")).Text; IWebElement TaxInfoTB = driver.FindElement(By.XPath("//*[@id='ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_BillDetailsUpdatePanel']/table/tbody")); IList <IWebElement> TaxInfoTR = TaxInfoTB.FindElements(By.TagName("tr")); IList <IWebElement> TaxInfoTD; foreach (IWebElement TaxInfo in TaxInfoTR) { TaxInfoTD = TaxInfo.FindElements(By.TagName("td")); if (TaxInfoTD.Count != 0 && TaxInfoTD.Count == 6 && !TaxInfo.Text.Contains("Installment")) { TaxBill_Installment = TaxInfoTD[0].Text; TaxBill_PayBy = TaxInfoTD[1].Text; TaxBill_Amount = TaxInfoTD[2].Text; TaxBill_Credits = TaxInfoTD[3].Text; TaxBill_Balance = TaxInfoTD[4].Text; TaxBill_Interest = TaxInfoTD[5].Text; TaxInfo_Details = linebillyear + "~" + linebill + "~" + lineownername + "~" + TaxBill_Installment + "~" + TaxBill_PayBy + "~" + TaxBill_Amount + "~" + TaxBill_Credits + "~" + TaxBill_Balance + "~" + TaxBill_Interest; gc.insert_date(orderNumber, parcel_number, 1567, TaxInfo_Details, 1, DateTime.Now); } if (TaxInfoTD.Count == 5) { TaxBill_Installment1 = TaxInfoTD[0].Text; TaxBill_PayBy1 = ""; TaxBill_Amount1 = TaxInfoTD[1].Text; TaxBill_Credits1 = TaxInfoTD[2].Text; TaxBill_Balance1 = TaxInfoTD[3].Text; TaxBill_Interest1 = TaxInfoTD[4].Text; TaxInfo_Details = linebillyear + "~" + linebill + "~" + lineownername + "~" + TaxBill_Installment1 + "~" + TaxBill_PayBy1 + "~" + TaxBill_Amount1 + "~" + TaxBill_Credits1 + "~" + TaxBill_Balance1 + "~" + TaxBill_Interest1; gc.insert_date(orderNumber, parcel_number, 1567, TaxInfo_Details, 1, DateTime.Now); } } driver.FindElement(By.Id("ctl00_ctl00_PrimaryPlaceHolder_ContentPlaceHolderMain_PaymentsAdjustmentsLinkButton")).Click(); Thread.Sleep(2000); gc.CreatePdf_Chrome(orderNumber, parcel_number, "line Payment detail" + Linevi, driver, "MD", "Anne Arundel"); IWebElement assessmenttable1 = driver.FindElement(By.XPath("//*[@id='innerContent']/table[2]/tbody")); IList <IWebElement> assessmentrow1 = assessmenttable1.FindElements(By.TagName("tr")); IList <IWebElement> assessmentidtr1; IList <IWebElement> assessmentidth; foreach (IWebElement assessment1 in assessmentrow1) { assessmentidtr1 = assessment1.FindElements(By.TagName("td")); assessmentidth = assessment1.FindElements(By.TagName("th")); if (assessmentidtr1.Count != 0) { string assessmentresult1 = linebillyear + "~" + assessmentidtr1[0].Text + "~" + assessmentidtr1[1].Text + "~" + assessmentidtr1[2].Text + "~" + assessmentidtr1[3].Text; gc.insert_date(orderNumber, parcel_number, 1568, assessmentresult1, 1, DateTime.Now); } } driver.FindElement(By.XPath("//*[@id='innerContent']/ul/li[2]/a")).Click(); Thread.Sleep(2000); Linevi++; } } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "MD", "Anne Arundel", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "MD", "Anne Arundel"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }
public ActionResult AddOrEdit(CompanyDetail companyDetail, HttpPostedFileBase uploadedFile) { var allowedExtensions = new[] { ".GIF", ".PNG", ".JPG", ".JPEG" }; if (uploadedFile != null) { var ext = Path.GetExtension(uploadedFile.FileName); if (allowedExtensions.Contains(ext.ToUpper())) //check what type of extension { string myfile = "CompanyImage" + DateTime.Now.ToString("ddMMyyhhmm") + ext; var path = ConfigurationManager.AppSettings["CompanyImage"]; var finalpath = Path.Combine(Server.MapPath(path), myfile); if (companyDetail.CompanyId > 0) { var imageName = companyDetail.CompanyImage; var existingpath = ConfigurationManager.AppSettings["CompanyImage"]; if (System.IO.File.Exists(Server.MapPath(existingpath + imageName))) { System.IO.File.Delete(Server.MapPath(existingpath + imageName)); } } companyDetail.CompanyImage = myfile; uploadedFile.SaveAs(finalpath); } else { Message message = new Message(); message.ReturnMessage = "Choose only Image File!"; message.MessageType = MessageTypes.Information; } } else { Message message = new Message(); message.ReturnMessage = "Select an Image!"; message.MessageType = MessageTypes.Information; } var data = _iCompanyDetailManager.AddOrEdit(companyDetail); return(Json(new { messageType = data.MessageType, message = data.ReturnMessage, html = GlobalClass.RenderRazorViewToString(this, "ViewAll", _iCompanyDetailManager.GetAllCompanyDetail()) }, JsonRequestBehavior.AllowGet)); }
public rpt_other_deductions() { gc = new GlobalClass(); gm = new GlobalMethod(); InitializeComponent(); }
public string FTP_Douglas(string houseno, string sname, string ownername, string assessment_id, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass gc = new GlobalClass(); string Parcel_ID = "", Account_Number = "", Owner_Name = "", Property_Address = "", Mailing_Address = "", Property_Type = "", Year_Built = "", Legal_Description = ""; string IstInstallment = "", IIndInstallment = ""; GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; string Account = "", Owner = "", Address = ""; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; string address = houseno + " " + sname; var driverService = PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; //driver = new PhantomJSDriver(); 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, "", address, "CO", "Douglas"); 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["Douglas_Zero"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } driver.Navigate().GoToUrl("https://www.douglas.co.us/assessor/#/"); Thread.Sleep(4000); if (searchType == "address") { //*[@id="#SearchBar"]/div[1]/div[1]/button IWebElement ISpan112 = driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[1]/button")); IJavaScriptExecutor js112 = driver as IJavaScriptExecutor; js112.ExecuteScript("arguments[0].click();", ISpan112); //*[@id="#SearchBar"]/div[1]/div[1]/ul/li[2]/a IWebElement ISpan12 = driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[1]/ul/li[2]/a")); IJavaScriptExecutor js12 = driver as IJavaScriptExecutor; js12.ExecuteScript("arguments[0].click();", ISpan12); //driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[1]/button")).SendKeys(Keys.Enter); //Thread.Sleep(3000); //driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[1]/ul/li[2]")).Click(); //Thread.Sleep(1000); driver.FindElement(By.XPath("//*[@id='SearchBar']/input")).Clear(); driver.FindElement(By.XPath("//*[@id='SearchBar']/input")).SendKeys(address); gc.CreatePdf_WOP(orderNumber, "Address search", driver, "CO", "Douglas"); IWebElement ISpan13 = driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[3]/button[2]")); IJavaScriptExecutor js13 = driver as IJavaScriptExecutor; js13.ExecuteScript("arguments[0].click();", ISpan13); Thread.Sleep(10000); //driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[3]/button[2]")).Click(); // Thread.Sleep(8000); try { string Nodata1 = driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/app-home/div[1]/div")).Text; if (Nodata1.Contains("There were no results")) { HttpContext.Current.Session["Douglas_Zero"] = "Zero"; return("No Data Found"); } } catch { } gc.CreatePdf_WOP(orderNumber, "Address search result1", driver, "CO", "Douglas"); try { string multi = driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[2]/div[3]")).Text; string multiCount = gc.Between(multi, "\r\n", " results"); if (multiCount != "1") { //multi parcel IWebElement tbmulti2 = driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[1]/div[1]")); IList <IWebElement> TRmulti2 = tbmulti2.FindElements(By.TagName("a")); int maxCheck = 0; IList <IWebElement> TDmulti2; string[] parcel = new string[3]; int p = 0; foreach (IWebElement row in TRmulti2) { if (maxCheck <= 25) { if (row.Text.Contains(address.ToUpper())) { TDmulti2 = row.FindElements(By.TagName("div")); if (TDmulti2.Count != 0) { if (p == 0) { parcel[0] = TDmulti2[0].Text; } if (p == 1) { parcel[1] = TDmulti2[0].Text; } if (p == 2) { parcel[2] = TDmulti2[0].Text; } p++; string multi1 = TDmulti2[1].Text + "~" + TDmulti2[2].Text; gc.insert_date(orderNumber, TDmulti2[0].Text, 283, multi1, 1, DateTime.Now); maxCheck++; } } } } if (maxCheck == 0) { if (Convert.ToInt32(multiCount) > 25) { HttpContext.Current.Session["multiParcel_Douglas_Count"] = "Maximum"; return("Maximum"); } } if (maxCheck == 1) { IWebElement element5 = driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[1]/div[1]/a[1]")); IJavaScriptExecutor js5 = driver as IJavaScriptExecutor; js5.ExecuteScript("arguments[0].click();", element5); Thread.Sleep(3000); } try { driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[2]/div[1]/button")).Click(); driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[2]/div[1]/ul/li[3]/a")).Click(); } catch { } } } catch { } try { if (driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[2]/div[3]")).Displayed) { for (int i = 1; i <= 25; i++) { try { Account = driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[1]/div[1]/a[" + i + "]/div[1]")).Text; Owner = driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[1]/div[1]/a[" + i + "]/div[2]")).Text; Address = driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[1]/div[1]/a[" + i + "]/div[3]")).Text; string multi_parcel = Owner + "~" + Address; gc.insert_date(orderNumber, Account, 231, multi_parcel, 1, DateTime.Now); } catch { } } HttpContext.Current.Session["multiParcel_Douglas"] = "Yes"; driver.Quit(); //gc.mergpdf(orderNumber, "CO", "Douglas"); return("MultiParcel"); } } catch { } } else if (searchType == "parcel") { driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[1]/button")).Click(); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[1]/ul/li[5]")).Click(); Thread.Sleep(1000); if (parcelNumber.Contains("-")) { parcelNumber = parcelNumber.Replace("-", ""); } driver.FindElement(By.XPath("//*[@id='SearchBar']/input")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search", driver, "CO", "Douglas"); driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[3]/button[2]")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, parcelNumber, "Parcel search result", driver, "CO", "Douglas"); } else if (searchType == "block") { driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[1]/button")).Click(); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[1]/ul/li[4]")).Click(); Thread.Sleep(1000); driver.FindElement(By.XPath("//*[@id='SearchBar']/input")).SendKeys(assessment_id); gc.CreatePdf_WOP(orderNumber, "Account search", driver, "CO", "Douglas"); driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[3]/button[2]")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Account search result", driver, "CO", "Douglas"); } else if (searchType == "ownername") { driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[1]/button")).Click(); Thread.Sleep(3000); driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[1]/ul/li[3]")).Click(); Thread.Sleep(1000); driver.FindElement(By.XPath("//*[@id='SearchBar']/input")).SendKeys(ownername); gc.CreatePdf_WOP(orderNumber, "Owner search", driver, "CO", "Douglas"); driver.FindElement(By.XPath("//*[@id='#SearchBar']/div[1]/div[3]/button[2]")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf_WOP(orderNumber, "Owner search result", driver, "CO", "Douglas"); try { string multi = driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[2]/div[3]")).Text; string multiCount = gc.Between(multi, "\r\n", " results"); if (Convert.ToInt32(multiCount) > 25) { HttpContext.Current.Session["multiParcel_Douglas_Count"] = "Maximum"; return("Maximum"); } try { driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[2]/div[1]/button")).Click(); driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[2]/div[1]/ul/li[3]/a")).Click(); } catch { } } catch { } try { if (driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[2]/div[3]")).Displayed) { for (int i = 1; i <= 25; i++) { try { Account = driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[1]/div[1]/a[" + i + "]/div[1]")).Text; Owner = driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[1]/div[1]/a[" + i + "]/div[2]")).Text; Address = driver.FindElement(By.XPath("//*[@id='assessor-search']/div/wp/home/div[1]/div[1]/a[" + i + "]/div[3]")).Text; string multi_parcel = Owner + "~" + Address; gc.insert_date(orderNumber, Account, 231, multi_parcel, 1, DateTime.Now); } catch { } } HttpContext.Current.Session["multiParcel_Douglas"] = "Yes"; driver.Quit(); //gc.mergpdf(orderNumber, "CO", "Douglas"); return("MultiParcel"); } } catch { } } //property details Owner_Name = driver.FindElement(By.XPath("/html/body/app-root/div/div[3]/app-details/div[2]/div[1]/div[1]/overview/div[1]/div/div[1]/div/div[2]")).Text; Parcel_ID = driver.FindElement(By.XPath("//*[@id='StickyInfo']/span[2]")).Text; Parcel_ID = WebDriverTest.After(Parcel_ID, "Parcel #:").Trim(); // Parcel_ID = Parcel_ID.Replace("-", ""); Account_Number = driver.FindElement(By.XPath("//*[@id='StickyInfo']/span[1]")).Text; Account_Number = WebDriverTest.After(Account_Number, "Account #:").Trim(); //Owner_Name = driver.FindElement(By.XPath("/html/body/app/div/div[3]/parceldetails/div[2]/div[1]/div[1]/overview/div[1]/div/div[1]/div/div[2]")).Text; ///html/body/app/div/div[3]/parceldetails/div[2]/div[1]/div[1]/overview/div[1]/div/div[1]/h3 Property_Address = driver.FindElement(By.XPath("/html/body/app-root/div/div[3]/app-details/div[2]/div[1]/div[1]/overview/div[1]/div/div[1]/div/div[3]/span")).Text; Property_Address = Property_Address.Replace("\r\n", " "); try { Mailing_Address = driver.FindElement(By.XPath("/html/body/app/div/div[3]/parceldetails/div[2]/div[1]/div[1]/overview/div[1]/div/div[1]/div/div[3]/span")).Text; Mailing_Address = Mailing_Address.Replace("\r\n", " "); } catch { } IWebElement ISpan1 = driver.FindElement(By.XPath("/html/body/app-root/div/div[3]/app-details/div[2]/div[3]/div[1]/span[1]")); IJavaScriptExecutor js1 = driver as IJavaScriptExecutor; js1.ExecuteScript("arguments[0].click();", ISpan1); ByVisibleElement(driver.FindElement(By.XPath("//*[@id='SummaryAccountInfo']/span"))); gc.CreatePdf(orderNumber, Parcel_ID, "assessment1", driver, "CO", "Douglas"); ByVisibleElement(driver.FindElement(By.XPath("//*[@id='ValuationInfo']/span"))); gc.CreatePdf(orderNumber, Parcel_ID, "Expand All", driver, "CO", "Douglas"); ByVisibleElement(driver.FindElement(By.XPath("//*[@id='SalesAndTrans']/span"))); gc.CreatePdf(orderNumber, Parcel_ID, "assement2", driver, "CO", "Douglas"); Property_Type = driver.FindElement(By.XPath("//*[@id='SummaryAccountInfo']/div/account-summary/div[1]/div[3]/div[2]")).Text; try { Year_Built = driver.FindElement(By.XPath("/html/body/app/div/div[3]/parceldetails/div[2]/div[3]/div[2]/div[4]/div/building-details/div/div/div[2]/div[2]/div[1]/div[1]/div/div[2]/div[2]")).Text; } catch { } Legal_Description = driver.FindElement(By.XPath("//*[@id='SummaryAccountInfo']/div/account-summary/div[2]/div[7]")).Text; string property_details = Account_Number + "~" + Owner_Name + "~" + Property_Address + "~" + Mailing_Address + "~" + Property_Type + "~" + Year_Built + "~" + Legal_Description; gc.insert_date(orderNumber, Parcel_ID, 223, property_details, 1, DateTime.Now); //Assessment details string class_code = "", description = "", actual_value = "", assessed_value; string year = "", Tax_rate = "", EstTax_amount; int iRowsCount = driver.FindElements(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody")).Count; for (int i = 2; i <= iRowsCount; i++) { //*[@id="ValuationInfo"]/div/valuation/div[2]/table/tbody[2]/tr[1]/td[1] //*[@id="ValuationInfo"]/div/valuation/div[2]/table/tbody[3]/tr[1]/td[1] IWebElement ISpan113 = driver.FindElement(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody[" + i + "]/tr[1]/td[1]")); IJavaScriptExecutor js113 = driver as IJavaScriptExecutor; js113.ExecuteScript("arguments[0].click();", ISpan113); Thread.Sleep(1000); year = driver.FindElement(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody[" + i + "]/tr[1]/td[1] ")).Text; string actual_value1 = driver.FindElement(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody[" + i + "]/tr[1]/td[2] ")).Text; string assessed_value1 = driver.FindElement(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody[" + i + "]/tr[1]/td[3] ")).Text; Tax_rate = driver.FindElement(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody[" + i + "]/tr[1]/td[4] ")).Text; EstTax_amount = driver.FindElement(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody[" + i + "]/tr[1]/td[5] ")).Text; if (i == 2) { ByVisibleElement(driver.FindElement(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody[" + i + "]/tr[1]/td[1] "))); gc.CreatePdf(orderNumber, Parcel_ID, "current year", driver, "CO", "Douglas"); } if (i == 3) { ByVisibleElement(driver.FindElement(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody[" + i + "]/tr[1]/td[1] "))); gc.CreatePdf(orderNumber, Parcel_ID, "prior year", driver, "CO", "Douglas"); } if (i == 4) { ByVisibleElement(driver.FindElement(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody[" + i + "]/tr[1]/td[1] "))); gc.CreatePdf(orderNumber, Parcel_ID, "2 year before", driver, "CO", "Douglas"); } for (int j = 1; j <= 2; j++) { for (int k = 2; k <= 4; k++) { try { class_code = driver.FindElement(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody[" + i + "]/tr[3]/td/div/div[" + j + "]/div[" + k + "]/div[1]")).Text; description = driver.FindElement(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody[" + i + "]/tr[3]/td/div/div[" + j + "]/div[" + k + "]/div[2]")).Text; actual_value = driver.FindElement(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody[" + i + "]/tr[3]/td/div/div[" + j + "]/div[" + k + "]/div[3]")).Text; assessed_value = driver.FindElement(By.XPath("//*[@id='ValuationInfo']/div/valuation/div[2]/table/tbody[" + i + "]/tr[3]/td/div/div[" + j + "]/div[" + k + "]/div[4]")).Text; // Year~Class_code~Description~actual_value~assessed_value~Tax_rate~EstTax_amount string assessment_details = year + "~" + class_code + "~" + description + "~" + actual_value + "~" + assessed_value + "~" + "-" + "~" + "-"; gc.insert_date(orderNumber, Parcel_ID, 224, assessment_details, 1, DateTime.Now); } catch { } } } string assessment_details1 = year + "~" + "-" + "~" + "Grand Total :" + "~" + actual_value1 + "~" + assessed_value1 + "~" + Tax_rate + "~" + EstTax_amount; gc.insert_date(orderNumber, Parcel_ID, 224, assessment_details1, 1, DateTime.Now); } AssessmentTime = DateTime.Now.ToString("HH:mm:ss"); //Tax details driver.Navigate().GoToUrl("http://apps.douglas.co.us/treasurer/web/login.jsp"); Thread.Sleep(4000); //Tax information driver.FindElement(By.XPath("//*[@id='middle_left']/form/input[1]")).Click(); Thread.Sleep(3000); driver.FindElement(By.Id("TaxAccountID")).SendKeys(Account_Number); gc.CreatePdf(orderNumber, Parcel_ID, "Tax search", driver, "CO", "Douglas"); driver.FindElement(By.XPath("//*[@id='middle']/form/table[3]/tbody/tr/td[1]/input")).SendKeys(Keys.Enter); Thread.Sleep(3000); gc.CreatePdf(orderNumber, Parcel_ID, "Tax search result", driver, "CO", "Douglas"); driver.FindElement(By.XPath("//*[@id='searchResultsTable']/tbody/tr/td[1]/strong/a")).Click(); Thread.Sleep(3000); string date = ""; string fulltext = driver.FindElement(By.XPath("//*[@id='totals']/table/tbody")).Text.Trim().Replace("\r\n", ""); if (!fulltext.Contains("Interest Due")) { IWebElement Idate1 = driver.FindElement(By.Id("paymentDate")); date = Idate1.GetAttribute("value"); } else { IWebElement dt = driver.FindElement(By.XPath("//*[@id='paymentDate']")); 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(); driver.FindElement(By.Id("paymentDate")).SendKeys(date); Thread.Sleep(3000); } driver.FindElement(By.Id("paymentTypeFirst")).Click(); Thread.Sleep(4000); ByVisibleElement(driver.FindElement(By.XPath("//*[@id='taxAccountSummary']/table"))); gc.CreatePdf(orderNumber, Parcel_ID, "Tax info result first", driver, "CO", "Douglas"); IstInstallment = driver.FindElement(By.XPath("//*[@id='inquiryForm']/table/tbody/tr[2]/td[2]/label[1]")).Text; IWebElement multitableElement4 = driver.FindElement(By.XPath("//*[@id='totals']/table/tbody")); IList <IWebElement> multitableRow4 = multitableElement4.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD4; foreach (IWebElement row in multitableRow4) { multirowTD4 = row.FindElements(By.TagName("td")); string tax_infodeli = Account_Number + "~" + IstInstallment + "~" + multirowTD4[0].Text.Trim() + "~" + multirowTD4[1].Text.Trim(); gc.insert_date(orderNumber, Parcel_ID, 225, tax_infodeli, 1, DateTime.Now); } try { driver.FindElement(By.Id("paymentTypeSecond")).Click(); Thread.Sleep(3000); ByVisibleElement(driver.FindElement(By.XPath("//*[@id='taxAccountSummary']/table"))); gc.CreatePdf(orderNumber, Parcel_ID, "Tax info result second", driver, "CO", "Douglas"); } catch { driver.FindElement(By.Id("paymentTypeFull")).Click(); Thread.Sleep(3000); ByVisibleElement(driver.FindElement(By.XPath("//*[@id='taxAccountSummary']/table"))); gc.CreatePdf(orderNumber, Parcel_ID, "Tax info result full", driver, "CO", "Douglas"); } IIndInstallment = driver.FindElement(By.XPath("//*[@id='inquiryForm']/table/tbody/tr[2]/td[2]/label[2]")).Text; IWebElement multitableElement3 = driver.FindElement(By.XPath("//*[@id='totals']/table/tbody")); IList <IWebElement> multitableRow3 = multitableElement3.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD3; foreach (IWebElement row in multitableRow3) { multirowTD3 = row.FindElements(By.TagName("td")); string tax_infodeli1 = Account_Number + "~" + IIndInstallment + "~" + multirowTD3[0].Text.Trim() + "~" + multirowTD3[1].Text.Trim(); gc.insert_date(orderNumber, Parcel_ID, 225, tax_infodeli1, 1, DateTime.Now); } string tax_infodeli2 = Account_Number + "~" + "Good Through Date :" + "~" + date + "~" + "-"; gc.insert_date(orderNumber, Parcel_ID, 225, tax_infodeli2, 1, DateTime.Now); //Tax Distribution Table: driver.FindElement(By.XPath("//*[@id='accountLinks']/a[2]")).Click(); Thread.Sleep(4000); ByVisibleElement(driver.FindElement(By.XPath(" //*[@id='middle']/table[1]/tbody/tr/td[1]"))); gc.CreatePdf(orderNumber, Parcel_ID, "Account value", driver, "CO", "Douglas"); IWebElement multitableElement1 = driver.FindElement(By.XPath("//*[@id='middle']/table[3]/tbody")); IList <IWebElement> multitableRow1 = multitableElement1.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD1; foreach (IWebElement row in multitableRow1) { if (!row.Text.Contains("Authority")) { multirowTD1 = row.FindElements(By.TagName("td")); if (multirowTD1.Count == 4) { string tax_distri = multirowTD1[0].Text.Trim() + "~" + multirowTD1[1].Text.Trim() + "~" + multirowTD1[2].Text.Trim() + "~" + multirowTD1[3].Text.Trim(); gc.insert_date(orderNumber, Parcel_ID, 226, tax_distri, 1, DateTime.Now); } } } //Due Date Details Table: driver.FindElement(By.XPath("//*[@id='accountLinks']/a[3]")).Click(); Thread.Sleep(4000); gc.CreatePdf(orderNumber, Parcel_ID, "Transaction detail1", driver, "CO", "Douglas"); try { ByVisibleElement(driver.FindElement(By.XPath(" //*[@id='middle']/table[2]/tbody/tr[11]"))); } catch { } gc.CreatePdf(orderNumber, Parcel_ID, "Transaction detail", driver, "CO", "Douglas"); IWebElement multitableElement = driver.FindElement(By.XPath("//*[@id='middle']/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")); string tax_duedate = multirowTD[0].Text.Trim() + "~" + multirowTD[1].Text.Trim() + "~" + multirowTD[2].Text.Trim() + "~" + multirowTD[3].Text.Trim() + "~" + multirowTD[4].Text.Trim() + "~" + multirowTD[5].Text.Trim() + "~" + multirowTD[6].Text.Trim() + "~" + multirowTD[7].Text.Trim(); gc.insert_date(orderNumber, Parcel_ID, 227, tax_duedate, 1, DateTime.Now); } //Tax History Details Table IWebElement multitableElement2 = driver.FindElement(By.XPath("//*[@id='middle']/table[2]/tbody")); IList <IWebElement> multitableRow2 = multitableElement2.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD2; foreach (IWebElement row in multitableRow2) { multirowTD2 = row.FindElements(By.TagName("td")); string tax_duedate = multirowTD2[0].Text.Trim() + "~" + multirowTD2[1].Text.Trim() + "~" + multirowTD2[2].Text.Trim() + "~" + multirowTD2[3].Text.Trim() + "~" + multirowTD2[4].Text.Trim(); gc.insert_date(orderNumber, Parcel_ID, 228, tax_duedate, 1, DateTime.Now); } //*[@id="plugin"] //webtax // *[@id = "left"] / em / div[1] / a[1] // IWebElement ISpan = driver.FindElement(By.LinkText("Web Tax Notice")); //IJavaScriptExecutor js = driver as IJavaScriptExecutor; //js.ExecuteScript("arguments[0].click();", ISpan); ////download taxbill //try //{ // IWebElement ISpan11 = driver.FindElement(By.LinkText("Web Tax Notice")); // IJavaScriptExecutor js11 = driver as IJavaScriptExecutor; // js11.ExecuteScript("arguments[0].click();", ISpan11); // gc.CreatePdf(orderNumber, Parcel_ID, "Tax BillScreen", driver, "CO", "Douglas"); // ByVisibleElement(driver.FindElement(By.XPath("//*[@id='plugin']"))); // gc.CreatePdf(orderNumber, Parcel_ID, "Tax BillScreen1", driver, "CO", "Douglas"); //} //catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "CO", "Douglas", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "CO", "Douglas"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); throw ex; } }
private void threadRefreshTable(object param) { Hashtable pParam = (Hashtable)param; try { DBConn engine = pParam["engine"] as DBConn; string dbconnName = pParam["dbconnName"] as string; string dbName = pParam["dbName"] as string; GlobalClass.debugLog("TableInfoAssistant", "threadGetTable start" + engine.Dbstr); // 取得新table string sql = "select * from " + dbName + ".INFORMATION_SCHEMA.TABLES with(nolock) where TABLE_NAME not like 'syncobj_%'"; DataTable result = engine.getData(sql); SqliteConn lite = new SqliteConn(); string sqlCheckTable = "select TableName from TableInfo where DBConnName='" + dbconnName + "' and DBName = '" + dbName + "' and TableName = '{0}'"; string insSql = @"insert into TableInfo (DBConnName, DBName, TableName, ModifiedDate, TableType) values('{0}','{1}','{2}','{3}','{4}')"; string uptSql = @"update TableInfo set ModifiedDate = '{0}' where DBConnName='" + dbconnName + "' and DBName = '" + dbName + "' and TableName = '{1}'"; string now = GlobalClass.now(); for (int i = 0; i < result.Rows.Count; i++) { // 逐筆更新 TableInfo string tbname = result.Rows[i]["TABLE_NAME"].ToString(); string tbtype = result.Rows[i]["TABLE_TYPE"].ToString(); Reader r = lite.getDataReader(string.Format(sqlCheckTable, tbname)); if (r.Count > 0) { // update lite.executeSQL(string.Format(uptSql, now, tbname)); } else { // insert lite.executeSQL(string.Format(insSql, dbconnName, dbName, tbname, now, tbtype )); } Thread.Sleep(300); // 不要造成負擔 } // 移除不存在的table string delSql = string.Format("delete FROM TableInfo where DBConnName='{0}' and DBName = '{1}' and ModifiedDate < '{2}'", dbconnName, dbName, now); lite.executeSQL(delSql); } catch (Exception e) { GlobalClass.debugLog("CodeRefresh", "threadRefreshTable, " + e.ToString()); pParam["message"] = e.ToString(); } finally { CodeRefresh._tableThread = null; } }
public string FTP_Orange_Ca(string Address, string unitnumber, string ownernm, string parcelNumber, string searchType, string orderNumber, string directParcel) { GlobalClass.global_orderNo = orderNumber; HttpContext.Current.Session["orderNo"] = orderNumber; GlobalClass.global_parcelNo = parcelNumber; int b = 1; string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = ""; int i = 0, j = 0, k = 0, a = 1; 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"); driver.Navigate().GoToUrl("http://tax.ocgov.com/tcweb/search_page.asp"); if (searchType == "titleflex") { gc.TitleFlexSearch(orderNumber, "", ownernm, Address, "CA", "Orange"); 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["Zero_Orange"] = "Zero"; driver.Quit(); return("No Data Found"); } parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); searchType = "parcel"; } if (searchType == "address") {//*[@id="col2"]/div[2]/table/tbody/tr[2]/td/div/table/tbody/tr[6]/td/table/tbody/tr[10]/td[2]/input driver.FindElement(By.Name("streetname")).SendKeys(Address); gc.CreatePdf_WOP(orderNumber, "AddressSearch", driver, "CA", "Orange"); driver.FindElement(By.Name("s_address")).SendKeys(Keys.Enter); Thread.Sleep(3000); try { string Nodata = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[2]/td/div/table/tbody/tr[1]/td/strong/font/text()[1]")).Text; if (Nodata.Contains("No address was found")) { HttpContext.Current.Session["Zero_Orange"] = "Zero"; driver.Quit(); return("No Data Found"); } } catch { } gc.CreatePdf_WOP(orderNumber, "AddressSearchResult", driver, "CA", "Orange"); try {//*[@id="col2"]/div[2]/table/tbody/tr[3]/td/table/tbody/tr[6]/td/table/tbody/tr[3]/td[1] string Pay_review_result = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[3]/td/table/tbody/tr[6]/td/table/tbody/tr[3]/td[1]")).Text; if (Pay_review_result.Contains("Search Results: 1-1 of 1 records")) { driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[3]/td/table/tbody/tr[7]/td/table/tbody/tr[2]/td[2]/a")).SendKeys(Keys.Enter); Thread.Sleep(3000); } multicount = gc.Between(Pay_review_result, "of ", " records"); } catch { } try { if (Pay_review_result.Trim() != "Search Results: 1-1 of 1 records" && Convert.ToInt32(multicount) <= 20) { IWebElement MProperty_addrs = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[3]/td/table/tbody/tr[7]/td/table/tbody")); IList <IWebElement> Mproperty = MProperty_addrs.FindElements(By.TagName("tr")); IList <IWebElement> Mpropertyid; foreach (IWebElement Mpropertyrow in Mproperty) { Mpropertyid = Mpropertyrow.FindElements(By.TagName("td")); if (Mpropertyid.Count != 0 && !Mpropertyrow.Text.Contains("Property or Business Address") && Mpropertyid[0].Text.Contains(Address.ToUpper())) { if (Mcount < 20) { Address = Mpropertyid[0].Text; parcelno = Mpropertyid[1].Text; Parcelclick = Mpropertyid[1].FindElement(By.TagName("a")); Parcelhref = Parcelclick.GetAttribute("href"); gc.insert_date(orderNumber, parcelno, 553, Address, 1, DateTime.Now); } Mcount++; } } } if (Mcount == 1) { driver.Navigate().GoToUrl(Parcelhref); Thread.Sleep(2000); } if (Mcount > 20 || Convert.ToInt32(multicount) > 20) { HttpContext.Current.Session["multiParcel_Orange_Multicount"] = "Maximum"; driver.Quit(); return("Maximum"); } if (Mcount > 1 && Mcount < 20) { HttpContext.Current.Session["multiparcel_Orange"] = "Yes"; driver.Quit(); return("MultiParcel"); } gc.CreatePdf_WOP(orderNumber, "MultiAddressSearch", driver, "CA", "Orange"); } catch { } } if (searchType == "parcel") { if ((HttpContext.Current.Session["titleparcel"] != null)) { parcelNumber = HttpContext.Current.Session["titleparcel"].ToString(); } driver.FindElement(By.Name("t_parcel_no")).SendKeys(parcelNumber); gc.CreatePdf(orderNumber, parcelNumber, "Parcelsearch", driver, "CA", "Orange"); driver.FindElement(By.Name("s_parcel")).SendKeys(Keys.Enter); Thread.Sleep(3000); } string Parcel = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[3]/td/table/tbody/tr[2]/td/table/tbody/tr[3]/td[1]")).Text; Parcel = GlobalClass.After(Parcel, "Parcel Number :").Trim(); gc.CreatePdf(orderNumber, Parcel, "property details", driver, "CA", "Orange"); IList <IWebElement> tables = driver.FindElements(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[3]/td/table/tbody/tr[2]/td/table/tbody/tr")); int count = tables.Count; foreach (IWebElement tab in tables) { if (tab.Text.Contains("Current Year and Unpaid Non-Delinquent Tax Bills")) { IList <IWebElement> ITaxRealRowQ = tab.FindElements(By.TagName("tr")); IList <IWebElement> ITaxRealTdQ; foreach (IWebElement ItaxReal in ITaxRealRowQ) { ITaxRealTdQ = ItaxReal.FindElements(By.TagName("td")); if (!ItaxReal.Text.Contains("Current Year and Unpaid Non-Delinquent Tax Bills") && !ItaxReal.Text.Contains("Parcel Number") && ITaxRealTdQ[0].Text.Trim() != "") { IWebElement ITaxBillCount = ITaxRealTdQ[0].FindElement(By.TagName("a")); string strTaxReal = ITaxBillCount.GetAttribute("href"); strTaxRealestate.Add(strTaxReal); } } } } IList <IWebElement> tables1 = driver.FindElements(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[3]/td/table/tbody/tr[2]/td/table/tbody/tr")); int count1 = tables.Count; foreach (IWebElement tab in tables1) { if (tab.Text.Contains("Previous Year Tax Payment Information")) { IList <IWebElement> ITaxRealRowQ1 = tab.FindElements(By.TagName("tr")); IList <IWebElement> ITaxRealTdQ1; foreach (IWebElement ItaxReal1 in ITaxRealRowQ1) { ITaxRealTdQ1 = ItaxReal1.FindElements(By.TagName("td")); if (ITaxRealTdQ1.Count == 4) { try { IWebElement ITaxBillCount = ITaxRealTdQ1[0].FindElement(By.TagName("a")); string strTaxReal = ITaxBillCount.GetAttribute("href"); strTaxRealestate.Add(strTaxReal); } catch { } } } } } IList <IWebElement> tables2 = driver.FindElements(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[3]/td/table/tbody/tr[2]/td/table/tbody/tr")); int count2 = tables.Count; foreach (IWebElement tab in tables2) { if (tab.Text.Contains("Parcel Number Tax Default No.")) { IList <IWebElement> ITaxRealRowQ2 = tab.FindElements(By.TagName("tr")); IList <IWebElement> ITaxRealTdQ2; foreach (IWebElement ItaxReal1 in ITaxRealRowQ2) { ITaxRealTdQ2 = ItaxReal1.FindElements(By.TagName("td")); if (ITaxRealTdQ2.Count == 4 && !ItaxReal1.Text.Contains("Tax Default No") && ITaxRealTdQ2[0].Text.Trim() != "" && ITaxRealTdQ2[1].Text.Trim() != "") { IWebElement ITaxBillCount = ITaxRealTdQ2[1].FindElement(By.TagName("a")); string strTaxReal = ITaxBillCount.GetAttribute("href"); strTaxRealestate1.Add(strTaxReal); } } } } //deliquent tax foreach (string real1 in strTaxRealestate1) { driver.Navigate().GoToUrl(real1); Thread.Sleep(4000); gc.CreatePdf(orderNumber, Parcel, "Deliquent tax", driver, "CA", "Orange"); string tax_no = "", deli_year = "", status = ""; tax_no = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[3]/td/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]")).Text; deli_year = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[3]/td/table/tbody/tr[2]/td/table/tbody/tr[3]/td[2] ")).Text; status = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[3]/td/table/tbody/tr[2]/td/table/tbody/tr[4]/td[2] ")).Text; IWebElement multitableElement11 = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[4]/td/form/table/tbody")); IList <IWebElement> multitableRow11 = multitableElement11.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD11; // Tax Default No.(TDN)~First Year of Delinquency~Tax Status~TDN Parcels~Roll Year~Taxes~Basic Penalties~Cost~Additional Penalties~Total foreach (IWebElement row in multitableRow11) { try { multirowTD11 = row.FindElements(By.TagName("td")); if (multirowTD11[0].Text.Trim() != "" && !row.Text.Contains("TDN Parcels")) { if (multirowTD11.Count == 7) { string tax_deli1 = tax_no + "~" + deli_year + "~" + status + "~" + multirowTD11[0].Text + "~" + multirowTD11[1].Text + "~" + multirowTD11[2].Text + "~" + multirowTD11[3].Text + "~" + multirowTD11[4].Text + "~" + multirowTD11[5].Text + "~" + multirowTD11[6].Text; gc.insert_date(orderNumber, Parcel, 565, tax_deli1, 1, DateTime.Now); } if (multirowTD11.Count == 4) { string tax_deli1 = tax_no + "~" + deli_year + "~" + status + "~" + multirowTD11[0].Text + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + multirowTD11[3].Text; gc.insert_date(orderNumber, Parcel, 565, tax_deli1, 1, DateTime.Now); } if (multirowTD11.Count == 6) { string tax_deli1 = tax_no + "~" + deli_year + "~" + status + "~" + multirowTD11[0].Text + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + "" + "~" + multirowTD11[5].Text; gc.insert_date(orderNumber, Parcel, 565, tax_deli1, 1, DateTime.Now); } } } catch { } } } string address = "", taxrate = "", rolltype = "", parcelnumber = "", fiscal = "", fiscal_year = ""; //property,assessment,taxinfo int c = 1; foreach (string real in strTaxRealestate) { driver.Navigate().GoToUrl(real); Thread.Sleep(4000); gc.CreatePdf(orderNumber, Parcel, "taxinfo details" + c, driver, "CA", "Orange"); c++; try { try { fiscal = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[1]/td")).Text; if (fiscal == "Property Tax Information") { } else { fiscal_year = GlobalClass.After(fiscal, "FISCAL YEAR").Trim(); } } catch { } try { rolltype = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[3]/td/table/tbody/tr[5]/td[2]")).Text; } catch { rolltype = ""; } if (rolltype == "Secured") { if (a == 1) { try { IWebElement multitableElement1 = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[3]/td/table/tbody")); IList <IWebElement> multitableRow1 = multitableElement1.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD1; foreach (IWebElement row in multitableRow1) { multirowTD1 = row.FindElements(By.TagName("td")); if (multirowTD1[0].Text.Trim() != "") { if (i == 0) { parcelnumber = multirowTD1[1].Text; parcelnumber = GlobalClass.Before(parcelnumber, "View Original Bill").Trim(); } if (i == 1) { address = multirowTD1[1].Text; } if (i == 2) { taxrate = multirowTD1[1].Text; } if (i == 3) { rolltype = multirowTD1[1].Text; } i++; } } } catch { } //property gc.insert_date(orderNumber, Parcel, 548, address + "~" + taxrate, 1, DateTime.Now); //Assessment string Land_Value = "", Mineral_Rights = "", Improvement_Value = "", Personal_Property = "", Others = "", Total_Assessed_Value = "", Homeowner_Exemption = "", Net_Assessed_Value = ""; IWebElement multitableElement = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[7]/td/table/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 == 4) { if ((multirowTD[2].Text.Trim() != "") && !row.Text.Contains("Assessed Values and Exemptions") && !row.Text.Contains("Description") && multirowTD.Count == 4 && !row.Text.Contains("Total Due and Payable")) { if (k == 0) { Land_Value = multirowTD[2].Text; } if (k == 1) { Mineral_Rights = multirowTD[2].Text; } if (k == 2) { Improvement_Value = multirowTD[2].Text; } if (k == 3) { Personal_Property = multirowTD[2].Text; } if (k == 4) { Others = multirowTD[2].Text; } if (k == 5) { Total_Assessed_Value = multirowTD[2].Text; } if (k == 6) { Homeowner_Exemption = multirowTD[2].Text; } if (k == 7) { Net_Assessed_Value = multirowTD[2].Text; } k++; } } } string assessment_details = Land_Value + "~" + Mineral_Rights + "~" + Improvement_Value + "~" + Personal_Property + "~" + Others + "~" + Total_Assessed_Value + "~" + Homeowner_Exemption + "~" + Net_Assessed_Value; gc.insert_date(orderNumber, Parcel, 549, assessment_details, 1, DateTime.Now); } a++; } else { try { IWebElement multitableElement = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody")); IList <IWebElement> multitableRow = multitableElement.FindElements(By.TagName("tr")); IList <IWebElement> multirowTD; j = 0; foreach (IWebElement row in multitableRow) { multirowTD = row.FindElements(By.TagName("td")); if (multirowTD[0].Text.Trim() != "" && !row.Text.Contains("Current Year and Unpaid Non-Delinquent Tax Bills") && multirowTD.Count == 2) { if (j == 0) { parcelnumber = multirowTD[1].Text; parcelnumber = GlobalClass.Before(parcelnumber, "View Bill").Trim(); } if (j == 1) { address = multirowTD[1].Text; } if (j == 2) { taxrate = multirowTD[1].Text; } if (j == 3) { rolltype = multirowTD[1].Text; if (rolltype.Contains("(")) { rolltype = GlobalClass.Before(rolltype, "(").Trim(); } } j++; } } } catch { } } IWebElement tbmulti; //Parcel Number~Tax Year~Tax Type~Installment Type~Due Date~Tax Status~Amount Due~Remarks~Total Due Amount~Total Amt Paid~Paid Date~Paid Amount string InstallmentType = "", Due_Date = "", Tax_Status = "", Amount_Due = "", Remarks = "", Total_Due_Amount = "", Total_Amt_Paid = "", Paid_Amount = "", Paid_Date = ""; string taxinfo = "", taxinfo1 = "", taxinfo2 = ""; try { tbmulti = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[4]/td/table/tbody")); } catch { tbmulti = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[9]/td/table/tbody")); } IList <IWebElement> TRmulti = tbmulti.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti; int l = 0; foreach (IWebElement row in TRmulti) { TDmulti = row.FindElements(By.TagName("td")); if (!row.Text.Contains("Installments") && !row.Text.Contains("Total Due and Payable")) { if (TDmulti.Count == 6) { if (l == 0) { InstallmentType = TDmulti[1].Text; Due_Date = TDmulti[2].Text; Tax_Status = TDmulti[3].Text; Amount_Due = TDmulti[4].Text; Remarks = TDmulti[5].Text; taxinfo = parcelnumber + "~" + fiscal_year + "~" + rolltype + "~" + InstallmentType + "~" + Due_Date + "~" + Tax_Status + "~" + Amount_Due + "~" + Remarks + "~" + "" + "~" + ""; } if (l == 1) { InstallmentType = TDmulti[1].Text; Due_Date = TDmulti[2].Text; Tax_Status = TDmulti[3].Text; Amount_Due = TDmulti[4].Text; Remarks = TDmulti[5].Text; taxinfo1 = parcelnumber + "~" + fiscal_year + "~" + rolltype + "~" + InstallmentType + "~" + Due_Date + "~" + Tax_Status + "~" + Amount_Due + "~" + Remarks; } l++; } } if (row.Text.Contains("Total Due and Payable")) { Total_Due_Amount = TDmulti[3].Text; taxinfo2 = taxinfo1 + "~" + Total_Due_Amount; } } string taxinfoNew = ""; IWebElement tbmulti1; try { tbmulti1 = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[6]/td/table/tbody")); } catch { tbmulti1 = driver.FindElement(By.XPath("//*[@id='col2']/div[2]/table/tbody/tr[12]/td/table/tbody")); } IList <IWebElement> TRmulti1 = tbmulti1.FindElements(By.TagName("tr")); IList <IWebElement> TDmulti1; int m = 0; foreach (IWebElement row in TRmulti1) { TDmulti1 = row.FindElements(By.TagName("td")); if (!row.Text.Contains("Payment Summary") && !row.Text.Contains("Installments")) { if (TDmulti1.Count == 6) { if (m == 0) { Paid_Date = TDmulti1[2].Text; Paid_Amount = TDmulti1[4].Text; taxinfo = taxinfo + "~" + Paid_Date + "~" + Paid_Amount + "~" + "Orange County Tax Collector, P.O.Box 1438 Santa Ana, CA 92702-1438"; gc.insert_date(orderNumber, Parcel, 556, taxinfo, 1, DateTime.Now); }//ATTN: Orange County Tax Collector P.O.Box 1438 Santa Ana, CA 92702-1438 if (m == 1) { Paid_Date = TDmulti1[2].Text; Paid_Amount = TDmulti1[4].Text; taxinfoNew = Paid_Date + "~" + Paid_Amount; } m++; } } if (row.Text.Contains("Total Amt Paid") && TDmulti1.Count == 5) { string total_amount_due = TDmulti1[3].Text; taxinfo2 = taxinfo2 + "~" + total_amount_due + "~" + taxinfoNew + "~" + ""; gc.insert_date(orderNumber, Parcel, 556, taxinfo2, 1, DateTime.Now); } } } catch { } } //download bill try { foreach (string real2 in strTaxRealestate) { var chDriver = new ChromeDriver(); WebDriverWait waittime = new WebDriverWait(chDriver, TimeSpan.FromSeconds(5)); chDriver.Navigate().GoToUrl(real2); Thread.Sleep(4000); try { IWebElement Itaxstmt = chDriver.FindElement(By.LinkText("View Original Bill")); string stmt1 = Itaxstmt.GetAttribute("href"); Itaxstmt.Click(); } catch { IWebElement Itaxstmt = chDriver.FindElement(By.LinkText("View Bill")); string stmt1 = Itaxstmt.GetAttribute("href"); Itaxstmt.Click(); } chDriver.SwitchTo().Window(chDriver.WindowHandles.Last()); string currentURL = chDriver.Url; gc.downloadfile(currentURL, orderNumber, Parcel, "Billdown" + b, "CA", "Orange"); b++; chDriver.Quit(); } } catch { } TaxTime = DateTime.Now.ToString("HH:mm:ss"); LastEndTime = DateTime.Now.ToString("HH:mm:ss"); gc.insert_TakenTime(orderNumber, "CA", "Orange", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime); driver.Quit(); gc.mergpdf(orderNumber, "CA", "Orange"); return("Data Inserted Successfully"); } catch (Exception ex) { driver.Quit(); GlobalClass.LogError(ex, orderNumber); throw ex; } } }