Example #1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!CustomerSession.CurrentCustomer.RegistredUser)
     {
         var cacheName = CacheNames.GetBottomMenuCacheObjectName();
         if (CacheManager.Contains(cacheName))
         {
             ltbottomMenu.Text = CacheManager.Get <string>(cacheName);
         }
         else
         {
             ltbottomMenu.Text = GetHtml();
             CacheManager.Insert <string>(cacheName, ltbottomMenu.Text);
         }
     }
     else
     {
         var cacheName = CacheNames.GetBottomMenuAuthCacheObjectName();
         if (CacheManager.Contains(cacheName))
         {
             ltbottomMenu.Text = CacheManager.Get <string>(cacheName);
         }
         else
         {
             ltbottomMenu.Text = GetHtml();
             CacheManager.Insert <string>(cacheName, ltbottomMenu.Text);
         }
     }
 }
Example #2
0
    private int CreateMenuItem()
    {
        ValidateData();

        var mItem = new AdvMenuItem
        {
            MenuItemName     = txtName.Text,
            MenuItemParentID = string.IsNullOrEmpty(hParent.Value) ? 0 : Convert.ToInt32(hParent.Value),
            MenuItemUrlPath  = txtUrl.Text,
            Enabled          = ckbEnabled.Checked,
            Blank            = ckbBlank.Checked,
            SortOrder        = Convert.ToInt32(txtSortOrder.Text),
            MenuItemUrlType  = (EMenuItemUrlType)Convert.ToInt32(rblLinkType.SelectedValue),
            ShowMode         = (EMenuItemShowMode)Convert.ToInt32(ddlShowMode.SelectedValue)
        };

        if (_type == MenuService.EMenuType.Top)
        {
            CacheManager.RemoveByPattern(CacheNames.GetMainMenuCacheObjectName());
            CacheManager.RemoveByPattern(CacheNames.GetMainMenuAuthCacheObjectName());
        }
        else if (_type == MenuService.EMenuType.Bottom)
        {
            var cacheName = CacheNames.GetBottomMenuCacheObjectName();
            if (CacheManager.Contains(cacheName))
            {
                CacheManager.Remove(cacheName);
            }

            var cacheAuthName = CacheNames.GetBottomMenuAuthCacheObjectName();
            if (CacheManager.Contains(cacheAuthName))
            {
                CacheManager.Remove(cacheAuthName);
            }
        }
        mItem.MenuItemID = MenuService.AddMenuItem(mItem, _type);
        _menuItemId      = mItem.MenuItemID;
        if (IconFileUpload.HasFile)
        {
            using (IconFileUpload.FileContent)
            {
                var tempName = PhotoService.AddPhoto(new Photo(0, _menuItemId, PhotoType.MenuIcon)
                {
                    OriginName = IconFileUpload.FileName
                });
                if (!string.IsNullOrWhiteSpace(tempName))
                {
                    IconFileUpload.SaveAs(FoldersHelper.GetPathAbsolut(FolderType.MenuIcons, tempName));
                }
            }
        }
        else
        {
            mItem.MenuItemIcon = string.Empty;
        }

        MenuService.UpdateMenuItem(mItem, _type);

        return(mItem.MenuItemID);
    }
