public UrlResolver(DocumentModel model, RouteService service) { _service = service; _routeLookup = new Dictionary<string, string>(); // Assemblies foreach (var assembly in model.Assemblies) { // Namespaces foreach (var @namespace in assembly.Namespaces) { if (!_routeLookup.ContainsKey(@namespace.Identity)) { // Namespaces are tricky since they might exist in multiple assemblies. _routeLookup.Add(@namespace.Identity, GetUrl(@namespace)); } // Types foreach (var type in @namespace.Types) { _routeLookup.Add(type.Identity, GetUrl(type)); // Constructors foreach (var method in type.Constructors) { _routeLookup.Add(method.Identity, GetUrl(method)); } // Methods foreach (var method in type.Methods) { _routeLookup.Add(method.Identity, GetUrl(method)); } // Operators foreach (var method in type.Operators) { _routeLookup.Add(method.Identity, GetUrl(method)); } // Properties foreach (var property in type.Properties) { _routeLookup.Add(property.Identity, GetUrl(property)); } } } } }
public ApiController(DocumentModel model, RouteService router) { _model = model; _router = router; }