using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using Payroll.BO;
using Ease.CoreV35;
using Ease.Core.Model;
using Ease.Core.Utility;
using System.Windows.Forms;
using HRM.BO;
using HRM.DA;
using System.IO;

namespace HRM.Report
{
    public class Report108
    {
        
    }
}

//namespace Payroll.Report
//{
//    public class Report108
//    {
//        List<Employee> _Employees = null;
//        private ReportSetup _selectedParameter;

//        public ReportSetup SelectedParameter
//        {
//            set
//            {
//                _selectedParameter = value;
//            }
//        }

//        public Report108()
//        {

//        }

//        public string GetFromDate(Employee oEmp, string sFiscalYear)
//        {
//            DateTime dStartDate;
//            DateTime dFromDate;
//            DateTime dToDate;
//            string[] sFiscalYear1 = sFiscalYear.Split(new char[] { '-' });
//            dFromDate = Convert.ToDateTime(sFiscalYear1[0].ToString());
//            dToDate = Convert.ToDateTime(sFiscalYear1[1]);
//            if (oEmp.JoiningDate > dFromDate)
//            {
//                dStartDate = oEmp.JoiningDate;
//            }
//            else
//            {
//                dStartDate = dFromDate;
//            }
//            return Convert.ToString(dStartDate);
//        }

//        public string GetToDate(Employee oEmp, string sFiscalYear)
//        {
//            DateTime dTempEndDate;
//            DateTime dFromDate;
//            DateTime dToDate;
//            DateTime dEndDate = DateTime.Now;
//            string[] sFiscalYear1 = sFiscalYear.Split(new char[] { '-' });
//            dFromDate = Convert.ToDateTime(sFiscalYear1[0]);
//            dToDate = Convert.ToDateTime(sFiscalYear1[1]);
//            if (oEmp.Status != EnumEmployeeStatus.Live)
//            {
//                dTempEndDate = oEmp.DiscontinueDate;
//                if (dTempEndDate < dToDate)
//                {
//                    dEndDate = dTempEndDate;
//                }
//            }
//            else
//            {
//                dEndDate = dToDate;
//            }
//            return Convert.ToString(dEndDate);
//        }

//        //public void GetDataReport108()
//        //{
//        //    fReportViewer form = new fReportViewer();

//        //    ID nTaxParamID=_selectedParameter.TaxParameters[0].ID;
//        //    string sEmpNo=_selectedParameter.ReportItem.INSQL;
//        //    TaxParameter otaxparam = TaxParameter.Get(nTaxParamID);
//        //    DataRow oDRow = null;
//        //    PayrollDataSet.PayrollDataSet.Report108DataTable dTreport108 = new Payroll.Report.PayrollDataSet.PayrollDataSet.Report108DataTable();
//        //    int nIndex;
//        //    int nCount = 1;
//        //    double GrandTotal;
//        //    List<IncomeTax> oIncomeTaxs = null;
//        //    IncomeTax oIncomeTax=new IncomeTax();
//        //    _Employees = Employee.GetByEmpIDs(sEmpNo);
//        //    double nAmount = 0;
//        //    double nTempAmount = 0;
//        //    foreach(Employee oEmp in _Employees)
//        //    {
//        //        GrandTotal=0.0;
//        //        oDRow = dTreport108.NewRow();
//        //        if(nTaxParamID==Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
//        //        {
//        //            oIncomeTaxs = IncomeTax.Get(oIncomeTax.GetEnumForSalaryIT(oEmp.ID), oEmp.ID, nTaxParamID);
//        //        }
//        //        else
//        //        {
//        //            oIncomeTaxs = IncomeTax.Get(EnumIncomeTaxDataFrom.ProcessedData, oEmp.ID, nTaxParamID);
//        //        }
//        //        nTempAmount = 0;
//        //        nAmount = 0;
//        //        GrandTotal = 0;
//        //        if(oIncomeTax!=null)
//        //        {
//        //            nIndex = oIncomeTaxs.GetIndex(oEmp.ID);
//        //            oDRow["TIN"] = oEmp.TinNo;
//        //            oDRow["SLNo"] = nCount;//col 1
//        //            oDRow["EmpNo"] = oEmp.EmployeeNo;
//        //            oDRow["Name"] = oEmp.Name;//col 2
//        //            oDRow["PostalAdd"] = "";//Postal Address ,col 3
//        //            oDRow["NEmployee"] = oEmp.Designation.Name;//Nature of Employee ,col 4

//        //            nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary).TotalAmount : 0.0);//Total Amount of Salary Basic+Bonus, col 5 
//        //            GrandTotal = GrandTotal + nAmount;
//        //            oDRow["Basic"] = GlobalFunctions.TakaFormat(nAmount);

//        //            nAmount = GlobalFunctions.Round(IncomeTax.GetAmount(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Bonus));
//        //            GrandTotal = GrandTotal + nAmount;
//        //            oDRow["Bonus"] = GlobalFunctions.TakaFormat(nAmount);
//        //            oDRow["Total"] = GlobalFunctions.TakaFormat(GrandTotal);

//        //            nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance).TotalAmount : 0.0);//Periodical Cash Allowance, col 6
//        //            nTempAmount = nTempAmount + nAmount;
//        //            oDRow["HREarned"] = GlobalFunctions.TakaFormat(nAmount);

//        //            nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance).TotalAmount : 0.0);
//        //            oDRow["HRExempted"] = GlobalFunctions.TakaFormat(nAmount);
//        //            nTempAmount = nTempAmount - nAmount;
//        //            oDRow["HRTaxable"] = GlobalFunctions.TakaFormat(nTempAmount);
//        //            GrandTotal = GrandTotal + nTempAmount;