Example #3
0
        /// <summary>
        /// update category
        /// </summary>
        /// <param name="category"></param>
        /// <param name="updateCache">refresh cache</param>
        /// <returns></returns>
        public static bool UpdateCategory(Category category, bool updateCache)
        {
            SQLDataAccess.ExecuteNonQuery("[Catalog].[sp_UpdateCategory]", CommandType.StoredProcedure,
                                          new SqlParameter("@CategoryID", category.CategoryId),
                                          new SqlParameter("@Name", category.Name),
                                          new SqlParameter("@ParentCategory", category.ParentCategoryId),
                                          new SqlParameter("@Description", category.Description),
                                          new SqlParameter("@BriefDescription", category.BriefDescription),
                                          new SqlParameter("@Enabled", category.Enabled),
                                          new SqlParameter("@DisplayStyle", category.DisplayStyle),
                                          new SqlParameter("@displayChildProducts", category.DisplayChildProducts),
                                          new SqlParameter("@DisplayBrandsInMenu", category.DisplayBrandsInMenu),
                                          new SqlParameter("@DisplaySubCategoriesInMenu", category.DisplaySubCategoriesInMenu),
                                          new SqlParameter("@SortOrder", category.SortOrder),
                                          //new SqlParameter("@Picture", !string.IsNullOrEmpty(category.Picture) ? category.Picture : ((object)DBNull.Value)),
                                          //new SqlParameter("@MiniPicture", !string.IsNullOrEmpty(category.MiniPicture) ? category.MiniPicture : ((object)DBNull.Value)),
                                          new SqlParameter("@UrlPath", category.UrlPath),
                                          new SqlParameter("@Sorting", category.Sorting)
                                          );
            if (category.Meta != null)
            {
                if (category.Meta.Title.IsNullOrEmpty() && category.Meta.MetaKeywords.IsNullOrEmpty() && category.Meta.MetaDescription.IsNullOrEmpty() && category.Meta.H1.IsNullOrEmpty())
                {
                    if (MetaInfoService.IsMetaExist(category.CategoryId, MetaType.Category))
                    {
                        MetaInfoService.DeleteMetaInfo(category.CategoryId, MetaType.Category);
                    }
                }
                else
                {
                    MetaInfoService.SetMeta(category.Meta);
                }
            }

            SetCategoryHierarchicallyEnabled(category.CategoryId);

            // Work with cache
            if (updateCache)
            {
                CacheManager.Remove(CacheNames.GetCategoryCacheObjectName(category.CategoryId));
                CacheManager.RemoveByPattern("MenuCatalog");

                if (category.ParentCategoryId == 0)
                {
                    var cacheName = CacheNames.GetBottomMenuCacheObjectName();
                    if (CacheManager.Contains(cacheName))
                    {
                        CacheManager.Remove(cacheName);
                    }
                }
            }
            return(true);
        }
Example #4
0
        /// <summary>
        /// delete category and photo of category
        /// </summary>
        /// <param name="categoryId"></param>
        public static void DeleteCategoryAndPhotos(int categoryId)
        {
            foreach (var id in DeleteCategory(categoryId, true))
            {
                PhotoService.DeletePhotos(id, PhotoType.CategoryBig);
                PhotoService.DeletePhotos(id, PhotoType.CategorySmall);
            }

            var cacheName = CacheNames.GetBottomMenuCacheObjectName();

            if (CacheManager.Contains(cacheName))
            {
                CacheManager.Remove(cacheName);
            }
        }
Example #5
0
        public static bool UpdateCategorySortOrder(string name, int sortOrder, int cateoryId)
        {
            SQLDataAccess.ExecuteNonQuery(
                "Update Catalog.Category set name=@name, SortOrder=@SortOrder where CategoryID = @CategoryID",
                CommandType.Text,
                new SqlParameter("@name", name),
                new SqlParameter("@SortOrder", sortOrder),
                new SqlParameter("@CategoryID", cateoryId));

            CacheManager.RemoveByPattern("MenuCatalog");

            var cacheName = CacheNames.GetBottomMenuCacheObjectName();

            if (CacheManager.Contains(cacheName))
            {
                CacheManager.Remove(cacheName);
            }

            return(true);
        }
Example #6
0
        /// <summary>
        /// add category
        /// </summary>
        /// <param name="cat"></param>
        /// <param name="updateCache"></param>
        /// <param name="db"></param>
        /// <returns></returns>
        public static int AddCategory(Category cat, bool updateCache, SQLDataAccess db)
        {
            db.cmd.CommandText = "[Catalog].[sp_AddCategory]";
            db.cmd.CommandType = CommandType.StoredProcedure;

            db.cmd.Parameters.Clear();
            db.cmd.Parameters.AddWithValue("@Description", cat.Description ?? (object)DBNull.Value);
            db.cmd.Parameters.AddWithValue("@BriefDescription", cat.BriefDescription ?? (object)DBNull.Value);
            db.cmd.Parameters.AddWithValue("@Name", cat.Name);
            db.cmd.Parameters.AddWithValue("@ParentCategory", cat.ParentCategoryId);

            db.cmd.Parameters.AddWithValue("@SortOrder", cat.SortOrder);
            db.cmd.Parameters.AddWithValue("@Enabled", cat.Enabled);
            db.cmd.Parameters.AddWithValue("@DisplayStyle", cat.DisplayStyle ?? String.Empty);
            db.cmd.Parameters.AddWithValue("@DisplayChildProducts", cat.DisplayChildProducts);
            db.cmd.Parameters.AddWithValue("@DisplayBrandsInMenu", cat.DisplayBrandsInMenu);
            db.cmd.Parameters.AddWithValue("@DisplaySubCategoriesInMenu", cat.DisplaySubCategoriesInMenu);
            db.cmd.Parameters.AddWithValue("@UrlPath", cat.UrlPath);
            db.cmd.Parameters.AddWithValue("@Sorting", cat.Sorting);

            db.cnOpen();
            var id = SQLDataHelper.GetInt(db.cmd.ExecuteScalar());

            db.cnClose();
            if (updateCache)
            {
                CacheManager.Remove(CacheNames.GetCategoryCacheObjectName(cat.ParentCategoryId));
                CacheManager.RemoveByPattern("MenuCatalog");

                if (cat.ParentCategoryId == 0)
                {
                    var cacheName = CacheNames.GetBottomMenuCacheObjectName();
                    if (CacheManager.Contains(cacheName))
                    {
                        CacheManager.Remove(cacheName);
                    }
                }
            }
            return(id);
        }
