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 _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 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 oIncomeTaxs = null; // IncomeTax oIncomeTax = new IncomeTax(); // //_Employees = Employee.GetWithDiscontinue(); // _Employees = Employee.GetEmpsWithDiscontinue(sEmpNo); // double nAmount = 0; // double nTempAmount = 0; // List 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 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 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); // } // } //}