EchoTex_Payroll/HRM.Report/Class/Report108.cs
2024-10-14 10:01:49 +06:00

892 lines
65 KiB
C#

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);
// }
// }
//}