//        //            nTempAmount = 0;
//        //            nAmount = 0;
//        //            IncomeTax oITax = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Conveyance_Allowance);
//        //            if (oITax != null)
//        //            {
//        //                nAmount = oITax.TotalAmount;
//        //                oDRow["CEarned"] = GlobalFunctions.TakaFormat(oITax.TotalAmount);
//        //            }
//        //            else
//        //                oDRow["CEarned"] = 0.0;
//        //            nTempAmount  = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance).TotalAmount : 0.0);
//        //            oDRow["CExempted"] = GlobalFunctions.TakaFormat(nTempAmount);

//        //            oDRow["CTaxable"] = GlobalFunctions.TakaFormat(nAmount  - nTempAmount);
//        //            GrandTotal = GrandTotal + nAmount - nTempAmount;

//        //            nTempAmount = 0;
//        //            nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance).TotalAmount : 0);
//        //            oDRow["MEarned"] = GlobalFunctions.TakaFormat(nAmount);

//        //            nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance).TotalAmount : 0.0);
//        //            oDRow["MExempted"] = GlobalFunctions.TakaFormat(nTempAmount);
//        //            oDRow["MTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
//        //            GrandTotal = GrandTotal + nAmount - nTempAmount;

//        //            oDRow["Entertainment"] = 0;
//        //            nAmount = 0;
//        //            foreach (IncomeTax titem in oIncomeTaxs)
//        //            {
//        //                if (titem.Side == EnumIncomeTaxSide.Inc_SalaryIncome)
//        //                {
//        //                    if (titem.ItemGroup != EnumIncomeTaxItemGroup.Basic_Salary
//        //                       && titem.ItemGroup != EnumIncomeTaxItemGroup.Bonus
//        //                       && titem.ItemGroup != EnumIncomeTaxItemGroup.House_Rent_Allowance
//        //                       && titem.ItemGroup != EnumIncomeTaxItemGroup.Conveyance_Allowance
//        //                       && titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_car
//        //                       && titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_House)
//        //                    {
//        //                        nAmount = nAmount + titem.TotalAmount;
//        //                    }
//        //                }
//        //            }
//        //            oDRow["Others"] = GlobalFunctions.TakaFormat(nAmount);
//        //            GrandTotal = GrandTotal + nAmount;

//        //            oDRow["FDate"] = (oEmp.JoiningDate > otaxparam.FiscalyearDatefrom) ? oEmp.JoiningDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDatefrom.ToString("dd MMM yyyy");
//        //            oDRow["TDate"] = (oEmp.Status != EnumEmployeeStatus.Live) ? oEmp.DiscontinueDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDateTo.ToString("dd MMM yyyy");
//        //            oDRow["SANDOtherSum"] = 0;//Salary and all other Sum ,col 8

//        //            nAmount =IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Other_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Cmp_Provided_House).TotalAmount : 0.0;
//        //            GrandTotal = GrandTotal + nAmount;
//        //            oDRow["BasicPercent"] = GlobalFunctions.TakaFormat(nAmount);

//        //            oDRow["EnterAllowance"] = 0;//Amount of Entertaitment Allowance ,col 10
//        //            oDRow["VechilesPercent"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car).TotalAmount : 0.0);
//        //            oDRow["SPByEmployeer"] = 0;//Salary Paid by employeer ,col 12
//        //            oDRow["VOfFree"] = 0;//Value of Rent Free Accomodation or Value of any Concession in Rent for the Accomodation provided by the Employer,col 13

//        //            nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF).TotalAmount : 0;
//        //            oDRow["EContribution"] = GlobalFunctions.TakaFormat(nAmount);
//        //            GrandTotal = GrandTotal + nAmount;

//        //            oDRow["InterestCredit"] = 0; //Math.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Interest Credit to the assessee's accout in a recognised provident fund,col 15
//        //            oDRow["VofAnyBenefit"] = 0;//Value of any benefit ,col 15
//        //            //GrandTotal = GrandTotal +
//        //            //    Convert.ToDouble(oDRow["SANDOtherSum"]) + 
//        //            //    Convert.ToDouble(oDRow["BasicPercent"]) + 
//        //            //    Convert.ToDouble(oDRow["EnterAllowance"]) + 
//        //            //    Convert.ToDouble(oDRow["VechilesPercent"]) + 
//        //            //    Convert.ToDouble(oDRow["SPByEmployeer"]) + 
//        //            //    Convert.ToDouble(oDRow["VOfFree"]) + 
//        //            //    Convert.ToDouble(oDRow["EContribution"]) 
//        //            //    + Convert.ToDouble(oDRow["InterestCredit"]) 
//        //            //    + Convert.ToDouble(oDRow["VofAnyBenefit"]);

//        //            oDRow["TotalCol"] = GlobalFunctions.TakaFormat(GrandTotal);//Total Col 5,6,8 to 16 ,col 16
//        //            oDRow["AmountLiable"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17
//        //            oDRow["ConToTheProvident"] = 0;//Contribution to the provident ,col 18
//        //            oDRow["TaxIncome"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_Refund, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_Refund, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Taxable Income ,col 19
//        //            //double ndjustedAmount = 0.0;
//        //            //double totalAmountNow = 0.0;
//        //            //if (nTaxParamID != Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
//        //            //{
//        //            //     foreach (IncomeTax oItem in oIncomeTaxs)
//        //            //     {
//        //            //         if (oItem.Side == EnumIncomeTaxSide.Inc_GrossTax  || oItem.Side == EnumIncomeTaxSide.Dec_GrossTax)
//        //            //         {
//        //            //            if (oItem.ItemGroup != EnumIncomeTaxItemGroup.Tax_Credit_On_Investment)
//        //            //            {
//        //            //                if (oItem.Side == EnumIncomeTaxSide.Inc_GrossTax)
//        //            //                    ndjustedAmount = ndjustedAmount + oItem.TotalAmount;
//        //            //                else
//        //            //                    ndjustedAmount = ndjustedAmount - oItem.TotalAmount;
//        //            //            }
//        //            //         }
//        //            //     }
//        //            //     IncomeTax oNetTaxPayable = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable, (int)EnumIncomeTaxItemGroup.Net_Payable);

