Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.HtmlControls;
- using Crafted.Helpers;
- using Crafted.ECommerce.BO;
- using Crafted.ECommerce.CL;
- using Crafted.ECommerce.DAL;
- namespace Crafted.Bonlays.UserControls
- {
- public partial class SideMenu : System.Web.UI.UserControl
- {
- private bool useImage = false;
- protected void Page_Load(object sender, EventArgs e)
- {
- }
- public bool GroupLink
- {
- get
- {
- return !litGroupName.Visible;
- }
- set
- {
- litGroupName.Visible = !value;
- lnkGroupName.Visible = value;
- }
- }
- public bool UseImage
- {
- get { return this.useImage; }
- set { this.useImage = value; }
- }
- public CategoryGroup Group
- {
- set
- {
- lnkGroupName.NavigateUrl = UrlHelper.Url(UrlHelper.PageType.CategoryGroup, value, false);
- lnkGroupName.Text = value.Name;
- litGroupName.Text = String.Format("<span>{0}</span>", value.Name);
- rptCategories.DataSource = value.Categories;
- rptCategories.DataBind();
- pnlMenu.Visible = rptCategories.Items.Count != 0;
- }
- }
- public void RenderAllGroups(CategoryGroupCollection cgl)
- {
- string cat = "Categories";
- this.lnkGroupName.NavigateUrl = "/";
- this.lnkGroupName.Text = cat;
- this.litGroupName.Text = string.Format("<span>{0}</span>", cat);
- this.rptGroups.DataSource = cgl;
- this.rptGroups.DataBind();
- this.pnlMenu.Visible = true;
- this.pnlMenuSingle.Visible = false;
- this.pnlMenuMulti.Visible = true;
- }
- public void rptCategories_OnItemDataBound(object sender, RepeaterItemEventArgs e)
- {
- if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
- {
- Category category = (Category)e.Item.DataItem;
- HyperLink lnkCategory = (HyperLink)e.Item.FindControl("lnkCategory");
- Literal litCategory = (Literal)e.Item.FindControl("litCategory");
- HtmlGenericControl liCategory = (HtmlGenericControl)e.Item.FindControl("liCategory");
- HtmlGenericControl liSubCategory = (HtmlGenericControl)e.Item.FindControl("liSubCategory");
- Image imgMan = (Image)e.Item.FindControl("imgMan");
- PlaceHolder pnlSubCategories = (PlaceHolder)liSubCategory.FindControl("pnlSubCategories");
- //PlaceHolder pnlSubCategories = (PlaceHolder)e.Item.FindControl("pnlSubCategories");
- Repeater subCategories = (Repeater)e.Item.FindControl("rptSubCategories");
- //If the category is a sub category
- if (category.ParentCategoryId != 0)
- {
- foreach (var topLevelCategory in CategoriesCL.GetTopLevelCategories())
- {
- if (category.ParentCategoryId == topLevelCategory.Id) //Match parent
- {
- pnlSubCategories.Visible = true;
- CategoryCollection subCategoriesCollection = CategoriesDALC.GetSubCategories(category.ParentCategoryId); //Get all subcategories for that parent
- List<Category> sc = new List<Category>(subCategoriesCollection);
- subCategories.DataSource = sc;
- subCategories.DataBind();
- }
- }
- }
- else
- {
- pnlSubCategories.Visible = false;
- lnkCategory.NavigateUrl = UrlHelper.Url(UrlHelper.PageType.Category, category, false);
- litCategory.Text = HttpUtility.HtmlEncode(category.Title);
- if ((base.Request.QueryString["fullurl"] != null) && base.Request.QueryString["fullurl"].Contains(lnkCategory.NavigateUrl))
- {
- lnkCategory.CssClass = "selected";
- }
- if (this.UseImage)
- {
- litCategory.Visible = false;
- imgMan.Visible = true;
- if (category.Imaging.Count > 0)
- {
- imgMan.ImageUrl = category.Imaging.MainImage.Images.ByType("Thumbnail").HtmlUrl;
- imgMan.AlternateText = string.IsNullOrEmpty(category.Imaging.MainImage.AlternateText) ? category.Imaging.MainImage.AlternateText : category.Title;
- }
- imgMan.Attributes.Add("style", "padding-left:16px; padding-bottom:10px;");
- liCategory.Attributes.Add("style", "height:auto;float:left;width:90px;");
- lnkCategory.Attributes.Add("style", "height: auto; background:#F7F7F4;");
- }
- }
- }
- }
- public void rptGroups_OnItemDataBound(object sender, RepeaterItemEventArgs e)
- {
- if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
- {
- CategoryGroup categoryGroup = (CategoryGroup)e.Item.DataItem;
- HyperLink lnkCategoryGroup = (HyperLink)e.Item.FindControl("lnkCategoryGroup");
- Literal litCategoryGroup = (Literal)e.Item.FindControl("litCategoryGroup");
- PlaceHolder pnlShow = (PlaceHolder)e.Item.FindControl("pnlShow");
- Repeater rptInnerCategories = (Repeater)e.Item.FindControl("rptInnerCategories");
- lnkCategoryGroup.NavigateUrl = UrlHelper.Url(UrlHelper.PageType.CategoryGroup, categoryGroup, false);
- litCategoryGroup.Text = HttpUtility.HtmlEncode(categoryGroup.Name);
- if ((categoryGroup.Categories.Count > 0) && (categoryGroup.Id != CategoriesCL.GetCategoryGroups("manufacturers").Id))
- {
- List<Category> cc = new List<Category>(categoryGroup.Categories);
- cc.Sort(new Comparison<Category>(delegate(Category nameA, Category nameB) { return nameA.Title.ToLower().CompareTo(nameB.Title.ToLower()); }));
- rptInnerCategories.DataSource = cc;
- rptInnerCategories.DataBind();
- }
- else
- {
- pnlShow.Visible = false;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement