コード例 #1
0
        public static IApplicationBuilder UseNetCoreCMS(this IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider, ILoggerFactory loggerFactory)
        {
            ResourcePathExpendar.RegisterStaticFiles(env, app, GlobalContext.Modules, GlobalContext.Themes);

            //app.UseThemeActivator(env, loggerFactory);
            //app.UseModuleActivator(env, _mvcBuilder, _services, loggerFactory);

            app.UseResponseCaching(); //Use this attrib for cache [ResponseCache(Duration = 20)]
            app.UseResponseCompression();
            app.UseSession();
            app.UseStaticFiles();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseBrowserLink();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            GlobalContext.App = app;

            if (SetupHelper.IsDbCreateComplete)
            {
                app.UseAuthentication();

                NccWebSiteWidgetService nccWebsiteWidgetServices = serviceProvider.GetService <NccWebSiteWidgetService>();
                NccWebSiteService       nccWebsiteService        = serviceProvider.GetService <NccWebSiteService>();
                NccMenuService          menuServic = serviceProvider.GetService <NccMenuService>();

                GlobalContext.WebSite        = nccWebsiteService.LoadAll().FirstOrDefault();
                ThemeHelper.WebSite          = GlobalContext.WebSite;
                GlobalContext.WebSiteWidgets = nccWebsiteWidgetServices.LoadAll();
                GlobalContext.Menus          = menuServic.LoadAllSiteMenus();
            }

            app.UseMaintenance();

            if (SetupHelper.IsAdminCreateComplete)
            {
                app.UseRequestLocalization(new RequestLocalizationOptions
                {
                    DefaultRequestCulture = new RequestCulture(SetupHelper.Language),
                    SupportedCultures     = SupportedCultures.Cultures,
                    SupportedUICultures   = SupportedCultures.Cultures
                });
            }

            return(app);
        }
コード例 #2
0
        public JsonResult CreateEditMenu(string model)
        {
            var query = Request.Query;
            var menu  = JsonConvert.DeserializeObject <NccMenuViewModel>(model);

            var r = new ApiResponse();

            if (menu != null)
            {
                if (menu.Name.Trim() == "")
                {
                    r.IsSuccess = false;
                    r.Message   = "Please enter a menu name.";
                }
                else if (menu.Position.Trim() == "")
                {
                    r.IsSuccess = false;
                    r.Message   = "Please select a menu position.";
                }
                else if (menu.Items.Count == 0)
                {
                    r.IsSuccess = false;
                    r.Message   = "You cannot save an empty menu.";
                }
                else
                {
                    if (menu.Id > 0)
                    {
                        if (_menuService.LoadAllByName(menu.Name).Count > 0 && _menuService.LoadAllByName(menu.Name).FirstOrDefault().Id != menu.Id)
                        {
                            r.IsSuccess = false;
                            r.Message   = "This menu name already used.";
                        }
                        else
                        {
                            NccMenu menuModel = CreateMenuObject(menu);
                            CreateMenuItems(menuModel, menu);
                            _menuService.Update(menuModel);

                            r.IsSuccess = true;
                            r.Message   = "Menu updated successfully.";
                        }
                    }
                    else
                    {
                        if (_menuService.LoadAllByName(menu.Name).Count > 0)
                        {
                            r.IsSuccess = false;
                            r.Message   = "This menu name already exists.";
                        }
                        else
                        {
                            NccMenu menuModel = CreateMenuObject(menu);
                            CreateMenuItems(menuModel, menu);
                            _menuService.Save(menuModel);

                            r.IsSuccess = true;
                            r.Message   = "Menu added successfully.";
                        }
                    }
                }
            }

            GlobalConfig.Menus = _menuService.LoadAllSiteMenus();
            ViewBag.MenuList   = _menuService.LoadAll();
            //ApiResponse rsp = new ApiResponse();
            //rsp.IsSuccess = false;
            //rsp.Message = "Error occoured. Please fill up all field correctly.";
            //return Json(rsp);
            return(Json(r));
        }
コード例 #3
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();

            _themeManager = new ThemeManager(loggerFactory);
            var themeFolder = Path.Combine(env.ContentRootPath, NccInfo.ThemeFolder);

            GlobalConfig.Themes = _themeManager.ScanThemeDirectory(themeFolder);

            ResourcePathExpendar.RegisterStaticFiles(env, app, GlobalConfig.Modules, GlobalConfig.Themes);

            //app.UseThemeActivator(env, loggerFactory);
            //app.UseModuleActivator(env, _mvcBuilder, _services, loggerFactory);

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
                //app.UseBrowserLink();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();
            GlobalConfig.App = app;

            if (SetupHelper.IsDbCreateComplete)
            {
                app.UseIdentity();

                NccWebSiteWidgetService nccWebsiteWidgetServices = _serviceProvider.GetService <NccWebSiteWidgetService>();
                NccWebSiteService       nccWebsiteService        = _serviceProvider.GetService <NccWebSiteService>();
                NccMenuService          menuServic = _serviceProvider.GetService <NccMenuService>();

                GlobalConfig.WebSite        = nccWebsiteService.LoadAll().FirstOrDefault();
                GlobalConfig.WebSiteWidgets = nccWebsiteWidgetServices.LoadAll();
                GlobalConfig.Menus          = menuServic.LoadAllSiteMenus();
            }

            app.UseSession();
            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
                routes.MapRoute(
                    name: "cmsPage",
                    template: "{slug}",
                    defaults: new { controller = "CmsPage", action = "Index" });
                routes.MapRoute(
                    name: "blogPost",
                    template: "Post/{slug}",
                    defaults: new { controller = "Post", action = "Index" });
                routes.MapRoute(
                    name: "blogCategory",
                    template: "{slug}",
                    defaults: new { controller = "Category", action = "Index" });
            });
        }