using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Payroll.BO; using Ease.CoreV35; using Ease.CoreV35.Model; using Ease.CoreV35.Caching; using Ease.CoreV35.DataAccess; using Microsoft.Reporting.WinForms; namespace Payroll.Report { public class rptBankAdvice { private ReportSetup _selectedParameter; public rptBankAdvice() { } public ReportSetup SelectedParameter { set { _selectedParameter = value; } } //public void ShowReport() //{ // fReportViewer form = new fReportViewer(); // DateTime salaryMonth = _selectedParameter.FromDate.Value; // string sEmpID = _selectedParameter.ReportItem.INSQL; // int count = 1; // DataRow oDR = null; // Bank oBank; // if (_selectedParameter.Banks.Count > 0) // oBank = _selectedParameter.Banks[0]; // else throw new ServiceException("please select a bank"); // DataSet oEmpBankAcc = EmployeeBankAccount.GetEmpBankAdvice(GlobalFunctions.LastDateOfMonth(salaryMonth), sEmpID); // PayrollDataSet.dsCompany.BankAdviceDataTable bankAdvice = new Payroll.Report.PayrollDataSet.dsCompany.BankAdviceDataTable(); // double nTotal = 0.0; // foreach (DataRow oDRow in oEmpBankAcc.Tables[0].Rows) // { // oDR = bankAdvice.NewRow(); // oDR["EmpNo"] = oDRow["EMPLOYEENO"]; // oDR["EmpName"] = oDRow["NAME"]; // oDR["AccountNo"] = oDRow["ACCOUNTNO"]; // oDR["Amount"] = Math.Round(Convert.ToDouble(oDRow["CHANGEDAMOUNT"])); // oDR["Email"] = oDRow["EMAILADDRESS"]; // oDR["SalaryMonth"] = salaryMonth; // oDR["SLNo"] = count; // oDR["CostCenter"] = oDRow["CostCenter"].ToString(); // nTotal += Convert.ToDouble(oDR["Amount"]); // bankAdvice.Rows.Add(oDR); // count++; // } // string amountInWord = Ease.CoreV35.Utility.Global.NumericFunctions.TakaWords(nTotal); // form.ShowDlgForBankAdvice(_selectedParameter.ReportItem, bankAdvice, amountInWord); //} public void ShowReport() { fReportViewer form = new fReportViewer(); DateTime salaryMonth = _selectedParameter.FromDate.Value; string sEmpID = _selectedParameter.ReportItem.INSQL; int count = 1; DataRow oDR = null; Bank oBank; //string month = salaryMonth.ToString("MMMM-yyyy"); string takaInWord = string.Empty; if (_selectedParameter.Banks.Count > 0) oBank = _selectedParameter.Banks[0]; else throw new ServiceException("please select a bank"); DataSet oEmpBankAcc = EmployeeBankAccount.GetEmpBankAdvice(GlobalFunctions.LastDateOfMonth(salaryMonth), sEmpID); PayrollDataSet.dsCompany.BankAdviceDataTable bankAdvice = new Payroll.Report.PayrollDataSet.dsCompany.BankAdviceDataTable(); double nTotal = 0.0; foreach (DataRow oDRow in oEmpBankAcc.Tables[0].Rows) { oDR = bankAdvice.NewRow(); oDR["EmpNo"] = oDRow["EMPLOYEENO"]; oDR["EmpName"] = oDRow["NAME"]; oDR["AccountNo"] = oDRow["ACCOUNTNO"]; oDR["Amount"] = Math.Round(Convert.ToDouble(oDRow["CHANGEDAMOUNT"])); oDR["Email"] = oDRow["EMAILADDRESS"]; oDR["SalaryMonth"] = salaryMonth; oDR["SLNo"] = count; oDR["CostCenter"] = oDRow["CostCenter"].ToString(); bankAdvice.Rows.Add(oDR); nTotal += Convert.ToDouble(oDR["Amount"]); count++; } takaInWord = Ease.CoreV35.Utility.Global.NumericFunctions.TakaWords(nTotal); DataSet ds = new DataSet(); bankAdvice.TableName = "dsCompany_BankAdvice"; ds.Tables.Add(bankAdvice); List oAuthorizations = ReportAuthorization.GetByReportID(_selectedParameter.ReportItem.ReportID); List oPersons = AuthorizedPerson.Get(); List _parameters = new List(); int nCount = 1; foreach(ReportAuthorization item in oAuthorizations) { AuthorizedPerson person = oPersons.Find(x => x.ID == item.AuthorizePersionId); if (person != null) { if (nCount == 1) { _parameters.Add(new ReportParameter("Person1", person.Name)); _parameters.Add(new ReportParameter("Designation1", person.Designation)); } if (nCount == 2) { _parameters.Add(new ReportParameter("Person2", person.Name)); _parameters.Add(new ReportParameter("Designation2", person.Designation)); } } nCount++; } _parameters.Add(new ReportParameter("Person3", "na")); _parameters.Add(new ReportParameter("Designation3","na")); _parameters.Add(new ReportParameter("SalaryMonth", salaryMonth.ToString("MMMM-yyyy"))); _parameters.Add(new ReportParameter("Month", salaryMonth.ToString("MMM-yyyy"))); _parameters.Add(new ReportParameter("TakaInWord", takaInWord)); _parameters.Add(new ReportParameter("BankName", oBank.Name)); form.CommonReportView(_selectedParameter.ReportItem, ds, "Payroll.Report.RDLC.BankAdvice.rdlc", _parameters); } public void ShowBankForwordingLetter() { fReportViewer form = new fReportViewer(); DateTime salaryMonth = _selectedParameter.FromDate.Value; string sEmpID = _selectedParameter.ReportItem.INSQL; int count = 1; DataRow oDR = null; Bank oBank; if (_selectedParameter.Banks.Count > 0) oBank = _selectedParameter.Banks[0]; else throw new ServiceException("please select a bank"); DataSet oEmpBankAcc = EmployeeBankAccount.GetEmpBankAdvice(GlobalFunctions.LastDateOfMonth(salaryMonth), sEmpID); PayrollDataSet.dsCompany.BankAdviceDataTable bankAdvice = new Payroll.Report.PayrollDataSet.dsCompany.BankAdviceDataTable(); double nTotal = 0.0; foreach (DataRow oDRow in oEmpBankAcc.Tables[0].Rows) { //oDR = bankAdvice.NewRow(); //oDR["EmpNo"] = oDRow["EMPLOYEENO"]; //oDR["EmpName"] = oDRow["NAME"]; //oDR["AccountNo"] = oDRow["ACCOUNTNO"]; //oDR["Amount"] = Math.Round(Convert.ToDouble(oDRow["CHANGEDAMOUNT"])); //oDR["Email"] = oDRow["EMAILADDRESS"]; //oDR["SalaryMonth"] = salaryMonth; //oDR["SLNo"] = count; //oDR["CostCenter"] = oDRow["CostCenter"].ToString(); nTotal += Math.Round(Convert.ToDouble(oDRow["CHANGEDAMOUNT"])); //bankAdvice.Rows.Add(oDR); //count++; } string amountInWord = string.Empty; amountInWord = "Tk "+nTotal+" ("+ Ease.CoreV35.Utility.Global.NumericFunctions.TakaWords(nTotal)+")"; form.ShowDlgForBankForwordingLetter(_selectedParameter.ReportItem, bankAdvice, amountInWord, salaryMonth.ToString("MMM yy"), oBank); } public DataTable ExportBankAdvice(DateTime dMonth, ID nRepID, string sEmpIDs,List oBanks) { fReportViewer form = new fReportViewer(); DateTime salaryMonth = dMonth; string sEmpID = sEmpIDs; int count = 1; DataRow oDR = null; Bank oBank; if (oBanks.Count > 0) oBank = oBanks[0]; else throw new ServiceException("please select a bank"); DataSet oEmpBankAcc = EmployeeBankAccount.GetEmpBankAdvice(GlobalFunctions.LastDateOfMonth(salaryMonth), sEmpID); DataTable bankAdvice = new DataTable(); bankAdvice.Columns.Add("SL", typeof(int)); bankAdvice.Columns.Add("Employee ID", typeof(int)); bankAdvice.Columns.Add("Employee Name"); bankAdvice.Columns.Add("Account No."); bankAdvice.Columns.Add("Amount BDT.",typeof(double)); double nTotal = 0.0; foreach (DataRow oDRow in oEmpBankAcc.Tables[0].Rows) { oDR = bankAdvice.NewRow(); oDR["Employee ID"] = oDRow["EMPLOYEENO"]; oDR["Employee Name"] = oDRow["NAME"]; oDR["Account No."] = oDRow["ACCOUNTNO"]; oDR["Amount BDT."] = Math.Round(Convert.ToDouble(oDRow["CHANGEDAMOUNT"])); //nTotal += Convert.ToDouble(oDR["Amount"]); oDR["SL"] = count; bankAdvice.Rows.Add(oDR); count++; } string amountInWord = Ease.CoreV35.Utility.Global.NumericFunctions.TakaWords(nTotal); return bankAdvice; //form.ShowDlgForBankAdvice(_selectedParameter.ReportItem, bankAdvice, amountInWord); } public void ShowCashChequePaymentReport(DateTime month, string PaymentType) { fReportViewer form = new fReportViewer(); DataRow oDR = null; DataSet CashChequePaymentdSet = MiscellaneousDataset.GetCashChequePaymentReport(month, PaymentType); PayrollDataSet.PayrollDataSet.CashChequePaymentDataTable cashChecqueDTable = new PayrollDataSet.PayrollDataSet.CashChequePaymentDataTable(); string smonth = month.ToString("MMM yyyy"); foreach (DataRow oDRow in CashChequePaymentdSet.Tables[0].Rows) { oDR = cashChecqueDTable.NewRow(); oDR["EmployeeNo"] = oDRow["EMPLOYEENO"]; oDR["Name"] = oDRow["NAME"]; oDR["Department"] = oDRow["Department"]; oDR["Designation"] = oDRow["Designation"]; oDR["Amount"] = oDRow["Amount"]; cashChecqueDTable.Rows.Add(oDR); } form.ShowDlgForCashChequePaymentReport(cashChecqueDTable, smonth, PaymentType); } public void ShowCashChequePaymentReportBonus(DateTime month, string PaymentType) { fReportViewer form = new fReportViewer(); DataRow oDR = null; DataSet CashChequePaymentdSet = MiscellaneousDataset.GetCashChequePaymentReportBonus(month, PaymentType); PayrollDataSet.PayrollDataSet.CashChequePaymentDataTable cashChecqueDTable = new PayrollDataSet.PayrollDataSet.CashChequePaymentDataTable(); string smonth = month.ToString("MMM yyyy"); foreach (DataRow oDRow in CashChequePaymentdSet.Tables[0].Rows) { oDR = cashChecqueDTable.NewRow(); oDR["EmployeeNo"] = oDRow["EMPLOYEENO"]; oDR["Name"] = oDRow["NAME"]; oDR["Department"] = oDRow["Department"]; oDR["Designation"] = oDRow["Designation"]; oDR["Amount"] = oDRow["Amount"]; cashChecqueDTable.Rows.Add(oDR); } form.ShowDlgForCashChequePaymentReport(cashChecqueDTable, smonth, PaymentType); } public void ShowReportOPI() { fReportViewer form = new fReportViewer(); DateTime salaryMonth = _selectedParameter.FromDate.Value; string sEmpID = _selectedParameter.ReportItem.INSQL; int count = 1; DataRow oDR = null; Bank oBank; if (_selectedParameter.Banks.Count > 0) oBank = _selectedParameter.Banks[0]; else throw new ServiceException("please select a bank"); DataSet oEmpBankAcc = EmployeeBankAccount.GetOPIEmpBankAdvice(GlobalFunctions.LastDateOfMonth(salaryMonth), sEmpID, oBank.ID.Integer); DataSet oEmpExpenseAmount = new DataSet(); PayrollDataSet.PayrollDataSet.BankAdviceDataTable bankAdvice = new Payroll.Report.PayrollDataSet.PayrollDataSet.BankAdviceDataTable(); PayrollDataSet.PayrollDataSet.BankAdviceLetterDataTable bankAdviceLetter = new Payroll.Report.PayrollDataSet.PayrollDataSet.BankAdviceLetterDataTable(); double nTotal = 0.0; foreach (DataRow oDRow in oEmpBankAcc.Tables[0].Rows) { oDR = bankAdvice.NewRow(); oDR["EmpNo"] = oDRow["EMPLOYEENO"]; oDR["EmpName"] = oDRow["NAME"]; oDR["AccountNo"] = oDRow["ACCOUNTNO"]; oDR["Amount"] = oDRow["Amount"]; oDR["SLNo"] = count; nTotal += Convert.ToDouble(oDR["Amount"]); bankAdvice.Rows.Add(oDR); count++; } string amountInWord = Ease.CoreV35.Utility.Global.NumericFunctions.TakaWords(nTotal); form.ShowDlgForOPIBankAdvice(_selectedParameter.ReportItem, bankAdvice, amountInWord); } public void BonusRegisterBankAdviceCarFuel() { fReportViewer form = new fReportViewer(); ID nBonusID = _selectedParameter.Bonuses[0].ID; Bonus oBonus = Bonus.Get(nBonusID); DateTime dBonusMonth = _selectedParameter.FromDate.Value; string sEmpID = _selectedParameter.ReportItem.INSQL; int count = 1; DataRow oDR = null; DataSet oBonusRegister = null; oBonusRegister = BonusProcess.GetBonusRegister(nBonusID, GlobalFunctions.FirstDateOfMonth(dBonusMonth), sEmpID); PayrollDataSet.PayrollDataSet.BonusRegisterDataTable dBonusRegData = new Payroll.Report.PayrollDataSet.PayrollDataSet.BonusRegisterDataTable(); foreach (DataRow oDRow in oBonusRegister.Tables[0].Rows) { oDR = dBonusRegData.NewRow(); oDR["EmpNo"] = oDRow["EMPLOYEENO"]; oDR["Name"] = oDRow["NAME"]; oDR["Basic"] = oDRow["BasicSalary"]; oDR["BonusAmount"] = oDRow["ChangeBonusAmount"]; oDR["TaxAmount"] = oDRow["ChangeTaxAmount"]; oDR["Gross"] = oDRow["GROSSSALARY"]; oDR["JoiningDate"] = oDRow["JOININGDATE"]; oDR["BonusMonth"] = dBonusMonth; //oDR["NetBonus"]=oDRow[""]; oDR["SLNo"] = count; dBonusRegData.Rows.Add(oDR); count++; } form.ShowDlgForBonusRegister(_selectedParameter.ReportItem, dBonusRegData); } public void ShowReportCarFuel() { fReportViewer form = new fReportViewer(); DateTime salaryMonth = _selectedParameter.FromDate.Value; string sEmpID = _selectedParameter.ReportItem.INSQL; int count = 1; DataRow oDR = null; Bank oBank; if (_selectedParameter.Banks.Count > 0) oBank = _selectedParameter.Banks[0]; else throw new ServiceException("please select a bank"); DataSet oEmpBankAcc = EmployeeBankAccount.GetEmpCarFuelBankAdvice(GlobalFunctions.LastDateOfMonth(salaryMonth), sEmpID, oBank.ID.Integer); DataSet oEmpExpenseAmount = new DataSet(); PayrollDataSet.PayrollDataSet.BankAdviceDataTable bankAdvice = new Payroll.Report.PayrollDataSet.PayrollDataSet.BankAdviceDataTable(); PayrollDataSet.PayrollDataSet.BankAdviceLetterDataTable bankAdviceLetter = new Payroll.Report.PayrollDataSet.PayrollDataSet.BankAdviceLetterDataTable(); double nTotal = 0.0; foreach (DataRow oDRow in oEmpBankAcc.Tables[0].Rows) { oDR = bankAdvice.NewRow(); oDR["EmpNo"] = oDRow["EMPLOYEENO"]; oDR["EmpName"] = oDRow["NAME"]; oDR["AccountNo"] = oDRow["ACCOUNTNO"]; oDR["Amount"] = oDRow["Amount"]; oDR["SLNo"] = count; nTotal += Convert.ToDouble(oDR["Amount"]); bankAdvice.Rows.Add(oDR); count++; } string amountInWord = Ease.CoreV35.Utility.Global.NumericFunctions.TakaWords(nTotal); form.ShowDlgForOPIBankAdvice(_selectedParameter.ReportItem, bankAdvice, amountInWord); } public void ShowReportHNMOPI() { fReportViewer form = new fReportViewer(); DateTime salaryMonth = _selectedParameter.FromDate.Value; string sEmpID = _selectedParameter.ReportItem.INSQL; int count = 1; DataRow oDR = null; Bank oBank; //else throw new ServiceException("please select a division"); if (_selectedParameter.Banks.Count > 0) oBank = _selectedParameter.Banks[0]; else throw new ServiceException("please select a bank"); DataSet oEmpBankAcc = EmployeeBankAccount.GetHNMOPIEmpBankAdvice(GlobalFunctions.LastDateOfMonth(salaryMonth), sEmpID); DataSet oEmpExpenseAmount = new DataSet(); PayrollDataSet.PayrollDataSet.BankAdviceHNMDataTable bankAdvice = new Payroll.Report.PayrollDataSet.PayrollDataSet.BankAdviceHNMDataTable(); PayrollDataSet.PayrollDataSet.BankAdviceLetterDataTable bankAdviceLetter = new Payroll.Report.PayrollDataSet.PayrollDataSet.BankAdviceLetterDataTable(); double nTotal = 0.0; foreach (DataRow oDRow in oEmpBankAcc.Tables[0].Rows) { //DataRow[] oEmpExpAmount = oEmpExpenseAmount.Tables[0].Select("EmployeeNo='" + oDRow["EMPLOYEENO"].ToString() + "'"); oDR = bankAdvice.NewRow(); oDR["EmpNo"] = oDRow["EMPLOYEENO"]; oDR["EmpName"] = oDRow["NAME"]; oDR["AccountNo"] = oDRow["ACCOUNTNO"]; oDR["Amount"] = Math.Round(Convert.ToDouble(oDRow["Amount"])); oDR["CostCenter"] = oDRow["CostCenter"]; ////} //oDR["Email"] = oDRow["EMAILADDRESS"]; //oDR["SalaryMonth"] = salaryMonth; oDR["SLNo"] = count; bankAdvice.Rows.Add(oDR); //nTotal += Convert.ToDouble(oDR["Amount"]); count++; } //string sRefNo = "Reference No." + // Payroll.BO.SystemInformation.CurrentSysInfo.NextPayProcessDate.Year.ToString() + "/" + // Payroll.BO.SystemInformation.CurrentSysInfo.NextPayProcessDate.ToString("MMM") + "/" + // oBank.Code + "/" + oDivision.Name; //string sDateTaka = Payroll.BO.SystemInformation.CurrentSysInfo.NextPayProcessDate.ToString("MMMM, yyyy") + // " of total BDT " + Payroll.BO.GlobalFunctions.TakaFormat(nTotal) + " (" + Ease.CoreV35.Utility.Global.NumericFunctions.TakaWords(nTotal) + ")"; ////string sAccount = oBank.Code=="400"?"01-6174914-03":"171.120.119"; //string sAccount = oBank.AccountNo; //string sTaka = "BDT " + Payroll.BO.GlobalFunctions.TakaFormat(nTotal) + " (" + Ease.CoreV35.Utility.Global.NumericFunctions.TakaWords(nTotal) + ")"; //bankAdviceLetter.Rows.Add(sRefNo, sDateTaka, sAccount, oDivision.Name, DateTime.Today.ToString("dd MMM yyyy"), oBank.Name, Payroll.BO.SystemInformation.CurrentSysInfo.NextPayProcessDate.ToString("MMMM, yyyy"), sTaka); //return bankAdvice; form.ShowDlgForHNMOPIBankAdvice(_selectedParameter.ReportItem, bankAdvice); } public void OPIBankDisbursement() { fReportViewer form = new fReportViewer(); DateTime salaryMonth = _selectedParameter.FromDate.Value; string sEmpID = _selectedParameter.ReportItem.INSQL; int count = 1; DataRow oDR = null; Bank oBank; //else throw new ServiceException("please select a division"); if (_selectedParameter.Banks.Count > 0) oBank = _selectedParameter.Banks[0]; else throw new ServiceException("please select a bank"); DataSet oEmpBankAcc = EmployeeBankAccount.GetHNMOPIEmpBankAdvice(GlobalFunctions.LastDateOfMonth(salaryMonth), sEmpID); DataSet oEmpExpenseAmount = new DataSet(); PayrollDataSet.PayrollDataSet.BankAdviceHNMDataTable bankAdvice = new Payroll.Report.PayrollDataSet.PayrollDataSet.BankAdviceHNMDataTable(); PayrollDataSet.PayrollDataSet.BankAdviceLetterDataTable bankAdviceLetter = new Payroll.Report.PayrollDataSet.PayrollDataSet.BankAdviceLetterDataTable(); double nTotal = 0.0; foreach (DataRow oDRow in oEmpBankAcc.Tables[0].Rows) { //DataRow[] oEmpExpAmount = oEmpExpenseAmount.Tables[0].Select("EmployeeNo='" + oDRow["EMPLOYEENO"].ToString() + "'"); oDR = bankAdvice.NewRow(); oDR["EmpNo"] = oDRow["EMPLOYEENO"]; oDR["EmpName"] = oDRow["NAME"]; oDR["AccountNo"] = oDRow["ACCOUNTNO"]; oDR["Amount"] = Math.Round(Convert.ToDouble(oDRow["Amount"])); oDR["CostCenter"] = oDRow["CostCenter"]; ////} //oDR["Email"] = oDRow["EMAILADDRESS"]; //oDR["SalaryMonth"] = salaryMonth; oDR["SLNo"] = count; bankAdvice.Rows.Add(oDR); //nTotal += Convert.ToDouble(oDR["Amount"]); count++; } //string sRefNo = "Reference No." + // Payroll.BO.SystemInformation.CurrentSysInfo.NextPayProcessDate.Year.ToString() + "/" + // Payroll.BO.SystemInformation.CurrentSysInfo.NextPayProcessDate.ToString("MMM") + "/" + // oBank.Code + "/" + oDivision.Name; //string sDateTaka = Payroll.BO.SystemInformation.CurrentSysInfo.NextPayProcessDate.ToString("MMMM, yyyy") + // " of total BDT " + Payroll.BO.GlobalFunctions.TakaFormat(nTotal) + " (" + Ease.CoreV35.Utility.Global.NumericFunctions.TakaWords(nTotal) + ")"; ////string sAccount = oBank.Code=="400"?"01-6174914-03":"171.120.119"; //string sAccount = oBank.AccountNo; //string sTaka = "BDT " + Payroll.BO.GlobalFunctions.TakaFormat(nTotal) + " (" + Ease.CoreV35.Utility.Global.NumericFunctions.TakaWords(nTotal) + ")"; //bankAdviceLetter.Rows.Add(sRefNo, sDateTaka, sAccount, oDivision.Name, DateTime.Today.ToString("dd MMM yyyy"), oBank.Name, Payroll.BO.SystemInformation.CurrentSysInfo.NextPayProcessDate.ToString("MMMM, yyyy"), sTaka); //return bankAdvice; form.OPIBankDisbursement(_selectedParameter.ReportItem, bankAdvice); } internal List ShowBankAdvice(DateTime salaryMonth, Bank obank) { fReportViewer form = new fReportViewer(); List col = new List(); int count = 1; string sRefNo = string.Empty; string sSub = string.Empty; DataRow oDR = null; try { // start string processDate = string.Empty; DateTime pDate = DateTime.MinValue; ObjectsTemplate sProcesses = new ObjectsTemplate(); sProcesses = SalaryProcess.Get(GlobalFunctions.LastDateOfMonth(salaryMonth)); SalaryProcess sProcess = new SalaryProcess(); foreach (SalaryProcess sp in sProcesses) { pDate = sp.ProcessDate; break; } processDate = pDate.ToString("MMM-dd-yyyy"); //end DataSet oEmpBankAcc = EmployeeBankAccount.GetEmpBankAdvice(GlobalFunctions.LastDateOfMonth(salaryMonth), obank.ID.Integer); PayrollDataSet.dsCompany.BankAdviceDataTable bankAdvice = new Payroll.Report.PayrollDataSet.dsCompany.BankAdviceDataTable(); PayrollDataSet.dsCompany.BankAdviceLetterDataTable bankAdviceLetter = new Payroll.Report.PayrollDataSet.dsCompany.BankAdviceLetterDataTable(); PayrollDataSet.dsCompany.BankAdviceParametersDataTable bankAdviceParameter = new Payroll.Report.PayrollDataSet.dsCompany.BankAdviceParametersDataTable(); double nTotal = 0.0; foreach (DataRow oDRow in oEmpBankAcc.Tables[0].Rows) { oDR = bankAdvice.NewRow(); oDR["EmpNo"] = oDRow["EMPLOYEENO"]; oDR["EmpName"] = oDRow["NAME"]; oDR["AccountNo"] = oDRow["ACCOUNTNO"]; oDR["Amount"] = GlobalFunctions.Round(Convert.ToDouble(oDRow["CHANGEDAMOUNT"].ToString())); oDR["SalaryMonth"] = salaryMonth; oDR["Maintenance"] = "A"; oDR["Currency"] = "BDT"; oDR["Method"] = "T"; oDR["ProcessDate"] = processDate; oDR["Cheque"] = ""; oDR["DeNomination"] = ""; oDR["Bank"] = obank.Name; oDR["Branch"] = oDRow["Branch"].ToString(); oDR["Remarks"] = "Salary-" + salaryMonth.ToString("MMM yy"); oDR["SenderAccNo"] = obank.Accountingformat; oDR["BankRouting"] = oDRow["Code"].ToString(); oDR["AccType"] = "Savings Account"; oDR["SLNo"] = count; bankAdvice.Rows.Add(oDR); nTotal += Convert.ToDouble(oDR["Amount"]); count++; } sSub = "Subject: Transfer of Salary for the month of "; if (obank.ID.Integer == 2) { sRefNo = "Our Ref : " + obank.Name + " / DIS - P- "; } else if (obank.ID.Integer == 3) { sRefNo = "Our Ref : " + obank.Name + " / DIS - P-"; } else if (obank.ID.Integer == 4) { sRefNo = "Our Ref : " + obank.Name + " / DIS -P-"; } else if (obank.ID.Integer == 5) { sRefNo = "Our Ref : " + obank.Name + " / DIS - P-"; } else if (obank.ID.Integer == 1) { sRefNo = "Ref.: HSBC / DIS -P- ";// +" (001-004175-011" + obank.Accountingformat + ")"; oDR = bankAdviceParameter.NewRow(); oDR["OrderingCustomer"] = "Eskayef Bangladesh Limited"; oDR["DAccountID"] = ""; oDR["DAccountNo"] = obank.Accountingformat; oDR["Date"] = "";// salaryMonth.ToString("m/dd/yyyy"); oDR["MapTable"] = ""; oDR["Field"] = ""; oDR["PaymentReference"] = ""; oDR["TransactionAmount"] = GlobalFunctions.Round(nTotal); oDR["PayeesAccNo"] = ""; oDR["AccName"] = obank.Name; oDR["PayRef1"] = count.ToString(); oDR["PayRef2"] = ""; oDR["PayRef3"] = ""; oDR["PayRef4"] = ""; bankAdviceParameter.Rows.Add(oDR); sSub = "Subject : Disbursement of Employees Salary for the month of "; } string sAmount = NumWordsWrapper(Payroll.BO.GlobalFunctions.Round(nTotal)); string sDateTaka = "BDT. " + sAmount; string sAccount = obank.Accountingformat; double dAmount = Payroll.BO.GlobalFunctions.Round(nTotal); string sTaka = "BDT " + dAmount.ToString("###,##") + "/-(BDT. " + sAmount + ")"; if (oEmpBankAcc.Tables[0].Rows.Count > 0) { bankAdviceLetter.Rows.Add(sRefNo, sDateTaka, sAccount, oEmpBankAcc.Tables[0].Rows[0]["Branch"].ToString(), DateTime.Today.ToString("dd MMM yyyy"), obank.Name, salaryMonth.ToString("MMMM, yyyy"), sTaka); } else { bankAdviceLetter.Rows.Add(sRefNo, sDateTaka, sAccount, "", DateTime.Today.ToString("dd MMM yyyy"), obank.Name, salaryMonth.ToString("MMMM, yyyy"), sTaka); } //if (obank.ID.Integer != 6 && obank.ID.Integer != 7) //{ form.ShowDlgForBankAdvice(salaryMonth, bankAdvice, bankAdviceLetter, bankAdviceParameter, obank, sSub, sAmount); //} //else //{ //} if (obank.ID.Integer == 1) { col.Add(dAmount.ToString()); col.Add(sAmount); col.Add(salaryMonth.ToString("MMMM, yyyy")); } if (obank.ID.Integer == 2) { col.Add(dAmount.ToString()); col.Add(sAmount); col.Add(salaryMonth.ToString("MMMM, yyyy")); } return col; } catch (Exception ex) { throw new ServiceException(ex.Message); } } internal void ShowOPIBankAdvice(DateTime salaryMonth, Bank obank) { fReportViewer form = new fReportViewer(); int count = 1; string sRefNo = string.Empty; string sSub = string.Empty; DataRow oDR = null; try { DataSet oEmpBankAcc = EmployeeBankAccount.GetEmpOPIBankAdvice(GlobalFunctions.LastDateOfMonth(salaryMonth), obank.ID.Integer); PayrollDataSet.dsCompany.BankAdviceDataTable bankAdvice = new Payroll.Report.PayrollDataSet.dsCompany.BankAdviceDataTable(); PayrollDataSet.dsCompany.BankAdviceLetterDataTable bankAdviceLetter = new Payroll.Report.PayrollDataSet.dsCompany.BankAdviceLetterDataTable(); PayrollDataSet.dsCompany.BankAdviceParametersDataTable bankAdviceParameter = new Payroll.Report.PayrollDataSet.dsCompany.BankAdviceParametersDataTable(); double nTotal = 0.0; foreach (DataRow oDRow in oEmpBankAcc.Tables[0].Rows) { oDR = bankAdvice.NewRow(); oDR["EmpNo"] = oDRow["EMPLOYEENO"]; oDR["EmpName"] = oDRow["NAME"]; oDR["AccountNo"] = oDRow["ACCOUNTNO"]; oDR["Amount"] = GlobalFunctions.Round(Convert.ToDouble(oDRow["CHANGEDAMOUNT"].ToString())); oDR["SalaryMonth"] = salaryMonth; oDR["Maintenance"] = "A"; oDR["Currency"] = "BDT"; oDR["Method"] = "T"; oDR["Cheque"] = ""; oDR["DeNomination"] = ""; oDR["Bank"] = obank.Name; oDR["Branch"] = oDRow["Branch"].ToString(); // For HSBC & DBBL if (obank.ID.Integer == 1 || obank.ID.Integer == 2) { oDR["Remarks"] = "Expenses-" + salaryMonth.ToString("MMM yy"); } else { oDR["Remarks"] = "Salary-" + salaryMonth.ToString("MMM yy"); } oDR["SenderAccNo"] = obank.Accountingformat; oDR["BankRouting"] = oDRow["Code"].ToString(); oDR["AccType"] = "Savings Account"; oDR["SLNo"] = count; bankAdvice.Rows.Add(oDR); nTotal += Convert.ToDouble(oDR["Amount"]); count++; } sSub = "Subject: Transfer of OPI for the month of "; if (obank.ID.Integer == 2) { sRefNo = "Our Ref : " + obank.Name + " / DIS - P-"; //69/" + salaryMonth.ToString("yy"); } else if (obank.ID.Integer == 3) { sRefNo = "Our Ref : " + obank.Name + " / DIS - P-"; } else if (obank.ID.Integer == 4) { sRefNo = "Our Ref : " + obank.Name + " / DIS -P-"; } else if (obank.ID.Integer == 5) { sRefNo = "Our Ref : " + obank.Name + " / DIS - P-"; } else if (obank.ID.Integer == 1) { sRefNo = "Ref.: HSBC / DIS -P-";//50/" + salaryMonth.ToString("yyyy") + " (Current Account # " + obank.Accountingformat + ")"; oDR = bankAdviceParameter.NewRow(); oDR["OrderingCustomer"] = "Eskayef Bangladesh Limited"; oDR["DAccountID"] = ""; oDR["DAccountNo"] = obank.Accountingformat; oDR["Date"] = ""; salaryMonth.ToString("m/dd/yyyy"); oDR["MapTable"] = ""; oDR["Field"] = ""; oDR["PaymentReference"] = ""; oDR["TransactionAmount"] = GlobalFunctions.Round(nTotal); oDR["PayeesAccNo"] = ""; oDR["AccName"] = obank.Name; oDR["PayRef1"] = count.ToString(); oDR["PayRef2"] = ""; oDR["PayRef3"] = ""; oDR["PayRef4"] = ""; bankAdviceParameter.Rows.Add(oDR); sSub = "Subject : Disbursement of Employees OPI for the month of "; } string sAmount = NumWordsWrapper(Payroll.BO.GlobalFunctions.Round(nTotal)); string sDateTaka = "BDT. " + sAmount; string sAccount = obank.Accountingformat; double dAmount = Payroll.BO.GlobalFunctions.Round(nTotal); string sTaka = "BDT " + dAmount.ToString("###,##") + "/-(BDT. " + sAmount + ")"; if (oEmpBankAcc.Tables[0].Rows.Count > 0) { bankAdviceLetter.Rows.Add(sRefNo, sDateTaka, sAccount, oEmpBankAcc.Tables[0].Rows[0]["Branch"].ToString(), DateTime.Today.ToString("dd MMM yyyy"), obank.Name, Payroll.BO.SystemInformation.CurrentSysInfo.NextPayProcessDate.ToString("MMMM, yyyy"), sTaka); } else { bankAdviceLetter.Rows.Add(sRefNo, sDateTaka, sAccount, "", DateTime.Today.ToString("dd MMM yyyy"), obank.Name, Payroll.BO.SystemInformation.CurrentSysInfo.NextPayProcessDate.ToString("MMMM, yyyy"), sTaka); } //if (obank.ID.Integer != 6 && obank.ID.Integer != 7) //{ form.ShowDlgForBankAdvice(salaryMonth, bankAdvice, bankAdviceLetter, bankAdviceParameter, obank, sSub, sAmount); //} //else //{ //} } catch (Exception ex) { throw new ServiceException(ex.Message); } } public static String NumWordsWrapper(double value) { string words = ""; double intPart; double decPart = 0; if (value == 0) return "zero"; try { string[] splitter = value.ToString().Split('.'); intPart = double.Parse(splitter[0]); if (splitter.Length > 1) { decPart = double.Parse(splitter[1]); } } catch { intPart = value; } words = NumWords(Convert.ToInt32(intPart)); if (decPart > 0) { if (words != "") words += " and "; int counter = decPart.ToString().Length; switch (counter) { case 1: words += NumWords(Convert.ToInt32(decPart)) + ""; break;// tenths case 2: words += NumWords(Convert.ToInt32(decPart)) + ""; break;// hundredths case 3: words += NumWords(Convert.ToInt32(decPart)) + ""; break;// thousandths case 4: words += NumWords(Convert.ToInt32(decPart)) + ""; break;// ten-thousandths case 5: words += NumWords(Convert.ToInt32(decPart)) + ""; break;// hundred-thousandths case 6: words += NumWords(Convert.ToInt32(decPart)) + ""; break;// millionths case 7: words += NumWords(Convert.ToInt32(decPart)) + ""; break;// ten-millionths } } return words + " Only"; } private static string NumWords(int Num) { #region Old Code //string[] numbersArr = new string[] { "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" }; //string[] tensArr = new string[] { "twenty", "thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninty" }; //string[] suffixesArr = new string[] { "thousand", "million", "billion", "trillion", "quadrillion", "quintillion", "sextillion", "septillion", "octillion", "nonillion", "decillion", "undecillion", "duodecillion", "tredecillion", "Quattuordecillion", "Quindecillion", "Sexdecillion", "Septdecillion", "Octodecillion", "Novemdecillion", "Vigintillion" }; //string words = ""; //bool tens = false; //if (n < 0) //{ // words += "negative "; // n *= -1; //} //int power = (suffixesArr.Length + 1) * 3; //while (power > 3) //{ // double pow = Math.Pow(10, power); // if (n > pow) // { // if (n % Math.Pow(10, power) > 0) // { // words += NumWords(Math.Floor(n / pow)) + " " + suffixesArr[(power / 3) - 1] + " and "; // } // else if (n % pow > 0) // { // words += NumWords(Math.Floor(n / pow)) + " " + suffixesArr[(power / 3) - 1]; // } // n %= pow; // } // power -= 3; //} //if (n >= 1000) //{ // if (n % 1000 > 0) words += NumWords(Math.Floor(n / 1000)) + " thousand and "; // else words += NumWords(Math.Floor(n / 1000)) + " thousand"; // n %= 1000; //} //if (0 <= n && n <= 999) //{ // if ((int)n / 100 > 0) // { // words += NumWords(Math.Floor(n / 100)) + " hundred"; // n %= 100; // } // if ((int)n / 10 > 1) // { // if (words != "") // words += " "; // words += tensArr[(int)n / 10 - 2]; // tens = true; // n %= 10; // } // if (n < 20) // { // if (words != "" && tens == false) // words += " "; // words += (tens ? "-" + numbersArr[(int)n - 1] : numbersArr[(int)n - 1]); // n -= Math.Floor(n); // } //} //return words; #endregion string[] Below20 = { "", "One ", "Two ", "Three ", "Four ", "Five ", "Six " , "Seven ", "Eight ", "Nine ", "Ten ", "Eleven ", "Twelve " , "Thirteen ", "Fourteen ","Fifteen ", "Sixteen " , "Seventeen ","Eighteen " , "Nineteen " }; string[] Below100 = { "", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety " }; string InWords = ""; if (Num >= 1 && Num < 20) InWords += Below20[Num]; if (Num >= 20 && Num <= 99) InWords += Below100[Num / 10] + Below20[Num % 10]; if (Num >= 100 && Num <= 999) InWords += NumWords(Num / 100) + " Hundred " + NumWords(Num % 100); if (Num >= 1000 && Num <= 99999) InWords += NumWords(Num / 1000) + " Thousand " + NumWords(Num % 1000); if (Num >= 100000 && Num <= 9999999) InWords += NumWords(Num / 100000) + " Lac " + NumWords(Num % 100000); if (Num >= 10000000) InWords += NumWords(Num / 10000000) + " Crore " + NumWords(Num % 10000000); return InWords; } public void ShowBankDisbursmentReport() { fReportViewer form = new fReportViewer(); DateTime salaryMonth = _selectedParameter.FromDate.Value; string sEmpID = _selectedParameter.ReportItem.INSQL; int count = 1; DataRow oDR = null; Bank oBank; if (_selectedParameter.Banks.Count > 0) oBank = _selectedParameter.Banks[0]; else throw new ServiceException("please select a bank"); DataSet oEmpBankAcc = EmployeeBankAccount.GetEmpBankAdvice(GlobalFunctions.LastDateOfMonth(salaryMonth), sEmpID); PayrollDataSet.dsCompany.BankAdviceDataTable bankAdvice = new Payroll.Report.PayrollDataSet.dsCompany.BankAdviceDataTable(); double nTotal = 0.0; foreach (DataRow oDRow in oEmpBankAcc.Tables[0].Rows) { oDR = bankAdvice.NewRow(); oDR["EmpNo"] = oDRow["EMPLOYEENO"]; oDR["EmpName"] = oDRow["NAME"]; oDR["AccountNo"] = oDRow["ACCOUNTNO"]; oDR["Amount"] = Math.Round(Convert.ToDouble(oDRow["CHANGEDAMOUNT"])); oDR["Email"] = oDRow["EMAILADDRESS"]; oDR["SalaryMonth"] = salaryMonth; oDR["SLNo"] = count; oDR["CostCenter"] = oDRow["CostCenter"].ToString(); bankAdvice.Rows.Add(oDR); nTotal += Convert.ToDouble(oDR["Amount"]); count++; } form.ShowDlgForBankDisbursment(_selectedParameter.ReportItem, bankAdvice); } public void ShowEuroBankAdviceReport() { fReportViewer form = new fReportViewer(); DateTime salaryMonth = _selectedParameter.FromDate.Value; string sEmpID = _selectedParameter.ReportItem.INSQL; int count = 1; DataRow oDR = null; Bank oBank; if (_selectedParameter.Banks.Count > 0) oBank = _selectedParameter.Banks[0]; else throw new ServiceException("please select a bank"); DataSet oEmpBankAcc = EmployeeBankAccount.GetEmpEuroBankAdvice(GlobalFunctions.LastDateOfMonth(salaryMonth), sEmpID); PayrollDataSet.dsCompany.BankAdviceDataTable bankAdvice = new Payroll.Report.PayrollDataSet.dsCompany.BankAdviceDataTable(); double nTotal = 0.0; foreach (DataRow oDRow in oEmpBankAcc.Tables[0].Rows) { oDR = bankAdvice.NewRow(); oDR["EmpNo"] = oDRow["EMPLOYEENO"]; oDR["EmpName"] = oDRow["NAME"]; oDR["AccountNo"] = oDRow["EUROACCOUNTNO"]; oDR["Amount"] = oDRow["Amount"];// Math.Round(Convert.ToDouble(oDRow["CHANGEDAMOUNT"])); //oDR["Email"] = oDRow["EMAILADDRESS"]; //oDR["SalaryMonth"] = salaryMonth; oDR["SLNo"] = count; //oDR["CostCenter"] = oDRow["CostCenter"].ToString(); bankAdvice.Rows.Add(oDR); //nTotal += Convert.ToDouble(oDR["Amount"]); count++; } form.ShowDlgForEuroBankAdvice(_selectedParameter.ReportItem, bankAdvice); } internal void PrepareBankPaymentSummaryReport(DateTime dateTime) { fReportViewer oviewer = new fReportViewer(); DataSet dsBankPaymentSummary = new DataSet(); DataRow oRow = null; try { dsBankPaymentSummary = MiscellaneousDataset.GetBankPaymentSummaryData(dateTime); PayrollDataSet.dsCompany.BankPaymentSummaryDataTable dtBankPaymentSummary = new Payroll.Report.PayrollDataSet.dsCompany.BankPaymentSummaryDataTable(); PayrollDataSet.dsCompany.BankPaymentSummaryDataTable dtBankPaymentSummary1 = new Payroll.Report.PayrollDataSet.dsCompany.BankPaymentSummaryDataTable(); if (dsBankPaymentSummary != null) { if (dsBankPaymentSummary.Tables[0].Rows.Count > 0) { string sbankName = ""; string sPrvBankName = ""; foreach (DataRow orr in dsBankPaymentSummary.Tables[0].Rows) { sbankName = orr["Bank"].ToString(); if (sbankName != sPrvBankName) { if (orr["Bank"].ToString() == "HSBC") { oRow = dtBankPaymentSummary.NewRow(); oRow["Bank2"] = orr["Bank"].ToString(); oRow["Bank1"] = "A) "; oRow["Serial"] = 1; oRow["Description"] = "Salary, Allowances & OPI"; dtBankPaymentSummary.Rows.Add(oRow); sPrvBankName = sbankName; } else if (orr["Bank"].ToString() == "SCB") { oRow = dtBankPaymentSummary.NewRow(); oRow["Bank2"] = orr["Bank"].ToString(); oRow["Bank1"] = "B) "; oRow["Serial"] = 2; oRow["Description"] = "Salary, Allowances & OPI"; dtBankPaymentSummary.Rows.Add(oRow); sPrvBankName = sbankName; } else if (orr["Bank"].ToString() == "EBL") { oRow = dtBankPaymentSummary.NewRow(); oRow["Bank2"] = orr["Bank"].ToString(); oRow["Bank1"] = "C) "; oRow["Serial"] = 6; oRow["Description"] = "Salary, Allowances & OPI"; dtBankPaymentSummary.Rows.Add(oRow); sPrvBankName = sbankName; } else if (orr["Bank"].ToString() == "CBCL") { oRow = dtBankPaymentSummary.NewRow(); oRow["Bank2"] = orr["Bank"].ToString(); oRow["Bank1"] = "D) "; oRow["Serial"] = 7; oRow["Description"] = "Salary, Allowances & OPI"; dtBankPaymentSummary.Rows.Add(oRow); sPrvBankName = sbankName; } else if (orr["Bank"].ToString() == "DBBL") { oRow = dtBankPaymentSummary.NewRow(); oRow["Bank2"] = orr["Bank"].ToString(); oRow["Bank1"] = "E) "; oRow["Serial"] = 8; oRow["Description"] = "Salary, Allowances & OPI"; dtBankPaymentSummary.Rows.Add(oRow); sPrvBankName = sbankName; } } if (sPrvBankName == sbankName) { oRow["HSBC00"] = Convert.ToDouble(orr["Unit-00"].ToString()); oRow["HSBC01"] = Convert.ToDouble(orr["Unit-01"].ToString()); ; oRow["HSBC03"] = Convert.ToDouble(orr["Unit-03"].ToString()); oRow["HSBS04"] = Convert.ToDouble(orr["Unit-04"].ToString()); oRow["HSBC05"] = Convert.ToDouble(orr["Unit-05"].ToString()); oRow["HSBC06"] = Convert.ToDouble(orr["Unit-06"].ToString()); oRow["HSBC08"] = Convert.ToDouble(orr["Unit-08"].ToString()); oRow["HSBC09"] = Convert.ToDouble(orr["Unit-09"].ToString()); oRow["HSBC10"] = Convert.ToDouble(orr["Unit-10"].ToString()); oRow["HSBCU0"] = Convert.ToDouble(orr["U-00"].ToString()); oRow["HSBCU1"] = Convert.ToDouble(orr["U-01"].ToString()); oRow["HSBCU3"] = Convert.ToDouble(orr["U-03"].ToString()); oRow["HSBCU5"] = Convert.ToDouble(orr["U-05"].ToString()); oRow["HSBCU8"] = Convert.ToDouble(orr["U-08"].ToString()); oRow["HSBCU9"] = Convert.ToDouble(orr["U-09"].ToString()); oRow["HSBCU10"] = Convert.ToDouble(orr["U-10"].ToString()); } } } if (dsBankPaymentSummary.Tables[1].Rows.Count > 0) { foreach (DataRow orr in dsBankPaymentSummary.Tables[1].Rows) { oRow = dtBankPaymentSummary.NewRow(); oRow["Bank2"] = "SCB"; oRow["Bank1"] = "B) "; oRow["Description"] = orr["Description"].ToString(); if (oRow["Description"].ToString() == "Advance Income Tax") { oRow["Serial"] = 3; } else if (oRow["Description"].ToString() == "Employees Provident Fund") { oRow["Serial"] = 4; } else if (oRow["Description"].ToString() == "Article Loan") { oRow["Serial"] = 5; } oRow["HSBC00"] = Convert.ToDouble(orr["Unit-00"].ToString()); oRow["HSBC01"] = Convert.ToDouble(orr["Unit-01"].ToString()); oRow["HSBC03"] = Convert.ToDouble(orr["Unit-03"].ToString()); oRow["HSBS04"] = Convert.ToDouble(orr["Unit-04"].ToString()); oRow["HSBC05"] = Convert.ToDouble(orr["Unit-05"].ToString()); oRow["HSBC06"] = Convert.ToDouble(orr["Unit-06"].ToString()); oRow["HSBC08"] = Convert.ToDouble(orr["Unit-08"].ToString()); oRow["HSBC09"] = Convert.ToDouble(orr["Unit-09"].ToString()); oRow["HSBC10"] = Convert.ToDouble(orr["Unit-10"].ToString()); oRow["HSBCU0"] = Convert.ToDouble(orr["U-00"].ToString()); oRow["HSBCU1"] = Convert.ToDouble(orr["U-01"].ToString()); oRow["HSBCU3"] = Convert.ToDouble(orr["U-03"].ToString()); oRow["HSBCU5"] = Convert.ToDouble(orr["U-05"].ToString()); oRow["HSBCU8"] = Convert.ToDouble(orr["U-08"].ToString()); oRow["HSBCU9"] = Convert.ToDouble(orr["U-09"].ToString()); oRow["HSBCU10"] = Convert.ToDouble(orr["U-10"].ToString()); dtBankPaymentSummary.Rows.Add(oRow); } } var sortedTempData = from DataRow dr in dtBankPaymentSummary.Rows orderby dr["Serial"] select dr; foreach (DataRow dr in sortedTempData) { dtBankPaymentSummary1.ImportRow(dr); } if (dtBankPaymentSummary1.Rows.Count > 0) { oviewer.ShowBankPaymentSummaryReport(dtBankPaymentSummary1, dateTime); } } else { throw new ServiceException("No Data Found!!!"); } } catch (Exception ex) { throw new ServiceException(ex.Message); } } internal void PrepareCashPaymentSummaryReport(DateTime dateTime) { fReportViewer oviewer = new fReportViewer(); DataSet dsCashPaymentSummary = new DataSet(); DataRow oRow = null; try { dsCashPaymentSummary = MiscellaneousDataset.GetCashPaymentSummaryData(dateTime); PayrollDataSet.dsCompany.CashPaymentSummaryDataTable dtBankPaymentSummary = new Payroll.Report.PayrollDataSet.dsCompany.CashPaymentSummaryDataTable(); foreach (DataRow dr in dsCashPaymentSummary.Tables[0].Rows) { oRow = dtBankPaymentSummary.NewRow(); oRow["EmpCode"] = dr["EmployeeNo"]; oRow["Name"] = dr["NAME"]; oRow["Department"] = dr["Department"]; oRow["Unit"] = dr["Unit"]; oRow["UnitName"] = dr["UnitName"]; oRow["Designation"] = dr["Designation"]; oRow["Amount"] = dr["Amount"]; dtBankPaymentSummary.Rows.Add(oRow); } oviewer.ShowDlgForCashPaymentSummary(dtBankPaymentSummary); } catch (Exception ex) { throw new ServiceException(ex.Message); } } } }