//        //            //     if (oNetTaxPayable != null)
//        //            //     {
//        //            //         oNetTaxPayable.TotalAmount = oNetTaxPayable.TotalAmount - ndjustedAmount;
//        //            //         totalAmountNow = oNetTaxPayable.TotalAmount;
//        //            //         oDRow["TaxPayable"] = GlobalFunctions.TakaFormat(oNetTaxPayable.TotalAmount);
//        //            //     }
//        //            //}
//        //            //else
//        //            //{
//        //                oDRow["TaxPayable"] =
//        //                    GlobalFunctions.TakaFormat(
//        //                        IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
//        //                                      (int) EnumIncomeTaxItemGroup.Net_Payable) != null
//        //                            ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
//        //                                            (int) EnumIncomeTaxItemGroup.Net_Payable).TotalAmount
//        //                            : 0); //Tax Payable ,col 20
//        //           // }
//        //            oDRow["ThisMonthAmount"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted).ThisMonthAmount : 0);
//        //            //if (nTaxParamID != Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
//        //            //{
//        //            //    oDRow["TaxActualDeduct"] = GlobalFunctions.TakaFormat(totalAmountNow);
//        //            //}
//        //            //else
//        //            //{
//        //                oDRow["TaxActualDeduct"] =
//        //                    GlobalFunctions.TakaFormat(
//        //                        IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
//        //                                      (int) EnumIncomeTaxItemGroup.Tax_Deducted) != null
//        //                            ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
//        //                                            (int) EnumIncomeTaxItemGroup.Tax_Deducted).TotalAmount
//        //                            : 0); //Tax actually deduct ,col 21
//        //           // }

//        //            oDRow["Remarks"] = "";//Remarks ,col 22
//        //            dTreport108.Rows.Add(oDRow);
//        //            nCount++;

//        //        }
//        //    }
//        //    form.ShowDlgForReport108(_selectedParameter.ReportItem, dTreport108);
//        //}

//        public void GetDataReport108()
//        {
//            fReportViewer form = new fReportViewer();

//            ID nTaxParamID = _selectedParameter.TaxParameters[0].ID;
//            string sEmpNo = _selectedParameter.ReportItem.INSQL;
//            TaxParameter otaxparam = TaxParameter.Get(nTaxParamID);
//            DataRow oDRow = null;
//            PayrollDataSet.PayrollDataSet.Report108DataTable dTreport108 = new Payroll.Report.PayrollDataSet.PayrollDataSet.Report108DataTable();
//            int nIndex;
//            int nCount = 1;
//            double GrandTotal;
//            List<IncomeTax> oIncomeTaxs = null;
//            IncomeTax oIncomeTax = new IncomeTax();
//            //_Employees = Employee.GetWithDiscontinue();
//            _Employees = Employee.GetEmpsWithDiscontinue(sEmpNo);
//            double nAmount = 0;
//            double nTempAmount = 0;
//            List<Designation> designations = Designation.Get(EnumStatus.Regardless);
//            Designation desig = null;
//            foreach (Employee oEmp in _Employees)
//            {
//                GrandTotal = 0.0;
//                oDRow = dTreport108.NewRow();
//                if (nTaxParamID == Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
//                {
//                    oIncomeTaxs = IncomeTax.Get(oIncomeTax.GetEnumForSalaryIT(oEmp.ID), oEmp.ID, nTaxParamID);
//                }
//                else
//                {
//                    oIncomeTaxs = IncomeTax.Get(EnumIncomeTaxDataFrom.ProcessedData, oEmp.ID, nTaxParamID);
//                }
//                if (oIncomeTaxs == null) continue;

//                nTempAmount = 0;
//                nAmount = 0;
//                GrandTotal = 0;
//                if (oIncomeTax != null)
//                {
//                    desig = designations.FirstOrDefault(x => x.ID == oEmp.DesignationID);
//                    nIndex = oIncomeTaxs.GetIndex(oEmp.ID);
//                    oDRow["TIN"] = oEmp.TinNo;
//                    oDRow["SLNo"] = nCount;//col 1
//                    oDRow["EmpNo"] = oEmp.EmployeeNo;
//                    oDRow["Name"] = oEmp.Name;//col 2
//                    oDRow["PostalAdd"] = "";//Postal Address ,col 3
//                    oDRow["NEmployee"] = desig!=null?desig.Name:"";//Designation of Employee ,col 4

//                    nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary).TotalAmount : 0.0);//Total Amount of Salary Basic+Bonus, col 5 
//                    GrandTotal = GrandTotal + nAmount;
//                    oDRow["Basic"] = GlobalFunctions.TakaFormat(nAmount);

//                    nAmount = GlobalFunctions.Round(IncomeTax.GetAmount(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Bonus));
//                    GrandTotal = GrandTotal + nAmount;
//                    oDRow["Bonus"] = GlobalFunctions.TakaFormat(nAmount);
//                    oDRow["Total"] = GlobalFunctions.TakaFormat(GrandTotal);

//                    nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance).TotalAmount : 0.0);//Periodical Cash Allowance, col 6
//                    nTempAmount = nTempAmount + nAmount;
//                    oDRow["HREarned"] = GlobalFunctions.TakaFormat(nAmount);

//                    nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance).TotalAmount : 0.0);
//                    oDRow["HRExempted"] = GlobalFunctions.TakaFormat(nAmount);
//                    nTempAmount = nTempAmount - nAmount;
//                    oDRow["HRTaxable"] = GlobalFunctions.TakaFormat(nTempAmount);
//                    GrandTotal = GrandTotal + nTempAmount;

//                    nTempAmount = 0;
//                    nAmount = 0;
//                    IncomeTax oITax = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Conveyance_Allowance);
//                    if (oITax != null)
//                    {
//                        nAmount = oITax.TotalAmount;
//                        oDRow["CEarned"] = GlobalFunctions.TakaFormat(oITax.TotalAmount);
//                    }
//                    else
//                        oDRow["CEarned"] = 0.0;
//                    nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance).TotalAmount : 0.0);
//                    oDRow["CExempted"] = GlobalFunctions.TakaFormat(nTempAmount);

