FAQ/GetAutoRefreshIntervals.md
... ...
@@ -0,0 +1,39 @@
1
+#GetAutoRefreshIntervals()
2
+
3
+[[_TOC_]]
4
+
5
+This method can be overridden in the CustomAdHocConfig class to enable a dropdown menu in the viewer for reports and dashboards to allow an end user to set an interval for auto refreshing of the report/dashboard. If the method is not overridden, or returns an empty Dictionary, the dropdown is not displayed in the viewer. You can define as many intervals as you like. The intervals are defined in the Dictionary as a <nowiki>&lt;</nowiki>string, int<nowiki>&gt;</nowiki>, meaning that you can display intervals however you choose in the string (i.e. "5 minutes", "5 mins", or "Five minutes"), and the corresponding integer is the time in seconds (i.e. 5 minutes = 300 seconds).
6
+
7
+Below is a sample global.asax with an example of the GetAutoRefreshIntervals override method in place. The code block will appear within ``<script runat="server"> </script>`` tags within global.asax.
8
+
9
+##Global.asax (C♯)
10
+```csharp
11
+//main class: inherits DatabaseAdHocConfig or FileSystemAdHocConfig
12
+public class CustomAdHocConfig : DatabaseAdHocConfig
13
+{
14
+ // Configure settings
15
+ // Add custom settings after setting the license key and connection string by overriding the ConfigureSettings() method
16
+ public static void InitializeReporting() {
17
+ //Check to see if we've already initialized.
18
+ if (HttpContext.Current.Session == null || HttpContext.Current.Session["ReportingInitialized"] != null)
19
+ return;
20
+ AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE";
21
+ AdHocSettings.SqlServerConnectionString = "INSERT_CONNECTION_STRING_HERE";
22
+ Izenda.AdHoc.AdHocSettings.AdHocConfig = new CustomAdHocConfig();
23
+ HttpContext.Current.Session["ReportingInitialized"] = true;
24
+ }
25
+
26
+ //The relevant method
27
+ public override Dictionary<string, int> GetAutoRefreshIntervals() {
28
+ Dictionary<string, int> intervals = new Dictionary<string, int>();
29
+ intervals.Add("Never", -1);
30
+ intervals.Add("5 minutes", 300);
31
+ intervals.Add("10 minutes", 600);
32
+ intervals.Add("30 minutes", 1800);
33
+ intervals.Add("1 hour", 3600);
34
+ return intervals;
35
+ }
36
+ //End
37
+
38
+}
39
+```
... ...
\ No newline at end of file