예제 #1
0
        public string FTP_JeffersonKY(string Address, string ownername, string parcelNumber, string searchType, string orderNumber, string directParcel)
        {
            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;
            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "";
            string Parcel_number = "", Tax_Authority = "", Year = "", Addresshrf = "", Propertyresult = "", PaidDate = "", parcelhref = "", MailingAddress = "", Yearbuilt = "";
            //request.UseDefaultCredentials = true;
            var driverService = PhantomJSDriverService.CreateDefaultService();

            driverService.HideCommandPromptWindow = true;
            //driver = new ChromeDriver();
            //driver = new PhantomJSDriver();
            //RDP Site
            var option = new ChromeOptions();

            option.AddArgument("No-Sandbox");
            using (driver = new ChromeDriver(option))
            {
                try
                {
                    if (searchType == "titleflex")
                    {
                        gc.TitleFlexSearch(orderNumber, "", ownername, Address, "KY", "Jefferson");
                        if (HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")
                        {
                            driver.Quit();
                            return("MultiParcel");
                        }
                        else if (HttpContext.Current.Session["titleparcel"].ToString() == "")
                        {
                            HttpContext.Current.Session["Zero_Jefferson"] = "Zero";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }
                    try
                    {
                        StartTime = DateTime.Now.ToString("HH:mm:ss");
                        driver.Navigate().GoToUrl("http://www.jcsoky.org/contacts.htm");
                        string Taxauthority = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/div[1]/table/tbody/tr/td/div/table/tbody/tr/td/div[2]/table/tbody/tr[1]/td[2]/div/table/tbody/tr/td[1]/div[3]/p")).Text.Replace("\r\n", " ");
                        Tax_Authority = gc.Between(Taxauthority, "Mailing Address:", "Click Here for a Map");
                    }
                    catch { }
                    driver.Navigate().GoToUrl("https://jeffersonpva.ky.gov/property-search/");
                    if (searchType == "address")
                    {
                        driver.FindElement(By.Id("psfldAddress")).SendKeys(Address);
                        driver.FindElement(By.XPath("//*[@id='searchFormAddress']/fieldset/p[2]/input")).Click();
                        gc.CreatePdf_WOP(orderNumber, "Searchbefore", driver, "KY", "Jefferson");
                        Thread.Sleep(2000);
                        try
                        {
                            int Max = 0;

                            IWebElement         Multiparceladdress = driver.FindElement(By.XPath("//*[@id='content']/table/tbody"));
                            IList <IWebElement> Multiparcelrow     = Multiparceladdress.FindElements(By.TagName("tr"));
                            IList <IWebElement> Multiparcelid;
                            gc.CreatePdf_WOP(orderNumber, "Multiparcel", driver, "KY", "Jefferson");
                            foreach (IWebElement multiparcel in Multiparcelrow)
                            {
                                Multiparcelid = multiparcel.FindElements(By.TagName("td"));
                                if (Multiparcelid.Count != 0)
                                {
                                    IWebElement Address1 = Multiparcelid[1].FindElement(By.TagName("a"));
                                    Addresshrf = Address1.GetAttribute("href");
                                    string Addressst   = Address1.Text;
                                    string Owner       = Multiparcelid[2].Text;
                                    string Pin         = Multiparcelid[4].Text;
                                    string Multiparcel = Addressst + "~" + Owner;
                                    gc.insert_date(orderNumber, Pin, 1196, Multiparcel, 1, DateTime.Now);
                                    Max++;
                                }
                            }
                            if (Max == 1)
                            {
                                driver.Navigate().GoToUrl(Addresshrf);
                                Thread.Sleep(2000);
                            }
                            if (Max > 1 && Max < 26)
                            {
                                HttpContext.Current.Session["multiParcel_Jefferson"] = "Maximum";
                                driver.Quit();
                                return("MultiParcel");
                            }
                            if (Max > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Jefferson_Multicount"] = "Maximum";
                                driver.Quit();
                                return("Maximum");
                            }
                            if (Max == 0)
                            {
                                HttpContext.Current.Session["Zero_Jefferson"] = "Zero";
                                driver.Quit();
                                return("Zero");
                            }
                        }
                        catch { }
                    }
                    if (searchType == "parcel")
                    {
                        if (parcelNumber.Trim() != "")
                        {
                            gc.CreatePdf(orderNumber, parcelNumber, "Search Before Parcel", driver, "KY", "Jefferson");
                            IWebElement         ParcelclickTble = driver.FindElement(By.Id("propertySearch"));
                            IList <IWebElement> Parcelclickrow  = ParcelclickTble.FindElements(By.TagName("li"));
                            IList <IWebElement> Parcelclickid;
                            foreach (IWebElement Parcelclick in Parcelclickrow)
                            {
                                Parcelclickid = Parcelclick.FindElements(By.TagName("a"));
                                if (Parcelclickid.Count != 0 && Parcelclick.Text.Contains("Parcel ID"))
                                {
                                    try
                                    {
                                        Parcelclickid[0].Click();
                                    }
                                    catch { }
                                    try
                                    {
                                        Parcelclickid[0].SendKeys(Keys.Enter);
                                    }
                                    catch { }
                                    try
                                    {
                                        IJavaScriptExecutor js1 = driver as IJavaScriptExecutor;
                                        js1.ExecuteScript("arguments[0].click();", Parcelclickid);
                                        Thread.Sleep(4000);
                                    }
                                    catch { }
                                    Thread.Sleep(2000);
                                    break;
                                }
                            }
                            gc.CreatePdf(orderNumber, parcelNumber, "SearchAfter Parcel", driver, "KY", "Jefferson");
                            driver.FindElement(By.Id("psfldParcelId")).SendKeys(parcelNumber);
                            driver.FindElement(By.XPath("//*[@id='searchFormParcelId']/fieldset/p[2]/input")).Click();
                            Thread.Sleep(2000);
                            gc.CreatePdf(orderNumber, parcelNumber, "Searchbefore", driver, "KY", "Jefferson");
                        }
                        if (parcelNumber.Trim() == "")
                        {
                            HttpContext.Current.Session["Zero_Jefferson"] = "Zero";
                            driver.Quit();
                            return("Zero");
                        }
                    }
                    AssessmentTime = DateTime.Now.ToString("HH:mm:ss");
                    string propertdetail = driver.FindElement(By.XPath("//*[@id='primary']/div/dl")).Text;
                    string OwnerProperty = gc.Between(propertdetail, "Owner", "Parcel ID");
                    Parcel_number = gc.Between(propertdetail, "Parcel ID", "Assessed Value").Trim();
                    string AssessedValue = gc.Between(propertdetail, "Assessed Value", "Acres").Trim();
                    string Acres         = gc.Between(propertdetail, "Acres", "Neighborhood").Trim();
                    string Neighborhood  = GlobalClass.After(propertdetail, "Neighborhood").Trim();
                    string Propertresult = OwnerProperty + "~" + Neighborhood;
                    string Assmentresult = AssessedValue + "~" + Acres;
                    try
                    {
                        driver.FindElement(By.XPath("//*[@id='primary']/div/dl/dd[5]")).Click();
                        Thread.Sleep(2000);
                        gc.CreatePdf(orderNumber, Parcel_number, "PropertyDetail", driver, "KY", "Jefferson");
                    }
                    catch { }
                    gc.CreatePdf(orderNumber, Parcel_number, "PropertyDetail", driver, "KY", "Jefferson");
                    gc.insert_date(orderNumber, Parcel_number, 1203, Propertresult, 1, DateTime.Now);
                    gc.insert_date(orderNumber, Parcel_number, 1204, Assmentresult, 1, DateTime.Now);
                    TaxTime = DateTime.Now.ToString("HH:mm:ss");
                    //driver.Quit();
                    //AssessmentTime = DateTime.Now.ToString("HH:mm:ss");
                    //string propertdetail = driver.FindElement(By.Id("basic-info")).Text;
                    //MailingAddress = gc.Between(propertdetail, "Mailing Address", "Owner");
                    //string OwnerProperty = gc.Between(propertdetail, "Owner", "Parcel ID");
                    //string Propertyaddress = driver.FindElement(By.XPath("//*[@id='primary']/div/h1")).Text;
                    //Parcel_number = gc.Between(propertdetail, "Parcel ID", "Land Value").Trim();
                    //string Lane = gc.Between(propertdetail, "Land Value", "Improvements Value");
                    //string ImprovementsValue = gc.Between(propertdetail, "Improvements Value", "Assessed Value");
                    //string AssessedValue = gc.Between(propertdetail, "Assessed Value", "Approximate Acreage").Trim();
                    //string Acreage = gc.Between(propertdetail, "Approximate Acreage", "Property Class");
                    //string Propertyclass = gc.Between(propertdetail, "Property Class", "Deed Book/Page");
                    //string DistrictNumber = gc.Between(propertdetail, "District Number", "Old District");
                    //string Olddistrict = gc.Between(propertdetail, "Old District", "Fire District");
                    //string FireDistrict = gc.Between(propertdetail, "Fire District", "School District");
                    //string SchoolDistrict = gc.Between(propertdetail, "School District", "Neighborhood");
                    //string LegalDescription = driver.FindElement(By.XPath("//*[@id='legal-container']/table/tbody/tr/td[2]")).Text;
                    //string Acres = gc.Between(propertdetail, "Acres", "Neighborhood").Trim();
                    //string Neighborhood = gc.Between(propertdetail, "Neighborhood", "Satellite City").Trim();
                    //try
                    //{
                    //    Yearbuilt = driver.FindElement(By.XPath("//*[@id='improvements']/div/div[1]/dl/dd[2]")).Text;
                    //}
                    //catch { }
                    //string Propertresult = Propertyaddress + "~" + MailingAddress+"~"+ OwnerProperty+"~"+ Acreage+"~"+ Propertyclass+"~"+ DistrictNumber+"~"+ Olddistrict+"~"+ FireDistrict+"~"+ SchoolDistrict +"~"+ Neighborhood+"~"+ Yearbuilt+ "~"+ LegalDescription;
                    //string Assmentresult = Lane+"~"+AssessedValue + "~" + ImprovementsValue;
                    //try
                    //{
                    //    driver.FindElement(By.XPath("//*[@id='primary']/div/dl/dd[5]")).Click();
                    //    Thread.Sleep(2000);
                    //    gc.CreatePdf(orderNumber, Parcel_number, "PropertyDetail", driver, "KY", "Jefferson");
                    //}
                    //catch { }
                    //gc.CreatePdf(orderNumber, Parcel_number, "PropertyDetail", driver, "KY", "Jefferson");
                    //gc.insert_date(orderNumber, Parcel_number, 1203, Propertresult, 1, DateTime.Now);
                    //gc.insert_date(orderNumber, Parcel_number, 1204, Assmentresult, 1, DateTime.Now);
                    //TaxTime = DateTime.Now.ToString("HH:mm:ss");
                    //driver.Quit();
                    driver = new PhantomJSDriver();
                    //driver = new ChromeDriver();
                    driver.Navigate().GoToUrl("http://www.jcsoky.org/ptax_search_pid.asp");
                    driver.FindElement(By.Name("WEPROP")).SendKeys(Parcel_number);
                    try
                    {
                        driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/div/table/tbody/tr/td/div/table/tbody/tr/td/div[3]/table/tbody/tr/td/form/table/tbody/tr/td[3]/input[2]")).Click();
                    }
                    catch { }
                    Thread.Sleep(2000);
                    try
                    {
                        string TaxNodata = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/div/table/tbody/tr/td/div/table/tbody/tr/td/div[3]/table/tbody/tr/td/text()")).Text;
                        if (TaxNodata.Contains("Sorry - your"))
                        {
                            HttpContext.Current.Session["Zero_Jefferson"] = "Zero";
                            driver.Quit();
                            return("Zero");
                        }
                    }
                    catch
                    { }
                    gc.CreatePdf(orderNumber, Parcel_number, "Tax Detail", driver, "KY", "Jefferson");
                    string   PropertyAddresstable = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/div/table/tbody/tr/td/div/table/tbody/tr/td/div[3]/table/tbody/tr/td/div[2]/table/tbody/tr/td/table[1]/tbody/tr[1]/td[1]/table/tbody")).Text;
                    string   PropertyAddress      = gc.Between(PropertyAddresstable, "Property Location Address:", "Property's Taxable Assessment:");
                    string   Assessed_Value       = GlobalClass.After(PropertyAddresstable, "Property's Taxable Assessment:").Replace("\r\n", "");
                    string   Propertyidpro        = gc.Between(PropertyAddresstable, "Property ID:", "Property Location Address:");
                    string   Propertyowner        = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/div/table/tbody/tr/td/div/table/tbody/tr/td/div[3]/table/tbody/tr/td/div[2]/table/tbody/tr/td/table[1]/tbody/tr[1]/td[2]/table/tbody")).Text;
                    string   OwnerName1           = GlobalClass.After(Propertyowner, "Property Owner:");
                    string[] ownerNamesplit       = OwnerName1.Split('\r');
                    string   ownerName            = ownerNamesplit[1].Replace("\n", "").Trim();
                    string   Mailing_Address      = ownerNamesplit[2].Replace("\n", "").Trim() + " " + ownerNamesplit[4].Replace("\n", "").Trim();
                    string   GrossTax             = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/div/table/tbody/tr/td/div/table/tbody/tr/td/div[3]/table/tbody/tr/td/div[2]/table/tbody/tr/td/table[1]/tbody/tr[1]/td[2]/p")).Text;
                    string   Grosstaxresult       = GlobalClass.After(GrossTax, "Amt:").Trim();
                    string   Taxyeartable         = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/div/table/tbody/tr/td/div/table/tbody/tr/td/div[3]/table/tbody/tr/td/div[2]/table/tbody/tr/td/table[1]/tbody/tr[1]/td[3]/table/tbody")).Text;
                    Year = gc.Between(Taxyeartable, "Tax Year:", "Invoice Number:");
                    string Invoice                  = gc.Between(Taxyeartable, "Invoice Number:", "Mortgage Company Name:");
                    string Homesteadtable           = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/div/table/tbody/tr/td/div/table/tbody/tr/td/div[3]/table/tbody/tr/td/div[2]/table/tbody/tr/td/table[2]/tbody")).Text;
                    string HomesteadExemptionAmount = gc.Between(Homesteadtable, "Homestead Exemption Amount:", "Disability Exemption Amount:");
                    string DisabilityExemption      = gc.Between(Homesteadtable, "Disability Exemption Amount:", "Payment Periods");
                    string PaidAmount               = gc.Between(Homesteadtable, "Amount Paid:", "Paid on:");
                    string Comments                 = "";
                    if (Homesteadtable.Trim().Contains("(or refunded/modified)"))
                    {
                        PaidDate = gc.Between(Homesteadtable, "Paid on: (or refunded/modified)", "Balance Due:").Trim();
                    }
                    if (!Homesteadtable.Trim().Contains("(or refunded/modified)"))
                    {
                        PaidDate = gc.Between(Homesteadtable, "Paid on:", "Balance Due:").Trim();
                    }
                    string              BalanceDue      = GlobalClass.After(Homesteadtable, "Balance Due:");
                    IWebElement         Homesteadtable1 = driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td/div/table/tbody/tr/td/div/table/tbody/tr/td/div[3]/table/tbody/tr/td/div[2]/table/tbody/tr/td/table[2]/tbody"));
                    IList <IWebElement> Propertyrow     = Homesteadtable1.FindElements(By.TagName("tr"));
                    IList <IWebElement> Propertyid;
                    foreach (IWebElement Property in Propertyrow)
                    {
                        Propertyid = Property.FindElements(By.TagName("td"));
                        if (Propertyid.Count == 3 && !Property.Text.Contains("Payment Periods"))
                        {
                            string PropertPeriodsresult = Propertyid[0].Text + "~" + Propertyid[1].Text + "~" + Propertyid[2].Text;
                            gc.insert_date(orderNumber, Parcel_number, 1212, PropertPeriodsresult, 1, DateTime.Now);
                        }
                    }
                    //Delinquent Tax information
                    driver.Navigate().GoToUrl("http://jeffersoncountyclerk.org/deltax/Login.aspx");
                    driver.FindElement(By.Id("Login")).Click();
                    Thread.Sleep(2000);
                    driver.FindElement(By.Id("SearchJefferson")).SendKeys(Propertyidpro);
                    gc.CreatePdf(orderNumber, Parcel_number, "Delinquent Search", driver, "KY", "Jefferson");
                    driver.FindElement(By.Id("btnSearchJefferson")).Click();
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, Parcel_number, "Delinquent After Search", driver, "KY", "Jefferson");
                    try
                    {
                        string Comments1 = driver.FindElement(By.Id("lblNoRecordsJefferson")).Text;
                        Comments = GlobalClass.Before(Comments1, "Please click Reset");
                    }
                    catch { }
                    string Taxpropertyresult = Propertyidpro + "~" + PropertyAddress + "~" + ownerName + "~" + Mailing_Address + "~" + Year + "~" + Invoice + "~" + Assessed_Value + "~" + Grosstaxresult + "~" + HomesteadExemptionAmount + "~" + DisabilityExemption + "~" + PaidAmount + "~" + PaidDate + "~" + BalanceDue + "~" + Comments + "~" + Tax_Authority;
                    gc.insert_date(orderNumber, Parcel_number, 1211, Taxpropertyresult, 1, DateTime.Now);
                    try
                    {
                        //driver.FindElement(By.Id("txtPageSizeJefferson")).Clear();
                        driver.FindElement(By.Id("txtPageSizeJefferson")).SendKeys("25");
                        Thread.Sleep(1000);
                        driver.FindElement(By.Id("txtPageSizeJefferson")).SendKeys(Keys.Enter);
                        Thread.Sleep(2000);
                        gc.CreatePdf(orderNumber, Parcel_number, "Delinquent Result", driver, "KY", "Jefferson");
                        IWebElement         Delinquenttaxtable = driver.FindElement(By.XPath("//*[@id='BillListJefferson']/tbody"));
                        IList <IWebElement> Delinquentrow      = Delinquenttaxtable.FindElements(By.TagName("tr"));
                        IList <IWebElement> Delinquentid;
                        foreach (IWebElement Delinquent in Delinquentrow)
                        {
                            Delinquentid = Delinquent.FindElements(By.TagName("td"));
                            if (Delinquentid.Count != 0 && !Delinquent.Text.Contains("Parcel ID") && Delinquentid.Count != 1)
                            {
                                string Delinquentresult = Delinquentid[1].Text + "~" + Delinquentid[2].Text + "~" + Delinquentid[3].Text + "~" + Delinquentid[4].Text + "~" + Delinquentid[5].Text + "~" + Delinquentid[6].Text + "~" + Delinquentid[7].Text + "~" + Delinquentid[8].Text + "~" + Delinquentid[9].Text + "~" + Delinquentid[10].Text + "~" + Delinquentid[11].Text;
                                gc.insert_date(orderNumber, Parcel_number, 1214, Delinquentresult, 1, DateTime.Now);
                            }
                        }
                    }
                    catch { }
                    LastEndTime = DateTime.Now.ToString("HH:mm:ss");
                    gc.insert_TakenTime(orderNumber, "KY", "Jefferson", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime);

                    driver.Quit();

                    gc.mergpdf(orderNumber, "KY", "Jefferson");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw ex;
                }
            }
        }
예제 #2
0
        public string FTP_WeberUT(string address, string parcelNumber, string searchType, string ownername, string orderNumber, string directParcel)
        {
            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;
            string Parcel_number = "", Tax_Authority = "", yearbuilt = "", Nodeliquent = "", Addresshrf = "", TaxesDue = "", lotsize = "", Good_through_date = "";
            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "";
            var    driverService = PhantomJSDriverService.CreateDefaultService();
            string Inrest        = "";

            driverService.HideCommandPromptWindow = true;
            // driver = new ChromeDriver();
            // driver = new PhantomJSDriver();
            if (searchType == "titleflex")
            {
                //string address1 = Streetno + " " + direction + " " + sname + " " + streettype + " " + unitnumber;
                gc.TitleFlexSearch(orderNumber, "", "", address, "UT", "Weber");

                if (HttpContext.Current.Session["TitleFlex_Search"] != null && HttpContext.Current.Session["TitleFlex_Search"].ToString() == "Yes")
                {
                    driver.Quit();
                    return("MultiParcel");
                }
                parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                //parcelNumber = HttpContext.Current.Session["titleparcel"].ToString().Replace(".", "").Replace("-", "");
                searchType = "parcel";
                if (HttpContext.Current.Session["titleparcel"].ToString() == "")
                {
                    HttpContext.Current.Session["Zero_Weber"] = "Zero";
                    driver.Quit();
                    return("No Data Found");
                }
            }
            //var option = new ChromeOptions();
            //option.AddArgument("No-Sandbox");
            using (driver = new PhantomJSDriver())
            {
                try
                {
                    driver.Navigate().GoToUrl("http://www.webercountyutah.gov/Treasurer/contact.php");
                    string taxauthority = driver.FindElement(By.XPath("//*[@id='main']/div/div[2]/a[2]")).Text;
                    gc.CreatePdf_WOP(orderNumber, "Taxauthority ", driver, "UT", "Weber");
                    string office = " 801-399-8454";
                    Tax_Authority = taxauthority + " " + office;
                }
                catch { }
                try
                {
                    driver.Navigate().GoToUrl("http://www3.co.weber.ut.us/psearch/index.php");
                    if (searchType == "address")
                    {
                        driver.FindElement(By.Id("address")).SendKeys(address);
                        gc.CreatePdf_WOP(orderNumber, "AddressBefore", driver, "UT", "Weber");
                        driver.FindElement(By.XPath("//*[@id='form3']/p/input[3]")).Click();
                        Thread.Sleep(5000);
                        try
                        {
                            string Nodata = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td/table/tbody/tr[2]/td/font")).Text;
                            if (Nodata.Contains("No Parcel Data"))
                            {
                                HttpContext.Current.Session["Zero_Weber"] = "Zero";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                        int Max = 0;
                        gc.CreatePdf_WOP(orderNumber, "Address After", driver, "UT", "Weber");
                        IWebElement         Addresstable = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td/table/tbody"));
                        IList <IWebElement> Addresrow    = Addresstable.FindElements(By.TagName("tr"));
                        IList <IWebElement> AddressTD;
                        foreach (IWebElement AddressT in Addresrow)
                        {
                            AddressTD = AddressT.FindElements(By.TagName("td"));
                            if (AddressTD.Count > 1 && AddressTD[2].Text.Contains(address.ToUpper()))
                            {
                                IWebElement Parcellink = AddressTD[0].FindElement(By.TagName("a"));
                                Addresshrf = Parcellink.GetAttribute("href");
                                string parcelno     = AddressTD[0].Text;
                                string OwnerName    = AddressTD[1].Text;
                                string Address      = AddressTD[2].Text;
                                string Multiaddress = OwnerName + "~" + Address;
                                gc.insert_date(orderNumber, parcelno, 1852, Multiaddress, 1, DateTime.Now);
                                Max++;
                            }
                        }
                        if (Max == 1)
                        {
                            driver.Navigate().GoToUrl(Addresshrf);
                            Thread.Sleep(2000);
                        }
                        if (Max > 1 && Max < 26)
                        {
                            HttpContext.Current.Session["multiParcel_Weber"] = "Yes";
                            driver.Quit();
                            return("MultiParcel");
                        }
                        if (Max > 25)
                        {
                            HttpContext.Current.Session["multiParcel_Weber_Multicount"] = "Maximum";
                            driver.Quit();
                            return("Maximum");
                        }
                        if (Max == 0)
                        {
                            HttpContext.Current.Session["Zero_Weber"] = "Zero";
                            driver.Quit();
                            return("No Data Found");
                        }
                    }
                    if (searchType == "parcel")
                    {
                        driver.FindElement(By.Id("partial_serial")).SendKeys(parcelNumber.Replace("-", ""));
                        gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search", driver, "UT", "Weber");
                        driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td[1]/table/tbody/tr/td/form/input[2]")).Click();
                        Thread.Sleep(4000);
                        gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search After", driver, "UT", "Weber");
                        IWebElement Parcelele  = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td/table/tbody/tr[3]/td[1]")).FindElement(By.TagName("a"));
                        string      parcelhref = Parcelele.GetAttribute("href");
                        driver.Navigate().GoToUrl(parcelhref);
                        Thread.Sleep(4000);
                        gc.CreatePdf(orderNumber, parcelNumber, "Parcel Search Click", driver, "UT", "Weber");
                    }
                    if (searchType == "ownername")
                    {
                        driver.FindElement(By.Id("owner")).SendKeys(ownername);
                        driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td[3]/table/tbody/tr/td/form/center/input[3]")).Click();
                        Thread.Sleep(4000);
                        int Max = 0;
                        gc.CreatePdf_WOP(orderNumber, "Address After", driver, "UT", "Weber");
                        IWebElement         Addresstable = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td/table/tbody"));
                        IList <IWebElement> Addresrow    = Addresstable.FindElements(By.TagName("tr"));
                        IList <IWebElement> AddressTD;
                        foreach (IWebElement AddressT in Addresrow)
                        {
                            AddressTD = AddressT.FindElements(By.TagName("td"));
                            if (AddressTD.Count > 1 && !AddressT.Text.Contains("Parcel #") && !AddressT.Text.Contains("Search Results"))
                            {
                                IWebElement Parcellink = AddressTD[0].FindElement(By.TagName("a"));
                                Addresshrf = Parcellink.GetAttribute("href");
                                string parcelno     = AddressTD[0].Text;
                                string OwnerName    = AddressTD[1].Text;
                                string Address      = AddressTD[2].Text;
                                string Multiaddress = OwnerName + "~" + Address;
                                gc.insert_date(orderNumber, parcelno, 1852, Multiaddress, 1, DateTime.Now);
                                Max++;
                            }
                        }
                        if (Max == 1)
                        {
                            driver.Navigate().GoToUrl(Addresshrf);
                            Thread.Sleep(2000);
                        }
                        if (Max > 1 && Max < 26)
                        {
                            HttpContext.Current.Session["multiParcel_Weber"] = "Yes";
                            driver.Quit();
                            return("MultiParcel");
                        }
                        if (Max > 25)
                        {
                            HttpContext.Current.Session["multiParcel_Weber_Multicount"] = "Maximum";
                            driver.Quit();
                            return("Maximum");
                        }
                        if (Max == 0)
                        {
                            HttpContext.Current.Session["Zero_Weber"] = "Zero";
                            driver.Quit();
                            return("No Data Found");
                        }
                    }
                    Parcel_number = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[3]/td/table/tbody/tr[4]/td[1]")).Text.Replace("Parcel Nbr: ", "").Trim();
                    string market        = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[5]/td/table/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[2]/td[1]")).Text;
                    string tax           = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[5]/td/table/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[2]/td[2]")).Text;
                    string rate          = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[5]/td/table/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[2]/td[4]")).Text;
                    string TaxArea1      = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[3]/td/table/tbody/tr[4]/td[2]")).Text;
                    string taxarea       = GlobalClass.After(TaxArea1, "Tax Area:").Trim();
                    string Netassessment = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[5]/td/table/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[4]/td[3]")).Text;
                    string totaldirect   = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[5]/td/table/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[5]/td[3]")).Text;
                    string PenaltyCharge = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[5]/td/table/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[6]/td[3]")).Text;
                    string subtotal      = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[5]/td/table/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[7]/td[3]")).Text;
                    string Totalpayment  = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[5]/td/table/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[9]/td[3]")).Text;
                    string Balance       = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[5]/td/table/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[10]/td[3]")).Text;
                    string type          = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[10]/td")).Text;
                    string Discription   = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[10]/td")).Text;
                    string amount        = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[10]/td")).Text;
                    string Status        = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[10]/td")).Text;
                    string loancompany1  = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[5]/td/table/tbody/tr/td[1]/p")).Text;
                    string Loancompany   = GlobalClass.After(loancompany1, "Loan Company:");
                    gc.CreatePdf(orderNumber, Parcel_number, "Property", driver, "UT", "Weber");
                    driver.FindElement(By.LinkText("Ownership Info")).Click();
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, Parcel_number, "owner Name", driver, "UT", "Weber");

                    string owner          = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[6]/td[1]/table/tbody/tr[1]/td[2]")).Text;
                    string proaddress     = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[6]/td[1]/table/tbody/tr[3]/td[2]")).Text;
                    string Mailingaddress = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[6]/td[1]/table/tbody/tr[5]/td[2]")).Text;
                    string Taxunit        = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[6]/td[1]/table/tbody/tr[7]/td[2]")).Text;
                    string priorParcel    = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[9]/td/table/tbody/tr[7]/td")).Text;
                    string Legal          = driver.FindElement(By.XPath("/html/body/table/tbody/tr[5]/td/table/tbody/tr[9]/td/table/tbody/tr[9]/td/table/tbody/tr")).Text;
                    driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td/div/table/tbody/tr/td[4]/div/a")).Click();
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, Parcel_number, "Property Characteristics", driver, "UT", "Weber");
                    string Propertytype = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td/table/tbody/tr[1]/td[2]")).Text;
                    try
                    {
                        yearbuilt = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td/table/tbody/tr[12]/td[2]")).Text;
                    }
                    catch { }
                    try
                    {
                        lotsize = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td/table/tbody/tr[13]/td[2]")).Text;
                    }
                    catch { }
                    string Propertydetail = owner + "~" + proaddress + "~" + Mailingaddress + "~" + Taxunit + "~" + priorParcel + "~" + Legal + "~" + Propertytype + "~" + yearbuilt + "~" + lotsize;
                    gc.insert_date(orderNumber, Parcel_number, 1841, Propertydetail, 1, DateTime.Now);
                    string Assessment = taxarea + "~" + Loancompany + "~" + market + "~" + tax + "~" + rate + "~" + Netassessment + "~" + totaldirect + "~" + PenaltyCharge + "~" + subtotal + "~" + Totalpayment + "~" + Balance + "~" + type + "~" + Discription + "~" + amount + "~" + Status + "~" + Tax_Authority;
                    gc.insert_date(orderNumber, Parcel_number, 1842, Assessment, 1, DateTime.Now);
                    //Tax History
                    driver.FindElement(By.LinkText("Tax History")).Click();
                    Thread.Sleep(2000);
                    driver.FindElement(By.XPath("/html/body/table/tbody/tr[7]/td/table/tbody/tr[2]/td[1]/table/tbody/tr[2]/td[1]/a")).Click();
                    Thread.Sleep(2000);
                    //Propert Cahrges
                    IWebElement         Propertytable = driver.FindElement(By.XPath("//*[@id='charge_2019']/table/tbody"));
                    IList <IWebElement> Propertyrow   = Propertytable.FindElements(By.TagName("tr"));
                    IList <IWebElement> Propertyid;
                    foreach (IWebElement Property in Propertyrow)
                    {
                        Propertyid = Property.FindElements(By.TagName("td"));
                        if (Propertyid.Count > 1 && Property.Text.Trim() != "")
                        {
                            string Propertyresult = Propertyid[1].Text + "~" + Propertyid[2].Text;
                            gc.insert_date(orderNumber, Parcel_number, 1843, Propertyresult, 1, DateTime.Now);
                        }
                    }
                    //Property Values
                    driver.FindElement(By.XPath("/html/body/table/tbody/tr[9]/td/table[1]/tbody/tr/td/div/a[2]")).Click();
                    Thread.Sleep(5000);
                    IWebElement         Propertyvaluestable = driver.FindElement(By.XPath("/html/body/table/tbody/tr[9]/td/table[2]/tbody"));
                    IList <IWebElement> Propertyvaluesrow   = Propertyvaluestable.FindElements(By.TagName("tr"));
                    IList <IWebElement> Propertyvaluesid;
                    foreach (IWebElement Propertyvalues in Propertyvaluesrow)
                    {
                        Propertyvaluesid = Propertyvalues.FindElements(By.TagName("td"));
                        if (Propertyvaluesid.Count == 4 && !Propertyvalues.Text.Contains("Year") && Propertyvaluesid[0].Text.Trim() != "")
                        {
                            string Propertyvaluesresult = Propertyvaluesid[0].Text + "~" + Propertyvaluesid[1].Text + "~" + Propertyvaluesid[2].Text + "~" + Propertyvaluesid[3].Text;
                            gc.insert_date(orderNumber, Parcel_number, 1844, Propertyvaluesresult, 1, DateTime.Now);
                        }
                    }
                    // Taxing Unit Areas
                    driver.FindElement(By.XPath("/html/body/table/tbody/tr[10]/td/table/tbody/tr[1]/td[1]/div/a[1]")).Click();
                    Thread.Sleep(2000);
                    IWebElement         TaxingUnittable = driver.FindElement(By.XPath("/html/body/table/tbody/tr[10]/td/table/tbody/tr[2]/td[1]/table/tbody"));
                    IList <IWebElement> TaxingUnitrow   = TaxingUnittable.FindElements(By.TagName("tr"));
                    IList <IWebElement> TaxingUnitid;
                    foreach (IWebElement TaxingUnit in TaxingUnitrow)
                    {
                        TaxingUnitid = TaxingUnit.FindElements(By.TagName("td"));
                        if (TaxingUnitid.Count == 4 && !TaxingUnit.Text.Contains("Year") && TaxingUnitid[0].Text.Trim() != "")
                        {
                            string TaxingUnitresult = TaxingUnitid[0].Text + "~" + TaxingUnitid[1].Text + "~" + TaxingUnitid[2].Text;
                            gc.insert_date(orderNumber, Parcel_number, 1845, TaxingUnitresult, 1, DateTime.Now);
                        }
                    }
                    //Payment
                    driver.FindElement(By.XPath("/html/body/table/tbody/tr[10]/td/table/tbody/tr[4]/td[1]/a[1]")).Click();
                    Thread.Sleep(2000);
                    IWebElement         Paymenttable = driver.FindElement(By.XPath("/html/body/table/tbody/tr[10]/td/table/tbody/tr[4]/td[1]/table/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 == 3 && !Payment.Text.Contains("Pay Date"))
                        {
                            string Paymentresult = Paymentid[0].Text + "~" + "" + "~" + Paymentid[1].Text + "~" + Paymentid[2].Text;
                            gc.insert_date(orderNumber, Parcel_number, 1846, Paymentresult, 1, DateTime.Now);
                        }
                        if (Paymentid.Count == 4 && !Payment.Text.Contains("Pay Date"))
                        {
                            string Paymentresult = Paymentid[0].Text + "~" + Paymentid[1].Text + "~" + Paymentid[2].Text + "~" + Paymentid[3].Text;
                            gc.insert_date(orderNumber, Parcel_number, 1846, Paymentresult, 1, DateTime.Now);
                        }
                    }
                    gc.CreatePdf(orderNumber, Parcel_number, "Tax History", driver, "UT", "Weber");
                    //Delinquent Tax
                    int D = 0;
                    driver.FindElement(By.XPath("/html/body/table/tbody/tr[4]/td/div/table/tbody/tr/td[5]/div/a")).Click();
                    Thread.Sleep(2000);
                    gc.CreatePdf(orderNumber, Parcel_number, "Delinquent Tax", driver, "UT", "Weber");
                    string currentwindow = driver.CurrentWindowHandle;
                    try
                    {
                        Nodeliquent = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td/center")).Text;
                    }
                    catch { }
                    if (Nodeliquent.Contains("No Record of Past"))
                    {
                        string Delinquentresult = "" + "~" + Nodeliquent + "~" + "";
                        gc.insert_date(orderNumber, Parcel_number, 1847, Delinquentresult, 1, DateTime.Now);
                    }
                    else
                    {
                        try
                        {
                            Inrest = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td/center[1]/table/tbody/tr/td[2]/table/tbody/tr[2]/td/form/center")).Text;
                            IWebElement good_date = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td/center[1]/table/tbody/tr/td[2]/table/tbody/tr[2]/td/form/center/input[1]"));
                            Good_through_date = good_date.GetAttribute("value");
                            if (Good_through_date.Contains("Select A Date"))
                            {
                                Good_through_date = "-";
                            }

                            else
                            {
                                try
                                {
                                    if (Inrest.Contains("Interest Calculation Date"))
                                    {
                                        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.XPath("//*[@id='ui-datepicker-div']/div/a[2]"));
                                                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.XPath("/html/body/table/tbody/tr[6]/td/center[1]/table/tbody/tr/td[2]/table/tbody/tr[2]/td/form/center/input[1]")).Clear();
                                        driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td/center[1]/table/tbody/tr/td[2]/table/tbody/tr[2]/td/form/center/input[1]")).SendKeys(Good_through_date);
                                        IWebElement         javaclick = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td/center[1]/table/tbody/tr/td[2]/table/tbody/tr[2]/td/form/center/input[2]"));
                                        IJavaScriptExecutor js1       = driver as IJavaScriptExecutor;
                                        js1.ExecuteScript("arguments[0].click();", javaclick);
                                        Thread.Sleep(9000);
                                    }
                                }
                                catch { }
                            }
                        }
                        catch { }
                        try
                        {
                            IWebElement         Delinquentyeartable = driver.FindElement(By.XPath("/html/body/table/tbody/tr[6]/td"));
                            IList <IWebElement> Delinquentyearrow   = Delinquentyeartable.FindElements(By.TagName("table"));
                            IList <IWebElement> Delinquentyearid;
                            foreach (IWebElement Delinquentyear in Delinquentyearrow)
                            {
                                Delinquentyearid = Delinquentyear.FindElements(By.TagName("td"));
                                if (Delinquentyearid.Count == 7 && !Delinquentyear.Text.Contains("Year"))
                                {
                                    string Delinquentyearresult = Delinquentyearid[0].Text + "~" + Delinquentyearid[1].Text + "~" + Delinquentyearid[2].Text + "~" + Delinquentyearid[3].Text + "~" + Delinquentyearid[4].Text + "~" + Delinquentyearid[5].Text + "~" + Delinquentyearid[6].Text;
                                    gc.insert_date(orderNumber, Parcel_number, 1853, Delinquentyearresult, 1, DateTime.Now);
                                }
                            }
                        }
                        catch { }

                        //  /html/body/table/tbody/tr[7]/td/table/tbody
                        try
                        {
                            Delinquenttable = driver.FindElement(By.XPath("/html/body/table[3]/tbody/tr/td[3]/table/tbody"));
                        }
                        catch { }
                        try
                        {
                            Delinquenttable = driver.FindElement(By.XPath("/html/body/table/tbody/tr[7]/td/table/tbody"));
                        }
                        catch { }
                        IList <IWebElement> Delinquentrow = Delinquenttable.FindElements(By.TagName("tr"));
                        IList <IWebElement> Delinquentid;
                        foreach (IWebElement Delinquent in Delinquentrow)
                        {
                            Delinquentid = Delinquent.FindElements(By.TagName("td"));
                            if (Delinquentid.Count == 3 && !Delinquent.Text.Contains("Pay Date"))
                            {
                                string Delinquentresult = Delinquentid[0].Text + "~" + Delinquentid[1].Text + "~" + Delinquentid[2].Text;
                                gc.insert_date(orderNumber, Parcel_number, 1847, Delinquentresult, 1, DateTime.Now);
                            }
                            if (D < 3 && !Delinquent.Text.Contains("Pay Date"))
                            {
                                try
                                {
                                    IWebElement Delequentclick = Delinquentid[0].FindElement(By.TagName("a"));
                                    Delequentclick.Click();
                                    Thread.Sleep(2000);
                                    driver.SwitchTo().Window(driver.WindowHandles.Last());
                                    gc.CreatePdf(orderNumber, Parcel_number, "Delinquent" + D, driver, "UT", "Weber");
                                    driver.SwitchTo().Window(currentwindow);
                                    D++;
                                }
                                catch { }
                            }
                        }
                    }
                    driver.Quit();

                    gc.mergpdf(orderNumber, "UT", "Weber");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    throw ex;
                }
            }
        }