//                    oDRow["CTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
//                    GrandTotal = GrandTotal + nAmount - nTempAmount;

//                    nTempAmount = 0;
//                    nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance).TotalAmount : 0);
//                    oDRow["MEarned"] = GlobalFunctions.TakaFormat(nAmount);

//                    nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance).TotalAmount : 0.0);
//                    oDRow["MExempted"] = GlobalFunctions.TakaFormat(nTempAmount);
//                    oDRow["MTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
//                    GrandTotal = GrandTotal + nAmount - nTempAmount;

//                    oDRow["Entertainment"] = 0;
//                    nAmount = 0;
//                    foreach (IncomeTax titem in oIncomeTaxs)
//                    {
//                        if (titem.Side == EnumIncomeTaxSide.Inc_SalaryIncome)
//                        {
//                            if (titem.ItemGroup != EnumIncomeTaxItemGroup.Basic_Salary
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Bonus
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.House_Rent_Allowance
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Conveyance_Allowance
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_car
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_House
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Medical_Allowance
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.LFA_Allowance
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.WPPF_Allowance
//                                )
//                            {
//                                nAmount = nAmount + titem.TotalAmount;
//                            }
//                        }
//                    }

//                    oDRow["Others"] = GlobalFunctions.TakaFormat(nAmount);
//                    GrandTotal = GrandTotal + nAmount;

//                    double wppf = 0;
//                    double wppfExamp = 0;
//                    if (oIncomeTaxs.Any(item => item.ItemGroup == EnumIncomeTaxItemGroup.WPPF_Examption && item.TotalAmount > 0))
//                         wppfExamp = oIncomeTaxs.Where(i => i.ItemGroup == EnumIncomeTaxItemGroup.WPPF_Examption).Select(i => i.TotalAmount).FirstOrDefault();
//                        oDRow["WPPFExemption"] = GlobalFunctions.TakaFormat(wppfExamp);

//                        if (oIncomeTaxs.Any(item => item.ItemGroup == EnumIncomeTaxItemGroup.WPPF_Allowance && item.TotalAmount > 0))
//                            wppf =  oIncomeTaxs.Where(i => i.ItemGroup == EnumIncomeTaxItemGroup.WPPF_Allowance).Select(i => i.TotalAmount).FirstOrDefault();
//                        oDRow["WPPF"] = GlobalFunctions.TakaFormat(wppf);
//                        oDRow["WPPFTaxable"] = GlobalFunctions.TakaFormat(wppf - wppfExamp);

//                        GrandTotal = GrandTotal + (wppf - wppfExamp);

//                    oDRow["FDate"] = (oEmp.JoiningDate > otaxparam.FiscalyearDatefrom) ? oEmp.JoiningDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDatefrom.ToString("dd MMM yyyy");
//                    oDRow["TDate"] = (oEmp.Status != EnumEmployeeStatus.Live) ? oEmp.DiscontinueDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDateTo.ToString("dd MMM yyyy");
//                    oDRow["SANDOtherSum"] = 0;//Salary and all other Sum ,col 8

//                    nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Cmp_Provided_House) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Cmp_Provided_House).TotalAmount : 0.0;
//                    GrandTotal = GrandTotal + nAmount;
//                    oDRow["BasicPercent"] = GlobalFunctions.TakaFormat(nAmount);

//                    oDRow["EnterAllowance"] = 0;//Amount of Entertaitment Allowance ,col 10
//                    nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car).TotalAmount : 0.0;
//                    GrandTotal = GrandTotal + nAmount;
//                    oDRow["VechilesPercent"] = GlobalFunctions.TakaFormat(nAmount);
//                    oDRow["SPByEmployeer"] = 0;//Salary Paid by employeer ,col 12
//                    oDRow["VOfFree"] = 0;//Value of Rent Free Accomodation or Value of any Concession in Rent for the Accomodation provided by the Employer,col 13

//                    nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF).TotalAmount : 0;
//                    oDRow["EContribution"] = GlobalFunctions.TakaFormat(nAmount);
//                    GrandTotal = GrandTotal + nAmount;

//                    oDRow["InterestCredit"] = 0; //Math.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Interest Credit to the assessee's accout in a recognised provident fund,col 15
//                    oDRow["VofAnyBenefit"] = 0;//Value of any benefit ,col 15
//                    //GrandTotal = GrandTotal +
//                    //    Convert.ToDouble(oDRow["SANDOtherSum"]) + 
//                    //    Convert.ToDouble(oDRow["BasicPercent"]) + 
//                    //    Convert.ToDouble(oDRow["EnterAllowance"]) + 
//                    //    Convert.ToDouble(oDRow["VechilesPercent"]) + 
//                    //    Convert.ToDouble(oDRow["SPByEmployeer"]) + 
//                    //    Convert.ToDouble(oDRow["VOfFree"]) + 
//                    //    Convert.ToDouble(oDRow["EContribution"]) 
//                    //    + Convert.ToDouble(oDRow["InterestCredit"]) 
//                    //    + Convert.ToDouble(oDRow["VofAnyBenefit"]);

//                    oDRow["TotalCol"] = GlobalFunctions.TakaFormat(GrandTotal);//Total Col 5,6,8 to 16 ,col 16
//                    oDRow["AmountLiable"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17
//                    //GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17
//                    oDRow["ConToTheProvident"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17;//Contribution to the provident ,col 18
//                    oDRow["InvestmentAllowed"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Investment_Allowed, (int)EnumIncomeTaxItemGroup.Investment_Allowed) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Investment_Allowed, (int)EnumIncomeTaxItemGroup.Investment_Allowed).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17;//Contribution to the provident ,col 18
//                    oDRow["LFA"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.LFA_Allowance, (int)EnumIncomeTaxItemGroup.LFA_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.LFA_Allowance, (int)EnumIncomeTaxItemGroup.LFA_Allowance).TotalAmount : 0);
//                    oDRow["LFAExamption"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_LFA_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_LFA_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_LFA_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_LFA_Allowance).TotalAmount : 0);
//                    oDRow["AIT"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_OtherRebate, 1) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_OtherRebate, 1).TotalAmount : 0);

