private void button2_Click_1(object sender, EventArgs e)
        {
            string connection_string = Utils.getConnectionstr();
            string username = Utils.getusername();

            LinqtoSQLDataContext db = new LinqtoSQLDataContext(connection_string);
            //var q4 = from tblFBL5N in dc.tblFBL5Ns
            //         from tblFBL5Nnew in dc.tblFBL5Nnews
            //         where (tblFBL5N.Document_Number == tblFBL5Nnew.Document_Number)
            //         select tblFBL5N;

            //var q = from tblVat in dc.tblVats
            //        where !(from tblFBL5N in dc.tblFBL5Ns
            //                select tblFBL5N.Document_Number).Contains(tblVat.SAP_Invoice_Number)
            //        //Tương đương từ khóa NOT IN trong SQL
            //        select tblVat;
            var regioncode = (from tbl_Temp in db.tbl_Temps
                              where tbl_Temp.username == username
                              select tbl_Temp.RegionCode).FirstOrDefault();

            var rs = from tbl_kacontractsdatadetail in db.tbl_kacontractsdatadetails
                     where (from Tka_RegionRight in db.Tka_RegionRights
                            where Tka_RegionRight.RegionCode == regioncode
                            select Tka_RegionRight.Region
                            ).Contains(tbl_kacontractsdatadetail.SalesOrg) && tbl_kacontractsdatadetail.Constatus == "ALV"
                     select new
                     {

                         ContractNo = tbl_kacontractsdatadetail.ContractNo,
                         Region = tbl_kacontractsdatadetail.SalesOrg,

                         Constatus = tbl_kacontractsdatadetail.Constatus,
                         Contracttype = tbl_kacontractsdatadetail.ConType,
                         EffFrm = tbl_kacontractsdatadetail.EffFrm,

                         EffTo = tbl_kacontractsdatadetail.EffTo,
                         CustomerCode = tbl_kacontractsdatadetail.Customercode,
                         EftNoOfMonth = tbl_kacontractsdatadetail.EftNoOfMonth,
                         CurrentMonth = tbl_kacontractsdatadetail.CurrentMonth,

                         PCVolAched = tbl_kacontractsdatadetail.PCVolAched,
                         UCVolAched = tbl_kacontractsdatadetail.UCVolAched,
                         LitAched = tbl_kacontractsdatadetail.LitAched,
                         FTNAched = tbl_kacontractsdatadetail.ECAched,
                         NSRAched = tbl_kacontractsdatadetail.NSRAched,
                         AccruedAmt = tbl_kacontractsdatadetail.AccruedAmt,
                         PayControl = tbl_kacontractsdatadetail.PayControl,
                         Description = tbl_kacontractsdatadetail.Description,
                         PrdGrp = tbl_kacontractsdatadetail.PrdGrp,
                         FundPercentage = tbl_kacontractsdatadetail.FundPercentage,
                         SponsoredAmtperPC = tbl_kacontractsdatadetail.SponsoredAmtperPC,
                         AccruedDate = tbl_kacontractsdatadetail.AccruedDate,
                         FullCommitment = tbl_kacontractsdatadetail.SponsoredAmt,
                         CommitmentCurrent = tbl_kacontractsdatadetail.SponsoredTotal,
                         TotalPaid = tbl_kacontractsdatadetail.PaidAmt,
                         Balance = tbl_kacontractsdatadetail.Balance, //(to be accrual)


                     };


            View.KAcontractlisting KAcontractlisting = new View.KAcontractlisting(rs, db, "Accrual reports detail");


            KAcontractlisting.Show();
        }
        private void button6_Click(object sender, EventArgs e)
        {

            //   DateTime Accrualdate = DateTime.Today;
            View.Datepick kaPriodpicker = new View.Datepick("Choose Accrualdate Date");

            //   Datepick
            kaPriodpicker.ShowDialog();
            DateTime Accrualdate = kaPriodpicker.accrualdate;
            bool chon1 = kaPriodpicker.chon;

            if (chon1 == true)
            {





                Thread t1 = new Thread(Accrualmake);
                t1.IsBackground = true;
                t1.Start(new dateacrrual() { Accrualdate = Accrualdate });


                Thread t2 = new Thread(Control.Control_ac.showwait);
                t2.Start();
                //   autoEvent.WaitOne(); //join
                t1.Join();
                if (t1.ThreadState != ThreadState.Running)
                {


                    Thread.Sleep(999);
                    t2.Abort();




                }





                /// ----test





                // tính accrual xong thì 


                string connection_string = Utils.getConnectionstr();
                string username = Utils.getusername();

                LinqtoSQLDataContext db = new LinqtoSQLDataContext(connection_string);





                var regioncode = (from tbl_Temp in db.tbl_Temps
                                  where tbl_Temp.username == username
                                  select tbl_Temp.RegionCode).FirstOrDefault();

                var rs = from tbl_kacontractsdatadetail in db.tbl_kacontractsdatadetails
                         where (from Tka_RegionRight in db.Tka_RegionRights
                                where Tka_RegionRight.RegionCode == regioncode
                                select Tka_RegionRight.Region
                                ).Contains(tbl_kacontractsdatadetail.SalesOrg) && tbl_kacontractsdatadetail.Constatus == "ALV"
                         select new
                         {

                             ContractNo = tbl_kacontractsdatadetail.ContractNo,
                             Region = tbl_kacontractsdatadetail.SalesOrg,

                             Constatus = tbl_kacontractsdatadetail.Constatus,
                             Contracttype = tbl_kacontractsdatadetail.ConType,
                             EffFrm = tbl_kacontractsdatadetail.EffFrm,

                             EffTo = tbl_kacontractsdatadetail.EffTo,
                             CustomerCode = tbl_kacontractsdatadetail.Customercode,
                             EftNoOfMonth = tbl_kacontractsdatadetail.EftNoOfMonth,
                             CurrentMonth = tbl_kacontractsdatadetail.CurrentMonth,

                             PCVolAched = tbl_kacontractsdatadetail.PCVolAched,
                             UCVolAched = tbl_kacontractsdatadetail.UCVolAched,
                             LitAched = tbl_kacontractsdatadetail.LitAched,
                             FTNAched = tbl_kacontractsdatadetail.ECAched,
                             NSRAched = tbl_kacontractsdatadetail.NSRAched,
                             AccruedAmt = tbl_kacontractsdatadetail.AccruedAmt,
                             PayControl = tbl_kacontractsdatadetail.PayControl,
                             Description = tbl_kacontractsdatadetail.Description,
                             PrdGrp = tbl_kacontractsdatadetail.PrdGrp,
                             FundPercentage = tbl_kacontractsdatadetail.FundPercentage,
                             SponsoredAmtperPC = tbl_kacontractsdatadetail.SponsoredAmtperPC,
                             AccruedDate = tbl_kacontractsdatadetail.AccruedDate,
                             FullCommitment = tbl_kacontractsdatadetail.SponsoredAmt,
                             CommitmentCurrent = tbl_kacontractsdatadetail.SponsoredTotal,
                             TotalPaid = tbl_kacontractsdatadetail.PaidAmt,
                             Balance = tbl_kacontractsdatadetail.Balance, //(to be accrual)


                         };


                View.KAcontractlisting KAcontractlisting = new View.KAcontractlisting(rs, db, "Accrual reports detail");


                KAcontractlisting.Show();


            }
            ///-------test thread\\



        }