private void DeleteButton3_Click(object sender, RoutedEventArgs e)
        {
            MessageBoxResult result;

            result = MessageBox.Show("Вы действительно хотите удалить этот перревод? При удалении этой записи расход и доход, связанные с этим переводом также удалятся.  Удалить перевод?", "Удаление", MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (result == MessageBoxResult.Yes)
            {
                using (FContext db = new FContext())
                {
                    if (TransfersGrid.SelectedItems.Count > 0)
                    {
                        for (int i = 0; i < TransfersGrid.SelectedItems.Count; i++)
                        {
                            Transfer1 transfer = TransfersGrid.SelectedItems[i] as Transfer1;
                            if (transfer != null)
                            {
                                var item = db.Transfers.Find(transfer.ID);

                                db.Transfers.Remove(item);
                                db.SaveChanges();

                                var table = db.Costs;
                                foreach (var cost in table)
                                {
                                    if ((cost.Amount == transfer.Amount) && (cost.Account == item.Account1) && (item.Pdate == cost.Pdate))
                                    {
                                        db.Costs.Remove(cost);
                                    }
                                }
                                db.SaveChanges();
                                var table1 = db.Incomes;
                                foreach (var income in table1)
                                {
                                    if (income.Amount == transfer.Amount && (income.Account == item.Account2) && (item.Pdate == income.Pdate))
                                    {
                                        db.Incomes.Remove(income);
                                    }
                                }
                                db.SaveChanges();
                            }
                        }
                    }
                    db.SaveChanges();
                }
            }
            Refresh();
        }
예제 #2
0
        public string FTP_HorrySC(string Address, string ownerName, string unitnumber, string parcelNumber, string searchType, string orderNumber)
        {
            GlobalClass.global_orderNo             = orderNumber;
            HttpContext.Current.Session["orderNo"] = orderNumber;
            GlobalClass.global_parcelNo            = parcelNumber;
            IJavaScriptExecutor js = driver as IJavaScriptExecutor;
            string strmulti = "", Taxy = "";
            string StartTime = "", AssessmentTime = "", TaxTime = "", CitytaxTime = "", LastEndTime = "", accountnumber = "";
            var    driverService = PhantomJSDriverService.CreateDefaultService();

            driverService.HideCommandPromptWindow = true;
            //driver = new PhantomJSDriver();
            //driver = new ChromeDriver();
            using (driver = new PhantomJSDriver())
            {
                try
                {
                    StartTime = DateTime.Now.ToString("HH:mm:ss");
                    driver.Navigate().GoToUrl("http://www.horrycounty.org/apps/LandRecords");

                    //Thread.Sleep(3000);
                    if (searchType == "titleflex")
                    {
                        // string address = streetNo + " " + direction + " " + streetName + " " + streetType + " " + accountNo;
                        gc.TitleFlexSearch(orderNumber, "", "", Address.Trim(), "SC", "Horry");
                        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_HorrySC"] = "Yes";
                            driver.Quit();
                            return("No Data Found");
                        }
                        parcelNumber = HttpContext.Current.Session["titleparcel"].ToString();
                        searchType   = "parcel";
                    }
                    if (searchType == "address")
                    {
                        driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div/div[1]/input")).SendKeys(Address);
                        gc.CreatePdf_WOP(orderNumber, "Address Search Before", driver, "SC", "Horry");
                        driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div/div[2]")).Click();
                        Thread.Sleep(5000);
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/ul/li[2]/h3")).Click();
                            Thread.Sleep(7000);

                            IWebElement temp = driver.FindElement(By.XPath("//*[@id='graphicsLayer3_layer']"));
                            temp.Click();
                            //IJavaScriptExecutor js23 = driver as IJavaScriptExecutor;
                            //js23.ExecuteScript("arguments[0].click();", temp);
                            //Thread.Sleep(3000);
                        }
                        catch { }
                        //driver.FindElement(By.Id("graphicsLayer3_layer")).Click();
                        gc.CreatePdf_WOP(orderNumber, "Address Search After", driver, "SC", "Horry");
                        //Multiparcel
                        try
                        {
                            strmulti = driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/ul/li[1]/span")).Text.Trim();
                            if (Convert.ToInt32(strmulti) > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Paulding_Maximum"] = "Maximum";
                                driver.Quit();
                                return("Maximum");
                            }
                            if (Convert.ToInt32(strmulti) == 1)
                            {
                                driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/ul/li[2]")).Click();
                                gc.CreatePdf_WOP(orderNumber, "Search After", driver, "SC", "Horry");
                            }
                            IWebElement         Imultitable = driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/ul"));
                            IList <IWebElement> ImutiRow    = Imultitable.FindElements(By.TagName("li"));
                            IList <IWebElement> ImultiTD;
                            IList <IWebElement> ImultiTD1;
                            foreach (IWebElement multi in ImutiRow)
                            {
                                ImultiTD  = multi.FindElements(By.TagName("h3"));
                                ImultiTD1 = multi.FindElements(By.TagName("h4"));
                                if (ImultiTD.Count == 1 && ImultiTD1.Count == 1)
                                {
                                    string strmultiDetails = ImultiTD[0].Text.Trim() + "~" + ImultiTD1[0].Text.Replace(";", "").Trim();
                                    gc.insert_date(orderNumber, parcelNumber, 1821, strmultiDetails, 1, DateTime.Now);
                                }
                            }
                            HttpContext.Current.Session["multiParcel_HorrySC"] = "Yes";
                            driver.Quit();
                            return("Multiparcel");
                        }
                        catch { }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/div")).Text;
                            if (nodata.Contains("No Results Found"))
                            {
                                HttpContext.Current.Session["Nodata_HorrySC"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }
                    if (searchType == "parcel")
                    {
                        driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div/div[1]/input")).SendKeys(parcelNumber);
                        gc.CreatePdf(orderNumber, parcelNumber, "Parcel Before Search", driver, "SC", "Horry");
                        driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div/div[2]")).Click();
                        Thread.Sleep(2000);
                        try
                        {
                            driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/ul/li[2]")).Click();
                        }
                        catch { }
                        gc.CreatePdf_WOP(orderNumber, "Parcel Search After", driver, "SC", "Horry");
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/div")).Text;
                            if (nodata.Contains("No Results Found"))
                            {
                                HttpContext.Current.Session["Nodata_HorrySC"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }

                    else if (searchType == "ownername")
                    {
                        driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div/div[1]/input")).SendKeys(ownerName);
                        gc.CreatePdf(orderNumber, parcelNumber, "Ownername Before Search", driver, "SC", "Horry");
                        driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div/div[2]")).Click();
                        Thread.Sleep(2000);
                        //Multiparcel
                        try
                        {
                            strmulti = driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/ul/li[1]/span")).Text.Trim();
                            if (Convert.ToInt32(strmulti) > 25)
                            {
                                HttpContext.Current.Session["multiParcel_Paulding_Maximum"] = "Maximum";
                                driver.Quit();
                                return("Maximum");
                            }
                            if (Convert.ToInt32(strmulti) == 1)
                            {
                                driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/ul/li[2]")).Click();
                                gc.CreatePdf_WOP(orderNumber, "Search After", driver, "SC", "Horry");
                            }
                            IWebElement         Imultitable = driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/ul"));
                            IList <IWebElement> ImutiRow    = Imultitable.FindElements(By.TagName("li"));
                            IList <IWebElement> ImultiTD;
                            IList <IWebElement> ImultiTD1;
                            foreach (IWebElement multi in ImutiRow)
                            {
                                ImultiTD  = multi.FindElements(By.TagName("h3"));
                                ImultiTD1 = multi.FindElements(By.TagName("h4"));
                                if (ImultiTD.Count == 1 && ImultiTD1.Count == 1)
                                {
                                    string strmultiDetails = ImultiTD[0].Text.Trim() + "~" + ImultiTD1[0].Text.Replace(";", "").Trim();
                                    gc.insert_date(orderNumber, parcelNumber, 1821, strmultiDetails, 1, DateTime.Now);
                                }
                            }
                            HttpContext.Current.Session["multiParcel_HorrySC"] = "Yes";
                            driver.Quit();
                            return("Multiparcel");
                        }
                        catch { }
                        try
                        {
                            //No Data Found
                            string nodata = driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/div")).Text;
                            if (nodata.Contains("No Results Found"))
                            {
                                HttpContext.Current.Session["Nodata_HorrySC"] = "Yes";
                                driver.Quit();
                                return("No Data Found");
                            }
                        }
                        catch { }
                    }
                    //Property Details
                    try
                    {
                        driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/ul/li[2]")).Click();
                        gc.CreatePdf_WOP(orderNumber, "Search After", driver, "SC", "Horry");
                    }
                    catch { }

                    string Parcel = "", Tms = "", Owner = "", Propertyadd = "", District = "", Estimatedacres = "", Estimatedyearbuilt = "", Legal = "";

                    Owner       = driver.FindElement(By.XPath("//*[@id='Land']/div/div[1]/h2")).Text.Trim();
                    Propertyadd = driver.FindElement(By.XPath("//*[@id='Land']/div/div[1]/h3")).Text.Trim();
                    IWebElement pinns = driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/div[1]/h2"));

                    string[] splitpinnns = pinns.Text.Split('/');

                    Parcel = splitpinnns[0].Replace("PIN:", "").Trim();
                    Tms    = splitpinnns[1].Replace("TMS:", "").Trim();

                    IWebElement         tbProper12 = driver.FindElement(By.XPath("//*[@id='Land']/div/div[2]/table[1]/tbody"));
                    IList <IWebElement> TRProper2  = tbProper12.FindElements(By.TagName("tr"));
                    IList <IWebElement> TDmulti12;
                    foreach (IWebElement row in TRProper2)
                    {
                        TDmulti12 = row.FindElements(By.TagName("td"));
                        if (TDmulti12.Count == 2 && row.Text.Contains("District"))
                        {
                            District = TDmulti12[1].Text.Trim();
                        }
                        if (TDmulti12.Count == 2 && row.Text.Contains("Estimated Acres"))
                        {
                            Estimatedacres = TDmulti12[1].Text.Trim();
                        }
                    }

                    IWebElement         tbProper13 = driver.FindElement(By.XPath("//*[@id='Land']/div/div[2]/table[2]/tbody"));
                    IList <IWebElement> TRProper3  = tbProper13.FindElements(By.TagName("tr"));
                    IList <IWebElement> TDmulti13;
                    foreach (IWebElement row1 in TRProper3)
                    {
                        TDmulti13 = row1.FindElements(By.TagName("td"));
                        if (TDmulti13.Count == 2 && row1.Text.Contains("Estimated Year Built"))
                        {
                            Estimatedyearbuilt = TDmulti13[1].Text.Trim();
                        }
                    }

                    string PropertyDetails = Tms.Trim() + "~" + Owner.Trim() + "~" + Propertyadd.Trim() + "~" + District.Trim() + "~" + Estimatedacres.Trim() + "~" + Estimatedyearbuilt + "~" + Legal.Trim();
                    gc.insert_date(orderNumber, Parcel, 1799, PropertyDetails, 1, DateTime.Now);


                    //Assessment Details
                    //Taxable Values
                    string ResidentialLand = "", ResidentialImproved = "", FarmLand = "", FarmImproved = "", FarmUse = "", OtherLand = "", OtherImproved = "", Taxabletotal = "";

                    IWebElement         tbAssess13 = driver.FindElement(By.XPath("//*[@id='Land']/div/div[3]/table/tbody"));
                    IList <IWebElement> TRAssess3  = tbAssess13.FindElements(By.TagName("tr"));
                    IList <IWebElement> TDAssess13;
                    foreach (IWebElement Assess in TRAssess3)
                    {
                        TDAssess13 = Assess.FindElements(By.TagName("td"));
                        if (TDAssess13.Count == 2 && Assess.Text.Contains("Residential Land"))
                        {
                            ResidentialLand = TDAssess13[1].Text.Trim();
                        }
                        if (TDAssess13.Count == 2 && Assess.Text.Contains("Residential Impr."))
                        {
                            ResidentialImproved = TDAssess13[1].Text.Trim();
                        }
                        if (TDAssess13.Count == 2 && Assess.Text.Contains("Farm Land"))
                        {
                            FarmLand = TDAssess13[1].Text.Trim();
                        }
                        if (TDAssess13.Count == 2 && Assess.Text.Contains("Farm Improved"))
                        {
                            FarmImproved = TDAssess13[1].Text.Trim();
                        }
                        if (TDAssess13.Count == 2 && Assess.Text.Contains("Farm Use"))
                        {
                            FarmUse = TDAssess13[1].Text.Trim();
                        }
                        if (TDAssess13.Count == 2 && Assess.Text.Contains("Other Land"))
                        {
                            OtherLand = TDAssess13[1].Text.Trim();
                        }
                        if (TDAssess13.Count == 2 && Assess.Text.Contains("Other Improved"))
                        {
                            OtherImproved = TDAssess13[1].Text.Trim();
                        }
                        if (TDAssess13.Count == 2 && Assess.Text.Contains("Taxable Total"))
                        {
                            Taxabletotal = TDAssess13[1].Text.Trim();
                        }
                    }

                    string Assessmenttaxabledetails = ResidentialLand.Trim() + "~" + ResidentialImproved.Trim() + "~" + FarmLand.Trim() + "~" + FarmImproved.Trim() + "~" + FarmUse.Trim() + "~" + OtherLand.Trim() + "~" + OtherImproved.Trim() + "~" + Taxabletotal.Trim();
                    gc.insert_date(orderNumber, Parcel, 1809, Assessmenttaxabledetails, 1, DateTime.Now);

                    //Market Values
                    string ResidentialMarket = "", ResidentialBlvg = "", FarmLand1 = "", FarmBuilding = "", OtherLand1 = "", Otherbuilding = "", Totalmarketvalue = "";

                    IWebElement         tbAssess14 = driver.FindElement(By.XPath("//*[@id='Land']/div/div[4]/table/tbody"));
                    IList <IWebElement> TRAssess4  = tbAssess14.FindElements(By.TagName("tr"));
                    IList <IWebElement> TDAssess14;
                    foreach (IWebElement Assess4 in TRAssess4)
                    {
                        TDAssess14 = Assess4.FindElements(By.TagName("td"));
                        if (TDAssess14.Count == 2 && Assess4.Text.Contains("Residential Land"))
                        {
                            ResidentialMarket = TDAssess14[1].Text.Trim();
                        }
                        if (TDAssess14.Count == 2 && Assess4.Text.Contains("Residential Bldg."))
                        {
                            ResidentialBlvg = TDAssess14[1].Text.Trim();
                        }
                        if (TDAssess14.Count == 2 && Assess4.Text.Contains("Farm Land"))
                        {
                            FarmLand1 = TDAssess14[1].Text.Trim();
                        }
                        if (TDAssess14.Count == 2 && Assess4.Text.Contains("Farm Building"))
                        {
                            FarmBuilding = TDAssess14[1].Text.Trim();
                        }
                        if (TDAssess14.Count == 2 && Assess4.Text.Contains("Other Land"))
                        {
                            OtherLand1 = TDAssess14[1].Text.Trim();
                        }
                        if (TDAssess14.Count == 2 && Assess4.Text.Contains("Other Building"))
                        {
                            Otherbuilding = TDAssess14[1].Text.Trim();
                        }
                        if (TDAssess14.Count == 2 && Assess4.Text.Contains("Total Market Value"))
                        {
                            Totalmarketvalue = TDAssess14[1].Text.Trim();
                        }
                    }
                    string Assessmentmarketdetails = ResidentialMarket.Trim() + "~" + ResidentialBlvg.Trim() + "~" + FarmLand1.Trim() + "~" + FarmBuilding.Trim() + "~" + OtherLand1.Trim() + "~" + Otherbuilding.Trim() + "~" + Totalmarketvalue.Trim();
                    gc.insert_date(orderNumber, Parcel, 1810, Assessmentmarketdetails, 1, DateTime.Now);


                    //Permits Details
                    //Insert 1811
                    try
                    {
                        driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/div[2]/ul/li[4]")).Click();
                        Thread.Sleep(2000);
                        driver.FindElement(By.XPath("//*[@id='Permits']/div/div/i")).Click();
                        Thread.Sleep(2000);
                        gc.CreatePdf(orderNumber, Parcel, "Permits Details", driver, "SC", "Horry");
                    }
                    catch { }
                    string Singlefamily = "", Issued = "", Applicationdate = "", Value = "", Squarefootage = "", Description = "";

                    Singlefamily = driver.FindElement(By.XPath("//*[@id='Permits']/div/div/h2[1]")).Text.Replace("Single Family -", "");
                    Issued       = driver.FindElement(By.XPath("//*[@id='Permits']/div/div/h2[2]")).Text.Replace("Issued", "");

                    IWebElement         tbPermit14 = driver.FindElement(By.XPath("//*[@id='Permits']/div/div/table/tbody"));
                    IList <IWebElement> TRPermit4  = tbPermit14.FindElements(By.TagName("tr"));
                    IList <IWebElement> TDPermit14;
                    foreach (IWebElement Permit in TRPermit4)
                    {
                        TDPermit14 = Permit.FindElements(By.TagName("td"));
                        if (TDPermit14.Count == 2 && Permit.Text.Contains("Application Date"))
                        {
                            Applicationdate = TDPermit14[1].Text.Trim();
                        }
                        if (TDPermit14.Count == 2 && Permit.Text.Contains("Value"))
                        {
                            Value = TDPermit14[1].Text.Trim();
                        }
                        if (TDPermit14.Count == 2 && Permit.Text.Contains("Square Footage"))
                        {
                            Squarefootage = TDPermit14[1].Text.Trim();
                        }
                        if (TDPermit14.Count == 2 && Permit.Text.Contains("Description"))
                        {
                            Description = TDPermit14[1].Text.Trim();
                        }
                    }
                    string Permitdetails = Singlefamily.Trim() + "~" + Issued.Trim() + "~" + Applicationdate.Trim() + "~" + Value.Trim() + "~" + Squarefootage.Trim() + "~" + Description;
                    gc.insert_date(orderNumber, Parcel, 1811, Permitdetails, 1, DateTime.Now);

                    //Parcel Details

                    string Parcel1 = "", Tms1 = "", owner = "", NeighborhoodName = "", NeighborhoodNumber = "", Jurisdiction = "", Area = "", District1 = "", CensusTract = "", LegalAcres = "";

                    IWebElement         IAddressSearch1 = driver.FindElement(By.XPath("//*[@id='appContainer']/div/div/div[2]/div[4]/div[4]/div[2]/div[1]"));
                    IJavaScriptExecutor js1             = driver as IJavaScriptExecutor;
                    js1.ExecuteScript("arguments[0].click();", IAddressSearch1);
                    Thread.Sleep(9000);
                    driver.SwitchTo().Window(driver.WindowHandles.Last());

                    owner       = driver.FindElement(By.XPath("/html/body/div/div[2]/div/div[1]/div[1]/h2")).Text.Trim();
                    Propertyadd = driver.FindElement(By.XPath("/html/body/div/div[2]/div/div[1]/div[1]/h3")).Text.Trim();

                    IWebElement Pin11 = driver.FindElement(By.XPath("/html/body/div/div[1]/h2"));

                    string[] splitpinnns1 = Pin11.Text.Split('-');

                    Parcel1 = splitpinnns[0].Replace("PIN:", "").Trim();
                    Tms1    = splitpinnns[1].Replace("TMS:", "").Trim();

                    gc.CreatePdf(orderNumber, Parcel1, "Parcel Details", driver, "SC", "Horry");

                    IWebElement         tbParcel = driver.FindElement(By.XPath("/html/body/div/div[2]/div/div[1]/div[2]/table/tbody"));
                    IList <IWebElement> TRParcel = tbParcel.FindElements(By.TagName("tr"));
                    IList <IWebElement> TDParcel;
                    foreach (IWebElement Parcelrow in TRParcel)
                    {
                        TDParcel = Parcelrow.FindElements(By.TagName("td"));
                        if (TDParcel.Count == 2 && Parcelrow.Text.Contains("Neighborhood Name"))
                        {
                            NeighborhoodName = TDParcel[1].Text.Trim();
                        }
                        if (TDParcel.Count == 2 && Parcelrow.Text.Contains("Neighborhood Number"))
                        {
                            NeighborhoodNumber = TDParcel[1].Text.Trim();
                        }
                        if (TDParcel.Count == 2 && Parcelrow.Text.Contains("Jurisdiction"))
                        {
                            Jurisdiction = TDParcel[1].Text.Trim();
                        }
                        if (TDParcel.Count == 2 && Parcelrow.Text.Contains("Area"))
                        {
                            Area = TDParcel[1].Text.Trim();
                        }
                        if (TDParcel.Count == 2 && Parcelrow.Text.Contains("District"))
                        {
                            District1 = TDParcel[1].Text.Trim();
                        }
                        if (TDParcel.Count == 2 && Parcelrow.Text.Contains("Census Tract"))
                        {
                            CensusTract = TDParcel[1].Text.Trim();
                        }
                        if (TDParcel.Count == 2 && Parcelrow.Text.Contains("Legal Acres"))
                        {
                            LegalAcres = TDParcel[1].Text.Trim();
                        }
                    }
                    string Parceldetails = Tms.Trim() + "~" + Owner.Trim() + "~" + Propertyadd.Trim() + "~" + NeighborhoodName.Trim() + "~" + NeighborhoodNumber.Trim() + "~" + Jurisdiction + "~" + Area.Trim() + "~" + District1.Trim() + "~" + CensusTract.Trim() + "~" + LegalAcres.Trim();
                    gc.insert_date(orderNumber, Parcel, 1812, Parceldetails, 1, DateTime.Now);

                    //Assessment Details
                    string              Assessmentyear = "", Reasonforchange = "", MarketvalLand = "", MarketvalImprovement = "", MarketvalTotal = "", LanduseLand = "", LandImprovement = "", Landusetotal = "";
                    IWebElement         tbAssess = driver.FindElement(By.XPath("/html/body/div/div[4]/div/table/tbody"));
                    IList <IWebElement> TRAssess = tbAssess.FindElements(By.TagName("tr"));
                    IList <IWebElement> TDAssess;
                    foreach (IWebElement Assess in TRAssess)
                    {
                        TDAssess = Assess.FindElements(By.TagName("td"));
                        if (TDAssess.Count == 8)
                        {
                            Assessmentyear       = TDAssess[0].Text.Trim();
                            Reasonforchange      = TDAssess[1].Text.Trim();
                            MarketvalLand        = TDAssess[2].Text.Trim();
                            MarketvalImprovement = TDAssess[3].Text.Trim();
                            MarketvalTotal       = TDAssess[4].Text.Trim();
                            LanduseLand          = TDAssess[5].Text.Trim();
                            LandImprovement      = TDAssess[6].Text.Trim();
                            Landusetotal         = TDAssess[7].Text.Trim();

                            string Assessdetails = Assessmentyear.Trim() + "~" + Reasonforchange.Trim() + "~" + MarketvalLand.Trim() + "~" + MarketvalImprovement.Trim() + "~" + MarketvalTotal.Trim() + "~" + LanduseLand + "~" + LandImprovement.Trim() + "~" + Landusetotal.Trim();
                            gc.insert_date(orderNumber, Parcel, 1813, Assessdetails, 1, DateTime.Now);
                        }
                    }
                    //Transfer of Ownership
                    string              Owner1 = "", Consideration = "", Transferdate = "", Deedbook = "", Deedtype = "";
                    IWebElement         Transfer   = driver.FindElement(By.XPath("/html/body/div/div[3]/div/table/tbody"));
                    IList <IWebElement> TRTransfer = Transfer.FindElements(By.TagName("tr"));
                    IList <IWebElement> TDTransfer;
                    foreach (IWebElement Transfer1 in TRTransfer)
                    {
                        TDTransfer = Transfer1.FindElements(By.TagName("td"));
                        if (TDTransfer.Count == 5)
                        {
                            Owner1        = TDTransfer[0].Text.Trim();
                            Consideration = TDTransfer[1].Text.Trim();
                            Transferdate  = TDTransfer[2].Text.Trim();
                            Deedbook      = TDTransfer[3].Text.Trim();
                            Deedtype      = TDTransfer[4].Text.Trim();

                            string Transferof = Owner1.Trim() + "~" + Consideration.Trim() + "~" + Transferdate.Trim() + "~" + Deedbook.Trim() + "~" + Deedtype.Trim();
                            gc.insert_date(orderNumber, Parcel, 1823, Transferof, 1, DateTime.Now);
                        }
                    }
                    //Tax Information Details
                    driver.Navigate().GoToUrl("https://horrycountytreasurer.qpaybill.com/Taxes/TaxesDefaultType4.aspx");


                    IWebElement   ISelect1 = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_ddlCriteriaList']"));
                    SelectElement sSelect1 = new SelectElement(ISelect1);
                    sSelect1.SelectByText("PIN");

                    driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_txtCriteriaBox']")).SendKeys(Parcel.Trim());
                    gc.CreatePdf_WOP(orderNumber, "Tax Info Page", driver, "SC", "Horry");

                    IWebElement         IAddressSearch2 = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_btnSearch']"));
                    IJavaScriptExecutor js2             = driver as IJavaScriptExecutor;
                    js1.ExecuteScript("arguments[0].click();", IAddressSearch2);
                    Thread.Sleep(9000);

                    //Tax Information Details
                    string              Noticenumber = "", Name = "", Year = "", Descriptions = "", Type = "", Status = "", Paymentdate = "", Amount = "";
                    IWebElement         Taxinfo1  = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_gvSearchResults']/tbody"));
                    IList <IWebElement> TRTaxinfo = Taxinfo1.FindElements(By.TagName("tr"));
                    IList <IWebElement> TDTaxinfo;
                    foreach (IWebElement Taxinfo in TRTaxinfo)
                    {
                        TDTaxinfo = Taxinfo.FindElements(By.TagName("td"));
                        if (TDTaxinfo.Count == 11)
                        {
                            Noticenumber = TDTaxinfo[0].Text.Trim();
                            Name         = TDTaxinfo[1].Text.Trim();
                            Year         = TDTaxinfo[2].Text.Trim();
                            Descriptions = TDTaxinfo[3].Text.Trim();
                            Type         = TDTaxinfo[5].Text.Trim();
                            Status       = TDTaxinfo[6].Text.Trim();
                            Paymentdate  = TDTaxinfo[7].Text.Trim();
                            Amount       = TDTaxinfo[8].Text.Trim();

                            string TaxHistorydetails = Noticenumber.Trim() + "~" + Name.Trim() + "~" + Year.Trim() + "~" + Descriptions.Trim() + "~" + Type.Trim() + "~" + Status.Trim() + "~" + Paymentdate.Trim() + "~" + Amount.Trim();
                            gc.insert_date(orderNumber, Parcel, 1838, TaxHistorydetails, 1, DateTime.Now);
                        }
                    }

                    for (int i = 0; i < 5; i++)
                    {
                        try
                        {////*[@id="ctl00_MainContent_gvSearchResults"]/tbody/tr[2]/td[10]
                            IWebElement Receipttable1 = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_gvSearchResults']/tbody/tr[" + i + "]/td[10]"));
                            Receipttable1.Click();
                            Thread.Sleep(5000);
                            gc.CreatePdf(orderNumber, Parcel, "Tax " + i, driver, "SC", "Horry");
                            //
                            string Recordtype = "", Mapnumber = "", Pin = "", Acres = "", Description1 = "", TaxownerName = "", Address1 = "", Taxyear = "", Districtlevy = "", Citylevy = "", Totalappraised = "", Totalassessd = "", Assessmentratio = "", Landappraisal = "", Buildingappraisal = "", Countytax = "", Citytax = "", Fees = "", Residential = "", Homestead = "", Otherexemption = "", Localoption = "", Totaltax = "", Totalpaid = "";

                            //Property Information
                            Recordtype   = driver.FindElement(By.Id("ctl00_MainContent_lblRecordType")).Text.Trim();
                            Mapnumber    = driver.FindElement(By.Id("ctl00_MainContent_lblMapNo")).Text.Trim();
                            Acres        = driver.FindElement(By.Id("ctl00_MainContent_lblAcres")).Text.Trim();
                            Description1 = driver.FindElement(By.Id("ctl00_MainContent_lblDesc2")).Text.Trim();
                            //Tax Information
                            TaxownerName      = driver.FindElement(By.Id("ctl00_MainContent_lblName")).Text.Trim();
                            Address1          = driver.FindElement(By.Id("ctl00_MainContent_LabelAddress")).Text.Trim();
                            TaxownerName      = driver.FindElement(By.Id("ctl00_MainContent_LabelAddress")).Text.Trim();
                            Taxyear           = driver.FindElement(By.Id("ctl00_MainContent_lblTaxYr")).Text.Trim();
                            Districtlevy      = driver.FindElement(By.Id("ctl00_MainContent_lblDistrict")).Text.Trim();
                            Citylevy          = driver.FindElement(By.Id("ctl00_MainContent_lblCity")).Text.Trim();
                            Totalappraised    = driver.FindElement(By.Id("ctl00_MainContent_lblMarketVal")).Text.Trim();
                            Totalassessd      = driver.FindElement(By.Id("ctl00_MainContent_lblAssmt")).Text.Trim();
                            Assessmentratio   = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_PanelAppraisal']/li/table/tbody/tr[2]/td[1]")).Text.Trim();
                            Landappraisal     = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_PanelAppraisal']/li/table/tbody/tr[2]/td[2]")).Text.Trim();
                            Buildingappraisal = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_PanelAppraisal']/li/table/tbody/tr[2]/td[3]")).Text.Trim();
                            //Taxes
                            Countytax      = driver.FindElement(By.Id("ctl00_MainContent_lblCountyTax")).Text.Trim();
                            Citytax        = driver.FindElement(By.Id("ctl00_MainContent_lblCityTax")).Text.Trim();
                            Fees           = driver.FindElement(By.Id("ctl00_MainContent_lblFees")).Text.Trim();
                            Residential    = driver.FindElement(By.Id("ctl00_MainContent_lblResidential")).Text.Trim();
                            Homestead      = driver.FindElement(By.Id("ctl00_MainContent_lblHomestead")).Text.Trim();
                            Otherexemption = driver.FindElement(By.Id("ctl00_MainContent_lblOther")).Text.Trim();
                            Localoption    = driver.FindElement(By.Id("ctl00_MainContent_lblLocalOpts")).Text.Trim();
                            Totaltax       = driver.FindElement(By.Id("ctl00_MainContent_lblTotalTaxes")).Text.Trim();
                            Totalpaid      = driver.FindElement(By.Id("ctl00_MainContent_lblTotalPd")).Text.Trim();

                            string Taxinformationsdetals = Taxyear + "~" + Recordtype.Trim() + "~" + Mapnumber.Trim() + "~" + Acres.Trim() + "~" + Description1.Trim() + "~" + TaxownerName.Trim() + "~" + Districtlevy.Trim() + "~" + Citylevy.Trim() + "~" + Totalappraised.Trim() + "~" + Totalassessd.Trim() + "~" + Assessmentratio.Trim() + "~" + Landappraisal.Trim() + "~" + Buildingappraisal.Trim() + "~" + Countytax.Trim() + "~" + Citytax.Trim() + "~" + Fees.Trim() + "~" + Residential.Trim() + "~" + Homestead.Trim() + "~" + Otherexemption.Trim() + "~" + Localoption.Trim() + "~" + Totaltax.Trim() + "~" + Totalpaid.Trim();
                            gc.insert_date(orderNumber, Parcel, 1839, Taxinformationsdetals, 1, DateTime.Now);
                            driver.Navigate().Back();
                        }
                        catch { }
                    }

                    TaxTime     = DateTime.Now.ToString("HH:mm:ss");
                    CitytaxTime = DateTime.Now.ToString("HH:mm:ss");
                    LastEndTime = DateTime.Now.ToString("HH:mm:ss");
                    gc.insert_TakenTime(orderNumber, "SC", "Horry", StartTime, AssessmentTime, TaxTime, CitytaxTime, LastEndTime);

                    driver.Quit();
                    gc.mergpdf(orderNumber, "SC", "Horry");
                    return("Data Inserted Successfully");
                }
                catch (Exception ex)
                {
                    driver.Quit();
                    GlobalClass.LogError(ex, orderNumber);
                    throw ex;
                }
            }
        }
        public FinanceManager(User users)
        {
            InitializeComponent();

            MainWindow.user = users;

            db        = new FContext();
            user_name = users.NameUser;
            db.Users.Load();
            db.ViewCosts.Load();
            db.ViewIncomes.Load();

            db.PlaningCosts.Load();
            db.Incomes.Load();
            db.Currencies.Load();
            db.Costs.Load();
            db.Accounts.Load();
            db.Transfers.Load();
            string sqlExpression  = "SELECT Costs.Pdate,ViewCosts.ViewCosts, Costs.Amount, Accounts.Name ,Costs.Description, Users.NameUser, Costs.ID FROM Costs left join Accounts On Accounts.ID=Costs.Account left join Users On Accounts.NameUser=Users.ID left join ViewCosts On Costs.Type = ViewCosts.ID Where Users.NameUser='******'";
            string sqlAccount     = " Select Accounts.Name, Accounts.Amount, Currencies.Shortname , ISNULL(d.[Costs],0), ISNULL(b.[Incomes],0), Accounts.Description , Users.NameUser, Accounts.ID  From Accounts full join Users On Accounts.NameUser=Users.ID full join ( Select  sum(Costs.Amount)[Costs], Account  From Costs  group by Account) d  on d.Account=Accounts.ID  left join Currencies on Accounts.Currency=Currencies.ID full join (Select  sum(Incomes.Amount)[Incomes], Account From Incomes  group by Account) b  on b.Account=Accounts.ID Where Users.NameUser='******'";
            string sqlIncome      = "SELECT Incomes.Pdate,ViewIncomes.ViewIncomes, Incomes.Amount, Accounts.Name ,Incomes.Description, Users.NameUser,Incomes.ID FROM Incomes left join Accounts On Accounts.ID=Incomes.Account left join Users On Accounts.NameUser=Users.ID left join ViewIncomes On Incomes.Type = ViewIncomes.ID Where Users.NameUser='******'";
            string sqlTransfer    = "SELECT Transfers.Pdate,ac1.Name,ac2.Name, Transfers.Amount, Users.NameUser, Transfers.ID FROM Transfers left join [Accounts] ac1 ON Transfers.Account1=ac1.ID left join  [Accounts] ac2  on Transfers.Account2=ac2.ID  left join Users On Users.ID=ac2.NameUser AND Users.ID=ac1.NameUser Where Users.NameUser='******'";
            string sqlplaning     = "SELECT PlaningCosts.Pdate,ViewCosts.ViewCosts, PlaningCosts.Amount, Accounts.Name ,PlaningCosts.Description, Users.NameUser, PlaningCosts.ID FROM PlaningCosts left join Accounts On Accounts.ID=PlaningCosts.Account left join Users On Accounts.NameUser=Users.ID left join ViewCosts On PlaningCosts.Type = ViewCosts.ID where Users.NameUser='******'";
            string sqlPlaneIncome = "SELECT PlaningIncomes.Pdate,ViewIncomes.ViewIncomes, PlaningIncomes.Amount, Accounts.Name ,PlaningIncomes.Description, Users.NameUser, PlaningIncomes.ID FROM PlaningIncomes left join Accounts On Accounts.ID = PlaningIncomes.Account left join Users On Accounts.NameUser = Users.ID left join ViewIncomes On PlaningIncomes.Type = ViewIncomes.ID where Users.NameUser = '******'";

            using (SqlConnection sqlconnection1 = new SqlConnection("Data Source = 1-ПК\\SQLSERVER; MultipleActiveResultSets=True; Trusted_Connection = Yes; DataBase = Finances"))
            {
                sqlconnection1.Open();

                SqlCommand    command = new SqlCommand(sqlExpression, sqlconnection1);
                SqlDataReader reader  = command.ExecuteReader();
                List <Cost1>  costs   = new List <Cost1>();


                if (reader.HasRows)
                {
                    try
                    {
                        while (reader.Read())
                        {
                            string pdata = reader.GetDateTime(0).ToShortDateString();
                            Cost1  cost  = new Cost1(pdata, reader.GetString(3), reader.GetString(1), reader.GetDecimal(2), reader.GetString(4), reader.GetInt32(6));
                            costs.Add(cost);
                        }
                        CostsGrid.ItemsSource = costs;
                        CostsStatus.Text      = "Количество записей: " + CostsGrid.Items.Count;
                    }

                    catch { }

                    reader.Close();
                }
                else
                {
                    reader.Close();
                }



                SqlCommand    commandAccount = new SqlCommand(sqlAccount, sqlconnection1);
                SqlDataReader reader1        = commandAccount.ExecuteReader();

                List <Account1> accounts = new List <Account1>();


                if (reader1.HasRows)
                {
                    if (reader1.HasRows)
                    {
                        try
                        {
                            while (reader1.Read())
                            {
                                decimal rest = reader1.GetDecimal(1) - reader1.GetDecimal(3) + reader1.GetDecimal(4);


                                Account1 account = new Account1(reader1.GetString(0), reader1.GetString(2), reader1.GetDecimal(1), rest, reader1.GetString(5), reader1.GetInt32(7));

                                accounts.Add(account);
                            }
                            AccountGrid.ItemsSource = accounts;
                            AccountStatus.Text      = "Количество счетов: " + AccountGrid.Items.Count;
                        }
                        catch { }
                    }

                    reader1.Close();
                }

                SqlCommand     commandIncome = new SqlCommand(sqlIncome, sqlconnection1);
                SqlDataReader  reader2       = commandIncome.ExecuteReader();
                List <Income1> incomes       = new List <Income1>();

                if (reader2.HasRows)
                {
                    try
                    {
                        while (reader2.Read())
                        {
                            string  pdata  = reader2.GetDateTime(0).ToShortDateString();
                            Income1 income = new Income1(pdata, reader2.GetString(3), reader2.GetString(1), reader2.GetDecimal(2), reader2.GetString(4), reader2.GetInt32(6));
                            incomes.Add(income);
                        }
                        IncomeGrid.ItemsSource = incomes;
                        IncomeStatus.Text      = "Количество записей: " + IncomeGrid.Items.Count;
                    }
                    catch { }
                    reader2.Close();
                }

                SqlCommand       commandTransfer = new SqlCommand(sqlTransfer, sqlconnection1);
                SqlDataReader    reader3         = commandTransfer.ExecuteReader();
                List <Transfer1> transfers       = new List <Transfer1>();

                if (reader3.HasRows)
                {
                    try
                    {
                        while (reader3.Read())
                        {
                            string    pdata    = reader3.GetDateTime(0).ToShortDateString();
                            Transfer1 transfer = new Transfer1(pdata, reader3.GetString(1), reader3.GetString(2), reader3.GetDecimal(3), reader3.GetInt32(5));
                            transfers.Add(transfer);
                        }
                        TransfersGrid.ItemsSource = transfers;
                        Status.Text = "Количество записей: " + TransfersGrid.Items.Count;
                    }
                    catch { }
                    reader3.Close();

                    SqlCommand          command3     = new SqlCommand(sqlplaning, sqlconnection1);
                    SqlDataReader       reader6      = command3.ExecuteReader();
                    List <PlaningCost1> planingcosts = new List <PlaningCost1>();

                    if (reader6.HasRows)
                    {
                        try
                        {
                            while (reader6.Read())
                            {
                                string       pdata = reader6.GetDateTime(0).ToShortDateString();
                                PlaningCost1 cost  = new PlaningCost1(pdata, reader6.GetString(3), reader6.GetString(1), reader6.GetDecimal(2), reader6.GetString(4), reader6.GetInt32(6));
                                planingcosts.Add(cost);
                            }
                            CostGrid.ItemsSource = planingcosts;
                            CostStatus.Text      = "Количество записей: " + CostGrid.Items.Count;
                        }
                        catch { }
                        reader6.Close();
                    }


                    SqlCommand            planeIncome = new SqlCommand(sqlPlaneIncome, sqlconnection1);
                    SqlDataReader         reader4     = planeIncome.ExecuteReader();
                    List <PlaningIncome1> incom       = new List <PlaningIncome1>();

                    if (reader4.HasRows)
                    {
                        try
                        {
                            while (reader4.Read())
                            {
                                string         pdata  = reader4.GetDateTime(0).ToShortDateString();
                                PlaningIncome1 income = new PlaningIncome1(pdata, reader4.GetString(3), reader4.GetString(1), reader4.GetDecimal(2), reader4.GetString(4), reader4.GetInt32(6));
                                incom.Add(income);
                            }
                            IncomsGrid.ItemsSource = incom;
                            IncomesStatus.Text     = "Количество записей: " + IncomsGrid.Items.Count;
                        }
                        catch { }
                        reader4.Close();
                    }
                }
            }
        }