public static void Reload(this RouteCollection routes, IModulesLoaded modulesLoaded, IPluginService pluginService, IPluginEngine pluginEngine)
 {
     routes.Clear();
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
     routes.LoadFromModules(modulesLoaded);
     routes.LoadFromPlugins(pluginService, pluginEngine);
     routes.LoadCatchAllFromModules(modulesLoaded);
 }
Ejemplo n.º 2
0
        public SiteService(ISiteRepository repository, IValidationService validator, IModulesLoaded modulesLoaded, AppSettingsHelper appSettings)
        {
            IEnumerable <IOxiteCacheModule> modules = modulesLoaded.GetModules <IOxiteCacheModule>();

            this.repository  = repository;
            this.validator   = validator;
            this.cache       = modules != null && modules.Count() > 0 ? modules.Reverse().First() : null;
            this.appSettings = appSettings;
        }
Ejemplo n.º 3
0
        public SiteService(ISiteRepository repository, IValidationService validator, IModulesLoaded modulesLoaded, OxiteConfigurationSection config)
        {
            IEnumerable <IOxiteCacheModule> modules = modulesLoaded.GetModules <IOxiteCacheModule>();

            this.repository = repository;
            this.validator  = validator;
            this.cache      = modules != null && modules.Count() > 0 ? modules.Reverse().First() : null;
            this.config     = config;
        }
Ejemplo n.º 4
0
        public static void LoadCatchAllFromModules(this RouteCollection routes, IModulesLoaded modulesLoaded)
        {
            IEnumerable <IOxiteModule> modules = modulesLoaded.GetModules().Reverse();

            foreach (IOxiteModule module in modules)
            {
                module.RegisterCatchAllRoutes(routes);
            }
        }
Ejemplo n.º 5
0
 public PluginService(IPluginRepository repository, IValidationService validator, IPluginEngine pluginEngine, IModulesLoaded modules, PluginTemplateRegistry pluginTemplateRegistry, PluginStyleRegistry pluginStyleRegistry, PluginScriptRegistry pluginScriptRegistry, OxiteContext context)
 {
     this.repository             = repository;
     this.validator              = validator;
     this.pluginEngine           = pluginEngine;
     this.cache                  = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.modules                = modules;
     this.pluginTemplateRegistry = pluginTemplateRegistry;
     this.pluginStyleRegistry    = pluginStyleRegistry;
     this.pluginScriptRegistry   = pluginScriptRegistry;
     this.context                = context;
 }
Ejemplo n.º 6
0
        public void Execute(IDictionary <string, object> state)
        {
            IModulesLoaded        modulesLoaded  = container.Resolve <IModulesLoaded>();
            RouteCollection       routes         = container.Resolve <RouteCollection>();
            IFilterRegistry       filterRegistry = container.Resolve <FilterRegistry>();
            ModelBinderDictionary modelBinders   = container.Resolve <ModelBinderDictionary>();

            filterRegistry.Clear();

            modelBinders.Clear();

            //todo: (nheskew) get plugin routes registered on load in the right order instead of just clearing the routes before module init
            routes.Clear();

            foreach (Module module in container.Resolve <IModuleService>().GetModules())
            {
                IOxiteModule moduleInstance = modulesLoaded.Load(module);

                if (moduleInstance != null)
                {
                    moduleInstance.RegisterWithContainer();
                    moduleInstance.Initialize();
                    moduleInstance.RegisterFilters(filterRegistry);
                    moduleInstance.RegisterModelBinders(modelBinders);

                    container.RegisterInstance(modulesLoaded);
                }
            }

            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.LoadFromModules(modulesLoaded);

            routes.LoadCatchAllFromModules(modulesLoaded);

            container.RegisterInstance(filterRegistry);

            ////TODO: (erikpo) Rename IOxiteModule to IOxiteBackgroundService
            //IModuleRegistry moduleRegistry = container.Resolve<ModuleRegistry>();

            //moduleRegistry.Clear();

            //container.Resolve<IRegisterModules>().RegisterModules(moduleRegistry);

            //foreach (IOxiteModule module in moduleRegistry.GetModules())
            //    module.Start();

            //container.RegisterInstance(moduleRegistry);
        }
Ejemplo n.º 7
0
        private void OxiteApplication_AcquireRequestState(object sender, EventArgs e)
        {
            MvcHandler handler = Context.Handler as MvcHandler;

            if (handler != null)
            {
                RequestContext requestContext = handler.RequestContext;

                if (requestContext != null)
                {
                    IUnityContainer container = ((IUnityContainer)Application["container"]);

                    if (container != null)
                    {
                        IModulesLoaded modules = container.Resolve <IModulesLoaded>();

                        if (modules != null)
                        {
                            IUser user = new UserAnonymous();

                            foreach (IOxiteAuthenticationModule module in modules.GetModules <IOxiteAuthenticationModule>().Reverse())
                            {
                                user = module.GetUser(requestContext);

                                if (user.IsAuthenticated)
                                {
                                    break;
                                }
                            }

                            Context.Items[typeof(Site).FullName]           = container.Resolve <ISiteService>().GetSite();
                            Context.Items[typeof(IUser).FullName]          = user;
                            Context.Items[typeof(RequestContext).FullName] = requestContext;
                        }
                    }
                }
            }
        }
Ejemplo n.º 8
0
        public void Execute(IDictionary <string, object> state)
        {
            OxiteConfigurationSection config         = container.Resolve <OxiteConfigurationSection>();
            IModulesLoaded            modulesLoaded  = this.container.Resolve <IModulesLoaded>();
            RouteCollection           routes         = this.container.Resolve <RouteCollection>();
            IFilterRegistry           filterRegistry = this.container.Resolve <FilterRegistry>();
            ModelBinderDictionary     modelBinders   = this.container.Resolve <ModelBinderDictionary>();

            filterRegistry.Clear();

            modelBinders.Clear();

            //todo: (nheskew) get plugin routes registered on load in the right order instead of just clearing the routes before module init
            routes.Clear();

            foreach (OxiteModuleConfigurationElement module in config.Modules)
            {
                IOxiteModule moduleInstance = modulesLoaded.Load(config, module);

                if (moduleInstance != null)
                {
                    moduleInstance.RegisterWithContainer();
                    moduleInstance.Initialize();
                    moduleInstance.RegisterFilters(filterRegistry);
                    moduleInstance.RegisterModelBinders(modelBinders);

                    this.container.RegisterInstance(modulesLoaded);
                }
            }

            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.LoadFromModules(modulesLoaded);

            routes.LoadCatchAllFromModules(modulesLoaded);

            container.RegisterInstance(filterRegistry);
        }
        public void Execute(IDictionary <string, object> state)
        {
            //TODO: (erikpo) Change the following to load up background services that are registered in Oxite.config instead of just looking in modules since they can be anywhere
            IModulesLoaded             modulesLoaded = container.Resolve <IModulesLoaded>();
            IBackgroundServiceRegistry backgroundServicesRegistry = this.container.Resolve <BackgroundServiceRegistry>();

            foreach (IOxiteModule module in modulesLoaded.GetModules())
            {
                IOxiteBackgroundService backgroundServices = module as IOxiteBackgroundService;

                if (backgroundServices != null)
                {
                    backgroundServices.RegisterBackgroundServices(backgroundServicesRegistry);
                }
            }

            container.RegisterInstance(backgroundServicesRegistry);

            foreach (IBackgroundServiceExecutor executor in backgroundServicesRegistry.GetBackgroundServices())
            {
                executor.Start();
            }
        }
Ejemplo n.º 10
0
 public AuthorizationFilter(IModulesLoaded modules)
 {
     this.modules = modules;
 }
Ejemplo n.º 11
0
 public UserActionFilter(IUnityContainer container, IUserService userService, IModulesLoaded modules)
 {
     this.container   = container;
     this.userService = userService;
     this.modules     = modules;
 }