//                    oDRow["TaxIncome"] = GlobalFunctions.TakaFormat(GrandTotal); //GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_Refund, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_Refund, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Taxable Income ,col 19
//                    //double ndjustedAmount = 0.0;
//                    //double totalAmountNow = 0.0;
//                    //if (nTaxParamID != Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
//                    //{
//                    //     foreach (IncomeTax oItem in oIncomeTaxs)
//                    //     {
//                    //         if (oItem.Side == EnumIncomeTaxSide.Inc_GrossTax  || oItem.Side == EnumIncomeTaxSide.Dec_GrossTax)
//                    //         {
//                    //            if (oItem.ItemGroup != EnumIncomeTaxItemGroup.Tax_Credit_On_Investment)
//                    //            {
//                    //                if (oItem.Side == EnumIncomeTaxSide.Inc_GrossTax)
//                    //                    ndjustedAmount = ndjustedAmount + oItem.TotalAmount;
//                    //                else
//                    //                    ndjustedAmount = ndjustedAmount - oItem.TotalAmount;
//                    //            }
//                    //         }
//                    //     }
//                    //     IncomeTax oNetTaxPayable = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable, (int)EnumIncomeTaxItemGroup.Net_Payable);

//                    //     if (oNetTaxPayable != null)
//                    //     {
//                    //         oNetTaxPayable.TotalAmount = oNetTaxPayable.TotalAmount - ndjustedAmount;
//                    //         totalAmountNow = oNetTaxPayable.TotalAmount;
//                    //         oDRow["TaxPayable"] = GlobalFunctions.TakaFormat(oNetTaxPayable.TotalAmount);
//                    //     }
//                    //}
//                    //else
//                    //{
//                    oDRow["TaxPayable"] =
//                        GlobalFunctions.TakaFormat(
//                            IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
//                                          (int)EnumIncomeTaxItemGroup.Net_Payable) != null
//                                ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
//                                                (int)EnumIncomeTaxItemGroup.Net_Payable).TotalAmount
//                                : 0); //Tax Payable ,col 20
//                    // }
//                    oDRow["ThisMonthAmount"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted).ThisMonthAmount : 0);
//                    //if (nTaxParamID != Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
//                    //{
//                    //    oDRow["TaxActualDeduct"] = GlobalFunctions.TakaFormat(totalAmountNow);
//                    //}
//                    //else
//                    //{
//                    oDRow["TaxActualDeduct"] =
//                        GlobalFunctions.TakaFormat(
//                            IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
//                                          (int)EnumIncomeTaxItemGroup.Tax_Deducted) != null
//                                ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
//                                                (int)EnumIncomeTaxItemGroup.Tax_Deducted).TotalAmount
//                                : 0); //Tax actually deduct ,col 21
//                    // }

//                    oDRow["Remarks"] = "";//Remarks ,col 22
//                    dTreport108.Rows.Add(oDRow);
//                    nCount++;

//                }
//            }
//            form.ShowDlgForReport108(_selectedParameter.ReportItem, dTreport108, otaxparam.AssessmentYear);
//        }

//        public void GetDataReport108WPD()
//        {
//            fReportViewer form = new fReportViewer();

//            ID nTaxParamID = _selectedParameter.TaxParameters[0].ID;
//            string sEmpNo = _selectedParameter.ReportItem.INSQL;
//            TaxParameter otaxparam = TaxParameter.Get(nTaxParamID);
//            DataRow oDRow = null;
//            PayrollDataSet.PayrollDataSet.Report108DataTable dTreport108 = new Payroll.Report.PayrollDataSet.PayrollDataSet.Report108DataTable();
//            int nIndex;
//            int nCount = 1;
//            double GrandTotal;
//            List<IncomeTax> oIncomeTaxs = null;
//            IncomeTax oIncomeTax = new IncomeTax();
//            //IncomeTax oIT =null;
//            _Employees = Employee.GetByEmpIDs(sEmpNo);
//            double nAmount = 0;
//            double nTempAmount = 0;
//            foreach (Employee oEmp in _Employees)
//            {
//                GrandTotal = 0.0;
//                oDRow = dTreport108.NewRow();
//                if (nTaxParamID == Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
//                {
//                    oIncomeTaxs = IncomeTax.Get(oIncomeTax.GetEnumForSalaryIT(oEmp.ID), oEmp.ID, nTaxParamID);
//                }
//                else
//                {
//                    oIncomeTaxs = IncomeTax.Get(EnumIncomeTaxDataFrom.ProcessedData, oEmp.ID, nTaxParamID);
//                }
//                nTempAmount = 0;
//                nAmount = 0;
//                GrandTotal = 0;
//                if (oIncomeTaxs != null)
//                {
//                    nIndex = oIncomeTaxs.GetIndex(oEmp.ID);
//                    oDRow["TIN"] = oEmp.TinNo;
//                    oDRow["SLNo"] = nCount;//col 1
//                    oDRow["EmpNo"] = oEmp.EmployeeNo;
//                    oDRow["Name"] = oEmp.Name;//col 2
//                    oDRow["PostalAdd"] = "";//Postal Address ,col 3
//                    oDRow["NEmployee"] = oEmp.DescriptionText;//Nature of Employee ,col 4

//                    IncomeTax oITBasic = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary);

//                    nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary) != null ? (oITBasic.TotalAmount - oITBasic.ProjectedAmount) : 0.0);//Total Amount of Salary Basic+Bonus, col 5 
//                    GrandTotal = GrandTotal + nAmount;
//                    oDRow["Basic"] = GlobalFunctions.TakaFormat(nAmount);

