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();
        }
Exemple #2
0
 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();
        }
Exemple #4
0
        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;
        }
Exemple #5
0
        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;
                }
            }
        }
Exemple #7
0
        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;
                }
            }
        }
Exemple #8
0
        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);
                }
            }
        }
Exemple #11
0
        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));
        }
Exemple #12
0
        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;
                    }
                }
            }
        }
Exemple #13
0
        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();
        }
Exemple #19
0
        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;
        }
Exemple #21
0
        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);
        }
Exemple #24
0
        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;
                }
            }
        }
Exemple #25
0
 public rpt_dtr_summary()
 {
     gc = new GlobalClass();
     gm = new GlobalMethod();
     InitializeComponent();
 }
Exemple #26
0
        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;
                }
            }
        }
Exemple #28
0
        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;
                }
            }
        }
Exemple #29
0
        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;
                }
            }
        }
Exemple #30
0
        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;
                }
            }
        }