You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.4 KiB

  1. using Swift.DAL.SwiftDAL;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. namespace Swift.DAL.Remittance
  6. {
  7. public class RemittanceGridDao : RemittanceDao
  8. {
  9. public ArrayList GetGridDataSource(string sql, bool hasFilter, bool loadGridOnFilterOnly)
  10. {
  11. var dataSource = new ArrayList();
  12. var columnList = new ArrayList();
  13. List<Hashtable> rows = null;
  14. DataSet ds;
  15. if (loadGridOnFilterOnly)
  16. {
  17. if (hasFilter)
  18. {
  19. ds = ExecuteDataset(sql);
  20. dataSource.Add(ds.Tables[0].Rows[0]["totalRow"].ToString());
  21. rows = new List<Hashtable>();
  22. foreach (DataRow dataRow in ds.Tables[1].Rows)
  23. {
  24. var row = new Hashtable();
  25. foreach (DataColumn dataColumn in ds.Tables[1].Columns)
  26. {
  27. var columnName = dataColumn.ColumnName;
  28. columnList.Add(columnName);
  29. row.Add(columnName.ToLower().Replace(' ', '_'), dataRow[columnName].ToString());
  30. }
  31. rows.Add(row);
  32. }
  33. dataSource.Add(rows);
  34. dataSource.Add(columnList);
  35. }
  36. else
  37. {
  38. dataSource.Add("0");
  39. dataSource.Add(null);
  40. dataSource.Add(null);
  41. }
  42. }
  43. else
  44. {
  45. ds = ExecuteDataset(sql);
  46. dataSource.Add(ds.Tables[0].Rows[0]["totalRow"].ToString());
  47. rows = new List<Hashtable>();
  48. foreach (DataRow dataRow in ds.Tables[1].Rows)
  49. {
  50. var row = new Hashtable();
  51. foreach (DataColumn dataColumn in ds.Tables[1].Columns)
  52. {
  53. var columnName = dataColumn.ColumnName;
  54. columnList.Add(columnName);
  55. row.Add(columnName.ToLower().Replace(' ', '_'), dataRow[columnName].ToString());
  56. }
  57. rows.Add(row);
  58. }
  59. dataSource.Add(rows);
  60. dataSource.Add(columnList);
  61. }
  62. return dataSource;
  63. }
  64. }
  65. }