//                    nAmount = GlobalFunctions.Round(IncomeTax.GetAmount(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Bonus));
//                    GrandTotal = GrandTotal + nAmount;
//                    oDRow["Bonus"] = GlobalFunctions.TakaFormat(nAmount);
//                    oDRow["Total"] = GlobalFunctions.TakaFormat(GrandTotal);

//                    IncomeTax oITHR = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance);
//                    nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance) != null ? (oITHR.TotalAmount - oITHR.ProjectedAmount) : 0.0);//Periodical Cash Allowance, col 6
//                    nTempAmount = nTempAmount + nAmount;
//                    oDRow["HREarned"] = GlobalFunctions.TakaFormat(nAmount);

//                    nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance).TotalAmount : 0.0);
//                    oDRow["HRExempted"] = GlobalFunctions.TakaFormat(nAmount);
//                    nTempAmount = nTempAmount - nAmount;
//                    oDRow["HRTaxable"] = GlobalFunctions.TakaFormat(nTempAmount);
//                    GrandTotal = GrandTotal + nTempAmount;

//                    nTempAmount = 0;
//                    nAmount = 0;
//                    IncomeTax oITax = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Conveyance_Allowance);
//                    if (oITax != null)
//                    {
//                        nAmount = oITax.TotalAmount;
//                        oDRow["CEarned"] = GlobalFunctions.TakaFormat(oITax.TotalAmount - oITax.ProjectedAmount);
//                    }
//                    else
//                        oDRow["CEarned"] = 0.0;

//                    nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance).TotalAmount : 0.0);
//                    oDRow["CExempted"] = GlobalFunctions.TakaFormat(nTempAmount);

//                    oDRow["CTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
//                    GrandTotal = GrandTotal + nAmount - nTempAmount;

//                    nTempAmount = 0;
//                    IncomeTax oITMEarned = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance);
//                    nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance) != null ? (oITMEarned.TotalAmount - oITMEarned.ProjectedAmount) : 0);
//                    oDRow["MEarned"] = GlobalFunctions.TakaFormat(nAmount);

//                    nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance).TotalAmount : 0.0);
//                    oDRow["MExempted"] = GlobalFunctions.TakaFormat(nTempAmount);
//                    oDRow["MTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
//                    GrandTotal = GrandTotal + nAmount - nTempAmount;

//                    oDRow["Entertainment"] = 0;
//                    nAmount = 0;
//                    foreach (IncomeTax titem in oIncomeTaxs)
//                    {
//                        if (titem.Side == EnumIncomeTaxSide.Inc_SalaryIncome)
//                        {
//                            if (titem.ItemGroup != EnumIncomeTaxItemGroup.Basic_Salary
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Bonus
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.House_Rent_Allowance
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Conveyance_Allowance
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_car
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_House)
//                            {
//                                nAmount = nAmount + titem.TotalAmount;
//                            }
//                        }
//                    }
//                    oDRow["Others"] = GlobalFunctions.TakaFormat(nAmount);
//                    GrandTotal = GrandTotal + nAmount;

//                    oDRow["FDate"] = (oEmp.JoiningDate > otaxparam.FiscalyearDatefrom) ? oEmp.JoiningDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDatefrom.ToString("dd MMM yyyy");
//                    oDRow["TDate"] = (oEmp.Status != EnumEmployeeStatus.Live) ? oEmp.DiscontinueDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDateTo.ToString("dd MMM yyyy");
//                    oDRow["SANDOtherSum"] = 0;//Salary and all other Sum ,col 8

//                    nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Other_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Cmp_Provided_House).TotalAmount : 0.0;
//                    GrandTotal = GrandTotal + nAmount;
//                    oDRow["BasicPercent"] = GlobalFunctions.TakaFormat(nAmount);

//                    oDRow["EnterAllowance"] = 0;//Amount of Entertaitment Allowance ,col 10
//                    oDRow["VechilesPercent"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car).TotalAmount : 0.0);
//                    oDRow["SPByEmployeer"] = 0;//Salary Paid by employeer ,col 12
//                    oDRow["VOfFree"] = 0;//Value of Rent Free Accomodation or Value of any Concession in Rent for the Accomodation provided by the Employer,col 13

//                    nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF).TotalAmount : 0;
//                    oDRow["EContribution"] = GlobalFunctions.TakaFormat(nAmount);
//                    GrandTotal = GrandTotal + nAmount;

//                    oDRow["InterestCredit"] = 0; //Math.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Interest Credit to the assessee's accout in a recognised provident fund,col 15
//                    oDRow["VofAnyBenefit"] = 0;//Value of any benefit ,col 15
//                    //GrandTotal = GrandTotal +
//                    //    Convert.ToDouble(oDRow["SANDOtherSum"]) + 
//                    //    Convert.ToDouble(oDRow["BasicPercent"]) + 
//                    //    Convert.ToDouble(oDRow["EnterAllowance"]) + 
//                    //    Convert.ToDouble(oDRow["VechilesPercent"]) + 
//                    //    Convert.ToDouble(oDRow["SPByEmployeer"]) + 
//                    //    Convert.ToDouble(oDRow["VOfFree"]) + 
//                    //    Convert.ToDouble(oDRow["EContribution"]) 
//                    //    + Convert.ToDouble(oDRow["InterestCredit"]) 
//                    //    + Convert.ToDouble(oDRow["VofAnyBenefit"]);

//                    oDRow["TotalCol"] = GlobalFunctions.TakaFormat(GrandTotal);//Total Col 5,6,8 to 16 ,col 16
//                    oDRow["AmountLiable"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17
//                    oDRow["ConToTheProvident"] = 0;//Contribution to the provident ,col 18
//                    oDRow["TaxIncome"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_Refund, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Gross_Refund, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Taxable Income ,col 19
//                    //double ndjustedAmount = 0.0;
//                    //double totalAmountNow = 0.0;
//                    //if (nTaxParamID != Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
//                    //{
//                    //     foreach (IncomeTax oItem in oIncomeTaxs)
//                    //     {
//                    //         if (oItem.Side == EnumIncomeTaxSide.Inc_GrossTax  || oItem.Side == EnumIncomeTaxSide.Dec_GrossTax)
//                    //         {
//                    //            if (oItem.ItemGroup != EnumIncomeTaxItemGroup.Tax_Credit_On_Investment)
//                    //            {
//                    //                if (oItem.Side == EnumIncomeTaxSide.Inc_GrossTax)
//                    //                    ndjustedAmount = ndjustedAmount + oItem.TotalAmount;
//                    //                else
//                    //                    ndjustedAmount = ndjustedAmount - oItem.TotalAmount;
//                    //            }
//                    //         }
//                    //     }
//                    //     IncomeTax oNetTaxPayable = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable, (int)EnumIncomeTaxItemGroup.Net_Payable);