Example #7
0
    //public string GetPicLink(int mItemId)
    //{
    //    string url = String.Empty;

    //    UrlService.GetAdminLink()
    //    return paramID != 0 && !String.IsNullOrEmpty(url = AdvantShop.Core.UrlRewriter.RouteService1.GetUrlAdminStringByParamID(paramID))
    //               ? String.Format("<a href=\"{0}\" class=\"editbtn showtooltip\" title=\"{1}\"><img src=\"admin/images/list.gif\" style=\"border: none;\"/></a>", url, Resource.Admin_MasterPageAdminMenu_EditPage)
    //               : "&nbsp;&nbsp;&nbsp;";
    //}

    protected void hlDeleteCategory_Click(object sender, EventArgs e)
    {
        foreach (var id in MenuService.GetAllChildIdByParent(_menuId, _menuType))
        {
            MenuService.DeleteMenuItemById(id, _menuType);
        }

        if (_menuType == MenuService.EMenuType.Top)
        {
            CacheManager.RemoveByPattern(CacheNames.GetMainMenuCacheObjectName());
            Response.Redirect("Menu.aspx?type=Top");
        }
        else if (_menuType == MenuService.EMenuType.Bottom)
        {
            var cacheName = CacheNames.GetBottomMenuCacheObjectName();
            if (CacheManager.Contains(cacheName))
            {
                CacheManager.Remove(cacheName);
            }
            Response.Redirect("Menu.aspx?type=Bottom");
        }
    }
Example #8
0
 protected void lbDeleteSelected_Click(object sender, EventArgs e)
 {
     if ((_selectionFilter != null) && (_selectionFilter.Values != null))
     {
         if (!_inverseSelection)
         {
             foreach (var id in _selectionFilter.Values)
             {
                 foreach (var item in MenuService.GetAllChildIdByParent(Convert.ToInt32(id), _menuType))
                 {
                     MenuService.DeleteMenuItemById(item, _menuType);
                 }
             }
         }
         else
         {
             var itemsIds = _paging.ItemsIds <int>("MenuItemID as ID");
             foreach (var mItemId in itemsIds.Where(mId => !_selectionFilter.Values.Contains(mId.ToString())))
             {
                 foreach (var id in MenuService.GetAllChildIdByParent(mItemId, _menuType))
                 {
                     MenuService.DeleteMenuItemById(id, _menuType);
                 }
             }
         }
         if (_menuType == MenuService.EMenuType.Top)
         {
             CacheManager.RemoveByPattern(CacheNames.GetMainMenuCacheObjectName());
         }
         if (_menuType == MenuService.EMenuType.Bottom)
         {
             var cacheName = CacheNames.GetBottomMenuCacheObjectName();
             if (CacheManager.Contains(cacheName))
             {
                 CacheManager.Remove(cacheName);
             }
         }
     }
 }
Example #9
0
    protected void grid_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "DeleteItem")
        {
            if (_menuType == MenuService.EMenuType.Top)
            {
                CacheManager.RemoveByPattern(CacheNames.GetMainMenuCacheObjectName());
            }
            else if (_menuType == MenuService.EMenuType.Bottom)
            {
                var cacheName = CacheNames.GetBottomMenuCacheObjectName();
                if (CacheManager.Contains(cacheName))
                {
                    CacheManager.Remove(cacheName);
                }
            }

            foreach (var id in MenuService.GetAllChildIdByParent(Convert.ToInt32(e.CommandArgument), _menuType))
            {
                MenuService.DeleteMenuItemById(id, _menuType);
            }
        }
    }