Ejemplo n.º 12
0
 public SearchResultService(ISearchResultRepository repository, IPluginEngine pluginEngine, IModulesLoaded modules, OxiteContext context)
 {
     this.repository = repository;
     this.pluginEngine = pluginEngine;
     this.cache = modules.GetModules<IOxiteCacheModule>().Reverse().First();
     this.context = context;
 }
Ejemplo n.º 13
0
 public ScheduleItemService(IScheduleItemRepository repository, ITagService tagService, ICommentService commentService, IModulesLoaded modules, OxiteContext context)
 {
     this.repository     = repository;
     this.tagService     = tagService;
     this.commentService = commentService;
     cache        = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.context = context;
 }
Ejemplo n.º 14
0
 public BlogsCommentService(ICommentRepository commentRepository, IBlogsCommentRepository blogsCommentRepository, IPostRepository postRepository, ILanguageRepository languageRepository, ILocalizationRepository localizationRepository, IMessageOutboundRepository messageOutboundRepository, UrlHelper urlHelper, IValidationService validator, IPluginEngine pluginEngine, IModulesLoaded modules, OxiteContext context)
 {
     this.commentRepository         = commentRepository;
     this.blogsCommentRepository    = blogsCommentRepository;
     this.postRepository            = postRepository;
     this.languageRepository        = languageRepository;
     this.localizationRepository    = localizationRepository;
     this.messageOutboundRepository = messageOutboundRepository;
     this.urlHelper    = urlHelper;
     this.validator    = validator;
     this.pluginEngine = pluginEngine;
     this.cache        = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.context      = context;
 }
 public ConferencesCommentService(IConferencesCommentRepository conferencesCommentRepository, ICommentRepository commentRepository, IScheduleItemRepository scheduleItemRepository, IMessageOutboundRepository messageOutboundRepository, ILanguageRepository languageRepository, ILocalizationRepository localizationRepository, AbsolutePathHelper absolutePathHelper, IValidationService validator, IPluginEngine pluginEngine, IModulesLoaded modules, OxiteContext context)
 {
     this.conferencesCommentRepository = conferencesCommentRepository;
     this.commentRepository            = commentRepository;
     this.scheduleItemRepository       = scheduleItemRepository;
     this.messageOutboundRepository    = messageOutboundRepository;
     this.languageRepository           = languageRepository;
     this.localizationRepository       = localizationRepository;
     this.absolutePathHelper           = absolutePathHelper;
     this.validator    = validator;
     this.pluginEngine = pluginEngine;
     this.cache        = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.context      = context;
 }
Ejemplo n.º 16
0
 public PostService(IPostRepository repository, ITrackbackOutboundRepository trackbackOutboundRepository, UrlHelper urlHelper, IRegularExpressions expressions, IValidationService validator, IPluginEngine pluginEngine, ITagService tagService, ICommentService commentService, IModulesLoaded modules, OxiteContext context)
 {
     this.repository = repository;
     this.trackbackOutboundRepository = trackbackOutboundRepository;
     this.urlHelper      = urlHelper;
     this.expressions    = expressions;
     this.validator      = validator;
     this.pluginEngine   = pluginEngine;
     this.tagService     = tagService;
     this.commentService = commentService;
     this.cache          = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.context        = context;
 }
Ejemplo n.º 17
0
 public EventService(IEventRepository repository, IModulesLoaded modules, OxiteContext context)
 {
     this.repository = repository;
     this.cache      = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.context    = context;
 }
Ejemplo n.º 18
0
 public BlogService(IBlogRepository repository, IValidationService validator, IPluginEngine pluginEngine, IModulesLoaded modules, OxiteContext context)
 {
     this.repository   = repository;
     this.validator    = validator;
     this.pluginEngine = pluginEngine;
     this.cache        = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.context      = context;
 }
Ejemplo n.º 19
0
 public UserActionFilter(IModulesLoaded modules)
 {
     this.modules = modules;
 }