//                    //     if (oNetTaxPayable != null)
//                    //     {
//                    //         oNetTaxPayable.TotalAmount = oNetTaxPayable.TotalAmount - ndjustedAmount;
//                    //         totalAmountNow = oNetTaxPayable.TotalAmount;
//                    //         oDRow["TaxPayable"] = GlobalFunctions.TakaFormat(oNetTaxPayable.TotalAmount);
//                    //     }
//                    //}
//                    //else
//                    //{
//                    oDRow["TaxPayable"] =
//                        GlobalFunctions.TakaFormat(
//                            IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
//                                          (int)EnumIncomeTaxItemGroup.Net_Payable) != null
//                                ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
//                                                (int)EnumIncomeTaxItemGroup.Net_Payable).TotalAmount
//                                : 0); //Tax Payable ,col 20
//                    // }
//                    oDRow["ThisMonthAmount"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted).ThisMonthAmount : 0);
//                    //if (nTaxParamID != Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
//                    //{
//                    //    oDRow["TaxActualDeduct"] = GlobalFunctions.TakaFormat(totalAmountNow);
//                    //}
//                    //else
//                    //{
//                    oDRow["TaxActualDeduct"] =
//                        GlobalFunctions.TakaFormat(
//                            IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
//                                          (int)EnumIncomeTaxItemGroup.Tax_Deducted) != null
//                                ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
//                                                (int)EnumIncomeTaxItemGroup.Tax_Deducted).TotalAmount
//                                : 0); //Tax actually deduct ,col 21
//                    // }

//                    oDRow["Remarks"] = "";//Remarks ,col 22
//                    dTreport108.Rows.Add(oDRow);
//                    nCount++;

//                }
//            }
//            form.ShowDlgForReport108(_selectedParameter.ReportItem, dTreport108, otaxparam.AssessmentYear);
//        }

//        public void GetDataReport108OnPaidAmount()
//        {
//            fReportViewer form = new fReportViewer();

//            ID nTaxParamID = _selectedParameter.TaxParameters[0].ID;
//            string sEmpNo = _selectedParameter.ReportItem.INSQL;
//            TaxParameter otaxparam = TaxParameter.Get(nTaxParamID);
//            DataRow oDRow = null;
//            PayrollDataSet.PayrollDataSet.Report108DataTable dTreport108 = new Payroll.Report.PayrollDataSet.PayrollDataSet.Report108DataTable();
//            int nIndex;
//            int nCount = 1;
//            double GrandTotal;
//            List<IncomeTax> oIncomeTaxs = null;
//            IncomeTax oIncomeTax = new IncomeTax();

//            _Employees = Employee.GetEmpsWithDiscontinue(sEmpNo);
//            double nAmount = 0;
//            double nTempAmount = 0;

//            foreach (Employee oEmp in _Employees)
//            {
//                GrandTotal = 0.0;
//                oDRow = dTreport108.NewRow();
//                if (nTaxParamID == Payroll.BO.SystemInformation.CurrentSysInfo.TaxParamID)
//                {
//                    oIncomeTaxs = IncomeTax.Get(oIncomeTax.GetEnumForSalaryIT(oEmp.ID), oEmp.ID, nTaxParamID);
//                }
//                else
//                {
//                    oIncomeTaxs = IncomeTax.Get(EnumIncomeTaxDataFrom.ProcessedData, oEmp.ID, nTaxParamID);
//                }
//                if (oIncomeTaxs == null) continue;

//                nTempAmount = 0;
//                nAmount = 0;
//                GrandTotal = 0;
//                if (oIncomeTax != null)
//                {
//                    nIndex = oIncomeTaxs.GetIndex(oEmp.ID);
//                    oDRow["TIN"] = oEmp.TinNo;
//                    oDRow["SLNo"] = nCount;
//                    oDRow["EmpNo"] = oEmp.EmployeeNo;
//                    oDRow["Name"] = oEmp.Name;
//                    oDRow["PostalAdd"] = "";
//                    oDRow["NEmployee"] = oEmp.DescriptionText;

//                    nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary) != null ? (IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary).PreviousAmount + IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Basic_Salary, (int)EnumIncomeTaxItemGroup.Basic_Salary).ThisMonthAmount) : 0.0);//Total Amount of Salary Basic+Bonus, col 5 
//                    GrandTotal = GrandTotal + nAmount;
//                    oDRow["Basic"] = GlobalFunctions.TakaFormat(nAmount);

//                    nAmount = GlobalFunctions.Round(IncomeTax.GetAmount(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Bonus));
//                    GrandTotal = GrandTotal + nAmount;
//                    oDRow["Bonus"] = GlobalFunctions.TakaFormat(nAmount);
//                    oDRow["Total"] = GlobalFunctions.TakaFormat(GrandTotal);

//                    nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.House_Rent_Allowance).TotalAmount : 0.0);//Periodical Cash Allowance, col 6
//                    nTempAmount = nTempAmount + nAmount;
//                    oDRow["HREarned"] = GlobalFunctions.TakaFormat(nAmount);

//                    nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_House_Rent_Allowance).TotalAmount : 0.0);
//                    oDRow["HRExempted"] = GlobalFunctions.TakaFormat(nAmount);
//                    nTempAmount = nTempAmount - nAmount;
//                    oDRow["HRTaxable"] = GlobalFunctions.TakaFormat(nTempAmount);
//                    GrandTotal = GrandTotal + nTempAmount;

