e34b80659deb3adc7398f8e1b3eddb40061ed2bf
Guides/MVC-Integration.md
| ... | ... | @@ -155,13 +155,86 @@ The below is how the project's Global.asax should look like. |
| 155 | 155 | </script> |
| 156 | 156 | ``` |
| 157 | 157 | |
| 158 | - |
|
| 159 | 158 | |
| 160 | 159 | ###Step 9. Copy specificFilerouter and IzendaResource constraint classes from Globa.asax.cs and paste them above MVCapplication class in Global.asax.cs of the project |
| 161 | 160 | |
| 162 | 161 | Copy specificFilerouter and IzendaResource constraint classes from Globa.asax.cs and paste them above MVCapplication class in Global.asax.cs of the project |
| 163 | 162 | |
| 164 | - |
|
| 163 | +```csharp |
|
| 164 | +public class SpecificFileRouterConstraint : IRouteConstraint { |
|
| 165 | + private string extensionToBeRouted = null; |
|
| 166 | + private string fileToBeRouted = null; |
|
| 167 | + |
|
| 168 | + public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection) { |
|
| 169 | + return !String.IsNullOrEmpty(extensionToBeRouted) && !String.IsNullOrEmpty(fileToBeRouted) && values[extensionToBeRouted] != null && values[extensionToBeRouted].ToString().ToLower().Contains(fileToBeRouted); |
|
| 170 | + } |
|
| 171 | + |
|
| 172 | + public SpecificFileRouterConstraint() { } |
|
| 173 | + |
|
| 174 | + public SpecificFileRouterConstraint(string extension, string fileName) { |
|
| 175 | + extensionToBeRouted = extension.ToLower(); |
|
| 176 | + fileToBeRouted = fileName.ToLower(); |
|
| 177 | + } |
|
| 178 | + } |
|
| 179 | +public class IzendaResourceConstraint : IRouteConstraint { |
|
| 180 | + private string extensionToBeRouted = null; |
|
| 181 | + |
|
| 182 | + public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection) { |
|
| 183 | + if (String.IsNullOrEmpty(extensionToBeRouted) || values[extensionToBeRouted] == null) { |
|
| 184 | + return false; |
|
| 185 | + } |
|
| 186 | + string requestUrl = values[extensionToBeRouted].ToString().ToLower(); |
|
| 187 | + bool result = false; |
|
| 188 | + if (extensionToBeRouted == "js") { |
|
| 189 | + result = result || requestUrl.Contains("reportviewerfilters.js"); |
|
| 190 | + result = result || requestUrl.Contains("reportlist.js"); |
|
| 191 | + result = result || requestUrl.Contains("data-sources.js"); |
|
| 192 | + result = result || requestUrl.Contains("data-sources-preview.js"); |
|
| 193 | + result = result || requestUrl.Contains("charts.js"); |
|
| 194 | + result = result || requestUrl.Contains("datasources-search.js"); |
|
| 195 | + result = result || requestUrl.Contains("jquery-1.6.1.min.js"); |
|
| 196 | + result = result || requestUrl.Contains("jquery-ui-1.8.13.custom.min.js"); |
|
| 197 | + result = result || requestUrl.Contains("elrte.full.js"); |
|
| 198 | + result = result || requestUrl.Contains("elrte.ru.js"); |
|
| 199 | + result = result || requestUrl.Contains("fieldproperties.js"); |
|
| 200 | + result = result || requestUrl.Contains("shrinkable-grid.js"); |
|
| 201 | + } |
|
| 202 | + if (extensionToBeRouted == "css") { |
|
| 203 | + result = result || requestUrl.Contains("tabs.css"); |
|
| 204 | + result = result || requestUrl.Contains("report.css"); |
|
| 205 | + result = result || requestUrl.Contains("filters.css"); |
|
| 206 | + result = result || requestUrl.Contains("base.css"); |
|
| 207 | + result = result || requestUrl.Contains("report-list-modal.css"); |
|
| 208 | + result = result || requestUrl.Contains("data-sources.css"); |
|
| 209 | + result = result || requestUrl.Contains("charts.css"); |
|
| 210 | + result = result || requestUrl.Contains("jquery-ui-1.8.13.custom.css"); |
|
| 211 | + result = result || requestUrl.Contains("elrte.min.css"); |
|
| 212 | + result = result || requestUrl.Contains("elrte-inner.css"); |
|
| 213 | + result = result || requestUrl.Contains("shrinkable-grid.css"); |
|
| 214 | + } |
|
| 215 | + if (extensionToBeRouted == "png") { |
|
| 216 | + result = result || requestUrl.Contains("elrtebg.png"); |
|
| 217 | + result = result || requestUrl.Contains("elrte-toolbar.png"); |
|
| 218 | + } |
|
| 219 | + if (extensionToBeRouted == "gif") { |
|
| 220 | + result = result || requestUrl.Contains("elrte/images/pixel.gif"); |
|
| 221 | + } |
|
| 222 | + return result; |
|
| 223 | + } |
|
| 224 | + |
|
| 225 | + public IzendaResourceConstraint() { } |
|
| 226 | + |
|
| 227 | + public IzendaResourceConstraint(string extension) { |
|
| 228 | + extensionToBeRouted = extension.ToLower(); |
|
| 229 | + } |
|
| 230 | + } |
|
| 231 | + |
|
| 232 | + |
|
| 233 | + |
|
| 234 | +``` |
|
| 235 | + |
|
| 236 | + |
|
| 237 | + |
|
| 165 | 238 | |
| 166 | 239 | ###Step 10. Copy RegisterRoutes in MvcApplication class from Global.asax.cs and put it in MvcApplication class of the project’s Global.asax.cs |
| 167 | 240 |