Example #10
0
        /// <summary>
        /// delete category by categoryId
        /// </summary>
        /// <param name="categoryId"></param>
        /// <param name="updateCache">refresh cache</param>
        /// <returns>return list of file namme image</returns>
        private static IEnumerable <int> DeleteCategory(int categoryId, bool updateCache)
        {
            if (categoryId == 0)
            {
                throw new Exception("deleting Root catregory");
            }

            if (updateCache)
            {
                CacheManager.Remove(CacheNames.GetCategoryCacheObjectName(categoryId));
                CacheManager.RemoveByPattern("MenuCatalog");

                var cacheName = CacheNames.GetBottomMenuCacheObjectName();
                if (CacheManager.Contains(cacheName))
                {
                    CacheManager.Remove(cacheName);
                }
            }

            return(SQLDataAccess.ExecuteReadIEnumerable("[Catalog].[sp_DeleteCategoryWithSubCategoies]",
                                                        CommandType.StoredProcedure,
                                                        reader => SQLDataHelper.GetInt(reader, "CategoryID"),
                                                        new SqlParameter("@id", categoryId)));
        }
Example #11
0
    protected void treeBottom_TreeNodeCommand(object sender, CommandEventArgs e)
    {
        try
        {
            if (e.CommandName.StartsWith("DeleteMenuItem"))
            {
                int menuId = 0;
                if (!String.IsNullOrEmpty(treeBottom.SelectedValue))
                {
                    menuId = Convert.ToInt32(treeBottom.SelectedValue);
                }
                if (e.CommandName.Contains("#"))
                {
                    menuId = Convert.ToInt32(e.CommandName.Substring(e.CommandName.IndexOf("#") + 1));
                }

                if (menuId != 0)
                {
                    foreach (var id in MenuService.GetAllChildIdByParent(menuId, MenuService.EMenuType.Bottom))
                    {
                        MenuService.DeleteMenuItemById(id, MenuService.EMenuType.Bottom);
                    }

                    var cacheName = CacheNames.GetBottomMenuCacheObjectName();
                    if (CacheManager.Contains(cacheName))
                    {
                        CacheManager.Remove(cacheName);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            Debug.LogError(ex);
        }
    }
Example #12
0
        private void SaveMenuItem()
        {
            if (_mode == eMenuMode.Err)
            {
                return;
            }
            if (!ValidateData())
            {
                return;
            }
            var url = string.Empty;

            if (txtUrl.Text.Contains("www."))
            {
                url = txtUrl.Text.Contains("http://") || txtUrl.Text.Contains("https://") ? txtUrl.Text : "http://" + txtUrl.Text;
            }
            else
            {
                url = txtUrl.Text;
            }

            lblError.Text = String.Empty;
            var mItem = new AdvMenuItem
            {
                MenuItemID       = _menuItemId,
                MenuItemName     = txtName.Text,
                MenuItemParentID = string.IsNullOrEmpty(hParent.Value) ? 0 : Convert.ToInt32(hParent.Value),
                MenuItemUrlPath  = url,
                SortOrder        = Convert.ToInt32(txtSortOrder.Text),
                Blank            = ckbBlank.Checked,
                Enabled          = ckbEnabled.Checked,
                MenuItemUrlType  = (EMenuItemUrlType)Convert.ToInt32(rblLinkType.SelectedValue),
                ShowMode         = (EMenuItemShowMode)Convert.ToInt32(ddlShowMode.SelectedValue),
                NoFollow         = ckbNofollow.Checked
            };

            if (IconFileUpload.HasFile)
            {
                PhotoService.DeletePhotos(_menuItemId, PhotoType.MenuIcon);
                using (IconFileUpload.FileContent)
                {
                    var tempName = PhotoService.AddPhoto(new Photo(0, _menuItemId, PhotoType.MenuIcon)
                    {
                        OriginName = IconFileUpload.FileName
                    });
                    if (!string.IsNullOrWhiteSpace(tempName))
                    {
                        IconFileUpload.SaveAs(FoldersHelper.GetPathAbsolut(FolderType.MenuIcons, tempName));
                    }
                    mItem.MenuItemIcon = tempName;
                }
            }
            else
            {
                mItem.MenuItemIcon = pnlIcon.Visible ? imgIcon.ToolTip : null;
            }

            MenuService.UpdateMenuItem(mItem, _type);
            if (_type == MenuService.EMenuType.Top)
            {
                CacheManager.RemoveByPattern(CacheNames.GetMainMenuCacheObjectName());
                CacheManager.RemoveByPattern(CacheNames.GetMainMenuAuthCacheObjectName());
            }
            else if (_type == MenuService.EMenuType.Bottom)
            {
                var cacheName = CacheNames.GetBottomMenuCacheObjectName();
                if (CacheManager.Contains(cacheName))
                {
                    CacheManager.Remove(cacheName);
                }

                var cacheAuthName = CacheNames.GetBottomMenuAuthCacheObjectName();
                if (CacheManager.Contains(cacheAuthName))
                {
                    CacheManager.Remove(cacheAuthName);
                }
            }
        }
Example #13
0
    protected void Page_PreRender(object sender, EventArgs e)
    {
        if (!IsPostBack || _needReloadTree)
        {
            tree.Nodes.Clear();
            treeBottom.Nodes.Clear();

            tree.Nodes.Add(new ButtonTreeNodeMenu
            {
                NavigateUrl = "Menu.aspx?type=Top",
                Text        = Resource.Admin_MenuManager_TopMenu,
                Value       = "0",
                TreeView    = tree,
                MenuType    = MenuService.EMenuType.Top
            });
            treeBottom.Nodes.Add(new ButtonTreeNodeMenu
            {
                NavigateUrl = "Menu.aspx?type=Bottom",
                Text        = Resource.Admin_MenuManager_BottomMenu,
                Value       = @"0",
                TreeView    = treeBottom,
                MenuType    = MenuService.EMenuType.Bottom
            });

            LoadRootMenuItems(tree.Nodes[0].ChildNodes, MenuService.EMenuType.Top);
            LoadRootMenuItems(treeBottom.Nodes[0].ChildNodes, MenuService.EMenuType.Bottom);

            if (_menuId == 0)
            {
                if (_menuType == MenuService.EMenuType.Top && tree.Nodes.Count > 0)
                {
                    tree.Nodes[0].Select();
                }
                else if (_menuType == MenuService.EMenuType.Bottom && treeBottom.Nodes.Count > 0)
                {
                    treeBottom.Nodes[0].Select();
                }
            }
            else
            {
                TreeNodeCollection nodes;
                switch (_menuType)
                {
                case MenuService.EMenuType.Top:
                    nodes = tree.Nodes[0].ChildNodes;
                    break;

                case MenuService.EMenuType.Bottom:
                    nodes = treeBottom.Nodes[0].ChildNodes;
                    break;

                default:
                    nodes = new TreeNodeCollection();
                    break;
                }

                bool isFirstNode = true;
                foreach (var parentMenuItem in MenuService.GetParentMenuItems(_menuId, _menuType))
                {
                    var tn =
                        (from TreeNode n in nodes where n.Value == parentMenuItem.ToString() select n).
                        SingleOrDefault();

                    if (tn != null)
                    {
                        tn.Selected = isFirstNode;
                        isFirstNode = false;
                        tn.Expand();
                        nodes = tn.ChildNodes;
                    }
                }
            }
        }

        if (grid.UpdatedRow != null)
        {
            if (_menuType == MenuService.EMenuType.Top)
            {
                CacheManager.RemoveByPattern(CacheNames.GetMainMenuCacheObjectName());
            }
            else if (_menuType == MenuService.EMenuType.Bottom)
            {
                var cacheName = CacheNames.GetBottomMenuCacheObjectName();
                if (CacheManager.Contains(cacheName))
                {
                    CacheManager.Remove(cacheName);
                }
            }

            var mItem = MenuService.GetMenuItemById(Convert.ToInt32(grid.UpdatedRow["ID"]), _menuType);
            mItem.MenuItemName = grid.UpdatedRow["MenuItemName"];
            mItem.Blank        = Convert.ToBoolean(grid.UpdatedRow["Blank"]);
            mItem.SortOrder    = Convert.ToInt32(grid.UpdatedRow["SortOrder"]);
            mItem.Enabled      = Convert.ToBoolean(grid.UpdatedRow["Enabled"]);
            MenuService.UpdateMenuItem(mItem, _menuType);
        }

        DataTable data = _paging.PageItems;

        while (data.Rows.Count < 1 && _paging.CurrentPageIndex > 1)
        {
            _paging.CurrentPageIndex--;
            data = _paging.PageItems;
        }

        var clmn = new DataColumn("IsSelected", typeof(bool))
        {
            DefaultValue = _inverseSelection
        };

        data.Columns.Add(clmn);
        if ((_selectionFilter != null) && (_selectionFilter.Values != null))
        {
            for (int i = 0; i <= data.Rows.Count - 1; i++)
            {
                int intIndex = i;
                if (Array.Exists(_selectionFilter.Values, c => c == (data.Rows[intIndex]["ID"]).ToString()))
                {
                    data.Rows[i]["IsSelected"] = !_inverseSelection;
                }
            }
        }

        if (data.Rows.Count < 1)
        {
            goToPage.Visible = false;
        }

        grid.DataSource = data;
        grid.DataBind();

        pageNumberer.PageCount = _paging.PageCount;
        lblFound.Text          = _paging.TotalRowsCount.ToString();
    }