//                    nTempAmount = 0;
//                    nAmount = 0;
//                    IncomeTax oITax = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Conveyance_Allowance);
//                    if (oITax != null)
//                    {
//                        nAmount = oITax.TotalAmount;
//                        oDRow["CEarned"] = GlobalFunctions.TakaFormat(oITax.TotalAmount);
//                    }
//                    else
//                        oDRow["CEarned"] = 0.0;
//                    nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Conveyance_Allowance).TotalAmount : 0.0);
//                    oDRow["CExempted"] = GlobalFunctions.TakaFormat(nTempAmount);

//                    oDRow["CTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
//                    GrandTotal = GrandTotal + nAmount - nTempAmount;

//                    nTempAmount = 0;
//                    nAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Medical_Allowance, (int)EnumIncomeTaxItemGroup.Medical_Allowance).TotalAmount : 0);
//                    oDRow["MEarned"] = GlobalFunctions.TakaFormat(nAmount);

//                    nTempAmount = GlobalFunctions.Round(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Exemption_Medical_Allowance, (int)EnumIncomeTaxItemGroup.Exemption_Medical_Allowance).TotalAmount : 0.0);
//                    oDRow["MExempted"] = GlobalFunctions.TakaFormat(nTempAmount);
//                    oDRow["MTaxable"] = GlobalFunctions.TakaFormat(nAmount - nTempAmount);
//                    GrandTotal = GrandTotal + nAmount - nTempAmount;

//                    oDRow["Entertainment"] = 0;
//                    nAmount = 0;
//                    foreach (IncomeTax titem in oIncomeTaxs)
//                    {
//                        if (titem.Side == EnumIncomeTaxSide.Inc_SalaryIncome)
//                        {
//                            if (titem.ItemGroup != EnumIncomeTaxItemGroup.Basic_Salary
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Bonus
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.House_Rent_Allowance
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Conveyance_Allowance
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_car
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Cmp_Provided_House
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.Medical_Allowance
//                               && titem.ItemGroup != EnumIncomeTaxItemGroup.LFA_Allowance)
//                            {
//                                nAmount = nAmount + titem.TotalAmount;
//                            }
//                        }
//                    }
//                    oDRow["Others"] = GlobalFunctions.TakaFormat(nAmount);
//                    GrandTotal = GrandTotal + nAmount;

//                    oDRow["FDate"] = (oEmp.JoiningDate > otaxparam.FiscalyearDatefrom) ? oEmp.JoiningDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDatefrom.ToString("dd MMM yyyy");
//                    oDRow["TDate"] = (oEmp.Status != EnumEmployeeStatus.Live) ? oEmp.DiscontinueDate.ToString("dd MMM yyyy") : otaxparam.FiscalyearDateTo.ToString("dd MMM yyyy");
//                    oDRow["SANDOtherSum"] = 0;

//                    nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Other_Allowance) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_House, (int)EnumIncomeTaxItemGroup.Cmp_Provided_House).TotalAmount : 0.0;
//                    GrandTotal = GrandTotal + nAmount;
//                    oDRow["BasicPercent"] = GlobalFunctions.TakaFormat(nAmount);

//                    oDRow["EnterAllowance"] = 0;
//                    oDRow["VechilesPercent"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Cmp_Provided_car, (int)EnumIncomeTaxItemGroup.Cmp_Provided_car).TotalAmount : 0.0);
//                    oDRow["SPByEmployeer"] = 0;
//                    oDRow["VOfFree"] = 0;

//                    nAmount = IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Company_Contri_PF, (int)EnumIncomeTaxItemGroup.Company_Contri_PF).TotalAmount : 0;
//                    oDRow["EContribution"] = GlobalFunctions.TakaFormat(nAmount);
//                    GrandTotal = GrandTotal + nAmount;

//                    oDRow["InterestCredit"] = 0;
//                    oDRow["VofAnyBenefit"] = 0;

//                    oDRow["TotalCol"] = GlobalFunctions.TakaFormat(GrandTotal);
//                    oDRow["AmountLiable"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Gross_Tax, (int)EnumIncomeTaxItemGroup.Gross_Tax).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17
//                    oDRow["ConToTheProvident"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Credit_On_Investment, (int)EnumIncomeTaxItemGroup.Tax_Credit_On_Investment).TotalAmount : 0);//Amount Liable to tax under section 21 of income tax ordinance 1984 ,col 17;//Contribution to the provident ,col 18
//                    oDRow["TaxIncome"] = GlobalFunctions.TakaFormat(GrandTotal);

//                    oDRow["TaxPayable"] =
//                        GlobalFunctions.TakaFormat(
//                            IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
//                                          (int)EnumIncomeTaxItemGroup.Net_Payable) != null
//                                ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Net_Payable,
//                                                (int)EnumIncomeTaxItemGroup.Net_Payable).TotalAmount
//                                : 0); //Tax Payable ,col 20

//                    oDRow["ThisMonthAmount"] = GlobalFunctions.TakaFormat(IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted) != null ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted, (int)EnumIncomeTaxItemGroup.Tax_Deducted).ThisMonthAmount : 0);
//                    oDRow["TaxActualDeduct"] =
//                        GlobalFunctions.TakaFormat(
//                            IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
//                                          (int)EnumIncomeTaxItemGroup.Tax_Deducted) != null
//                                ? IncomeTax.Get(oIncomeTaxs, oEmp.ID, EnumIncomeTaxItemGroup.Tax_Deducted,
//                                                (int)EnumIncomeTaxItemGroup.Tax_Deducted).TotalAmount
//                                : 0);

//                    oDRow["Remarks"] = "";
//                    dTreport108.Rows.Add(oDRow);
//                    nCount++;
//                }
//            }
//            form.ShowDlgForReport108(_selectedParameter.ReportItem, dTreport108, otaxparam.AssessmentYear);
//        }
//    }
//}