internal void RegisterController() { var features = _extensionManager.LoadFeaturesAsync().Result; foreach (var feature in features) { _mvcControllerBuilderFactory.ForAll <IAppService>(AreaTemplate.GetAreaKey(new AreaOption() { AreaName = feature.FeatureInfo.Id, FunctionType = "api" }), feature.ExportedTypes.Where(IsController)).Build(); } }
public IList <RouteDescriptor> GetRoutes() { var runningShells = _shellHost.ListShellContextsAsync().Result .Where(sc => sc.Settings.State == TenantState.Running); var activeFeatures = runningShells.SelectMany(r => r.Blueprint.Descriptor.Features); return(activeFeatures.Select(f => { var areaName = AreaTemplate.GetAreaKey(new AreaOption() { AreaName = f.Id, FunctionType = "Views" }); return new RouteDescriptor { Name = areaName + "Route", AreaName = areaName, Priority = -10, RouteTemplate = areaName + "/{controller}/{action}/{id?}", Defaults = new { area = areaName, controller = "home", action = "index" } }; }).ToList()); }