Example #1
0
 public IActionResult AddMenuItem(MenuItem_Language menuItem_language)
 {
     using (var db = CMSContextFactory.Create(Settings.MySqlConnectionString))
     {
         db.Add(menuItem_language);
         db.SaveChanges();
     }
     return(Redirect("/backend/menu-items"));
 }
Example #2
0
        public IActionResult CreateMenuItem(string Label, MenuItem menuItem, int roleId)
        {
            using (var db = CMSContextFactory.Create(Settings.MySqlConnectionString))
            {
                //TODO: bind checkbox with menuItem.IsIndexPage & menuItem.IsMenu
                menuItem.IsMenu      = this.Request.Form["IsMenu"].ToString().Equals("") ? false : true;
                menuItem.IsIndexPage = this.Request.Form["IsIndexPage"].ToString().Equals("") ? false : true;

                if (menuItem.IsIndexPage)
                //user choose to set as index page
                {
                    //prev item that was set as an index page
                    var _menuItem = db.MenuItems.SingleOrDefault(item => item.IsIndexPage);
                    _menuItem.IsIndexPage     = false;
                    db.Entry(_menuItem).State = EntityState.Modified;
                    db.SaveChanges();
                }

                if (!menuItem.IsMenu)
                {
                    if (menuItem.MenuItemTypeId == 1)
                    { // Single Article
                        //TODO: use FormCollection
                        menuItem.Params = "{ItemId : " + this.Request.Form["ItemId"].ToString() + "}";
                    }
                    else if (menuItem.MenuItemTypeId == 2)
                    {
                        //Category List
                        //TODO: use FormCollection
                        menuItem.Params = "{CategoryId : " + this.Request.Form["CategoryId"].ToString() + "}";
                    }
                }

                menuItem.Role = db.Roles.SingleOrDefault(role => role.Id == roleId);

                db.Add(menuItem);

                MenuItem_Language menuItem_langaue = new MenuItem_Language()
                {
                    LanguageId = 1, MenuItem = menuItem, Label = Label
                };
                db.Add(menuItem_langaue);

                db.SaveChanges();
            }
            return(Redirect("/backend/menu-items"));
        }
Example #3
0
        public IActionResult EditItem(MenuItem menu_item, FormCollection form, int menuItem_languageId, int LangaugeId, string Label)
        {
            using (var db = CMSContextFactory.Create(Settings.MySqlConnectionString))
            {
                menu_item.IsMenu      = this.Request.Form["IsMenu"].ToString().Equals("") ? false : true;
                menu_item.IsIndexPage = this.Request.Form["IsIndexPage"].ToString().Equals("") ? false : true;

                if (menu_item.IsIndexPage)
                //user choose to set as index page
                {
                    //prev item that was set as an index page
                    var _menuItem = db.MenuItems.SingleOrDefault(item => item.IsIndexPage);
                    _menuItem.IsIndexPage     = false;
                    db.Entry(_menuItem).State = EntityState.Modified;
                    db.SaveChanges();
                }

                if (!menu_item.IsMenu)
                {
                    if (menu_item.MenuItemTypeId == 1)
                    { // Single Article
                      //TODO: use FormCollection
                        menu_item.Params = "{ItemId : " + this.Request.Form["ItemId"].ToString() + "}";
                    }
                    else if (menu_item.MenuItemTypeId == 2)
                    {
                        //Category List
                        //TODO: use FormCollection
                        menu_item.Params = "{CategoryId : " + this.Request.Form["CategoryId"].ToString() + "}";
                    }
                }

                MenuItem_Language mil = new MenuItem_Language()
                {
                    Id = menuItem_languageId, LanguageId = LangaugeId, Label = Label, MenuItem = menu_item
                };

                db.Entry(menu_item).State = EntityState.Modified;
                db.SaveChanges();

                db.Entry(mil).State = EntityState.Modified;
                db.SaveChanges();
                return(Redirect("/backend/menu-items"));
            }
        }
Example #4
0
        public void Bootstrap(string connectionString)
        {
            using (var db = CMSContextFactory.Create(connectionString))
            {
                //init extendsion
                var extension = db.Extensions.SingleOrDefault(ext => ext.Namespace == "Components.SingleArticle.SingleArticleComponentController");
                if (extension == null)
                {
                    extension = new Extension()
                    {
                        Id        = 1,
                        Namespace = "Components.SingleArticle.SingleArticleComponentController"
                    };
                    db.Add(extension);
                }


                //init 'Single Article' menu type
                var menuItemType = db.MenuItemTypes.SingleOrDefault(type => type.Id == 1);
                if (menuItemType == null)
                {
                    menuItemType = new MenuItemType()
                    {
                        Id          = 1,
                        Name        = "Single Article",
                        ExtensionId = 1
                    };
                    db.Add(menuItemType);
                }

                //init menu-item
                var menuItem = db.MenuItems.SingleOrDefault(item => item.Id == 1);
                if (menuItem == null)
                {
                    menuItem = new MenuItem()
                    {
                        Id             = 1,
                        Link           = "home",
                        MenuItemTypeId = 1,
                        Params         = "{ItemId : 1}", // item will be initialized next
                        IsMenu         = false,
                        ChildMenuId    = 1,              //TODO: this should be zero
                        MenuId         = 1,
                        IsIndexPage    = true,
                        Role           = db.Roles.SingleOrDefault(role => role.Name.Equals("Public"))
                    };
                    db.Add(menuItem);

                    MenuItem_Language menuItem_laguage = new MenuItem_Language()
                    {
                        Id         = 1,
                        LanguageId = 1,
                        Label      = "Home",
                        MenuItemId = 1
                    };
                    db.Add(menuItem_laguage);

                    menuItem_laguage = new MenuItem_Language()
                    {
                        Id         = 2,
                        LanguageId = 2,
                        Label      = "الرئيسية",
                        MenuItemId = 1
                    };
                    db.Add(menuItem_laguage);
                }

                //init an item
                var _item = db.Items.SingleOrDefault(item => item.Id == 1);
                if (_item == null)
                {
                    _item = new Item()
                    {
                        Id         = 1,
                        CategoryId = 1,
                        Role       = db.Roles.SingleOrDefault(role => role.Name.Equals("Public"))
                    };
                    db.Add(_item);

                    Item_Language _item_language = new Item_Language()
                    {
                        ItemId       = 1,
                        LanguageId   = 1,
                        Title        = "Welcome To LightCMS",
                        ShortContent = "Welcome to LightCMS",
                        FullContent  = @"Thank you for using LightCMS, you can access the <strong>Admin Panel</strong> by navigating to <strong>/admin</admin><br>.
                                       This is a sample page which was generated automatically by LightCMS."
                    };
                    db.Add(_item_language);
                    _item_language = new Item_Language()
                    {
                        ItemId       = 1,
                        LanguageId   = 2,
                        Title        = "LightCMS أهلاً بك في ",
                        ShortContent = "LightCMS أهلاً بك في",
                        FullContent  = @"نشكر ثقتك بنا.. يمكنك إضافة المزيد  باستخدام admin"
                    };
                    db.Add(_item_language);
                }

                db.SaveChanges();
            }
        }