ListReports.md
... ...
@@ -0,0 +1,86 @@
1
+#The ListReports() Method
2
+
3
+```csharp
4
+public override Izenda.AdHoc.ReportInfo[] ListReports()
5
+{
6
+ /* BEGIN Database Mode Code Sample */
7
+
8
+ ArrayList reportNames = new ArrayList();
9
+ string sql = String.Format("SELECT Name, CreatedDate, ModifiedDate FROM {0} ORDER BY Name",
10
+ SavedReportsTable);
11
+ System.Data.IDbCommand command = null;
12
+ try
13
+ {
14
+ command = Izenda.AdHoc.AdHocContext.Driver.CreateCommand(sql);
15
+ System.Data.IDataReader reader = command.ExecuteReader();
16
+
17
+ while (reader.Read())
18
+ {
19
+ string reportName = reader["Name"].ToString();
20
+ DateTime createdDate = (DateTime)reader["CreatedDate"];
21
+ DateTime modifiedDate = (DateTime)reader["ModifiedDate"];
22
+ if (reportName != "")
23
+ reportNames.Add(new Izenda.AdHoc.ReportInfo(reportName, false, createdDate, modifiedDate));
24
+ }
25
+ }
26
+ catch (Exception) { }
27
+
28
+ if (command.Connection.State == System.Data.ConnectionState.Open)
29
+ command.Connection.Close();
30
+ return (Izenda.AdHoc.ReportInfo[])reportNames.ToArray(typeof(Izenda.AdHoc.ReportInfo));
31
+ /* END Database Mode Code Sample */
32
+```
33
+
34
+```csharp
35
+ /* BEGIN Filesystem Mode Code Sample */
36
+ ArrayList reportNames = new ArrayList();
37
+
38
+ if (ReportPath != null)
39
+ {
40
+ DirectoryInfo dir = new DirectoryInfo(ReportPath);
41
+ if (dir.Exists)
42
+ {
43
+ string dirName = Path.GetFullPath(dir.FullName);
44
+ ArrayList fileArray = new ArrayList();
45
+ GetAllXmlFiles(dir, fileArray);
46
+ FileInfo[] files = (FileInfo[])fileArray.ToArray(typeof(FileInfo));
47
+ foreach (FileInfo file in files)
48
+ {
49
+ if (file.Extension == ".xml")
50
+ {
51
+ try
52
+ {
53
+ StreamReader reader = file.OpenText();
54
+ reader.Close();
55
+ }
56
+ catch (Exception)
57
+ {
58
+ continue;
59
+ }
60
+ bool readOnly = false;
61
+ try
62
+ {
63
+ StreamWriter writer = file.AppendText();
64
+ writer.Close();
65
+ }
66
+ catch (Exception)
67
+ {
68
+ readOnly = true;
69
+ }
70
+
71
+ string fileName = Path.GetFullPath(file.FullName);
72
+ string reportName = fileName.Substring(dirName.Length + (dirName.EndsWith("\\")?0:1));
73
+ reportName = StringHelper.TrimEnd(reportName, ".xml");
74
+ reportNames.Add(new ReportInfo(reportName, readOnly, file.CreationTime,
75
+ file.LastWriteTime));
76
+ }//end if
77
+ }//end foreach
78
+ }//end if
79
+ }//end if
80
+ //string[] reportNamesArray = new string[reportNames.Count];
81
+ //reportNames.CopyTo(reportNamesArray, 0);
82
+ //return (ReportInfo[])reportNames.ToArray(typeof(ReportInfo));
83
+
84
+ /* END Filesystem Mode Code Sample */
85
+}
86
+```
... ...
\ No newline at end of file