public void RenderDocuments(IProduct product) {
     UrlHelper = new CatalogueUrlHelper(CatMod);
     if (product != null && product.DocumentList != null) {
         if (product.DocumentList.Count > 0) {
             rptDocuments.DataSource = product.DocumentList;
             rptDocuments.DataBind();
         }
     }
 }
 public void RenderRelatedProducts(IProduct product) {
     
     UrlHelper = new CatalogueUrlHelper(CatMod);
     if (product != null && product.CrossSellList != null) {
        
         if (product.CrossSellList.Count > 0) {
             rptCrossSell.DataSource = product.CrossSellList;
             rptCrossSell.DataBind();
         }
     }
     if (product != null && product.UpSellList != null) {
         if (product.UpSellList.Count > 0) {
             rptUpSell.DataSource = product.UpSellList;
             rptUpSell.DataBind();
         }
     }
 }
        private void Page_Load(object sender, System.EventArgs e) {

            UrlHelper = new CatalogueUrlHelper(CatMod);

            try {

                if (CatMod.ProductID > 0) {
                    prodView = CatMod.CatalogueViewer.GetProductView(CatMod.Section.Node.Site.Id, CatMod.Section.Node.Culture, CatMod.ProductID);
                } else {
                  
                    DbProduct prod = CatMod.CatalogueViewer.GetECommerceProductByItemCode(CatMod.Section.Node.Site.Id, CatMod.Section.Node.Culture, CatMod.Sku);
                    if (prod != null) {
                        prodView = CatMod.CatalogueViewer.GetProductView(CatMod.Section.Node.Site.Id, CatMod.Section.Node.Culture, prod.ProductID);
                    }
                }
                
                if (prodView != null) {

                    List<IProduct> prodList = new List<IProduct>();
                    prodList.Add(prodView.ProductDetails);
                   
                    RenderProductDetails(prodList);
                    RenderBreadCrumbTrail(prodView);
                    txtProdID.Text = Convert.ToString(prodView.ProductDetails.ProductID);

                    ctlImages.RenderProductImages(prodView.ProductDetails.ProductImages);
                    ctlRelatedProducts.RenderRelatedProducts(prodView.ProductDetails);
                    ctlDocuments.RenderDocuments(prodView.ProductDetails);

                    if (Convert.ToBoolean(prodView.ProductDetails.StockedIndicator)) {
                        litStocked.Text = ITEM_STOCKED;
                    } else {
                        litStocked.Text = ITEM_NOT_STOCKED;
                    }
                }

            } catch (System.Threading.ThreadAbortException) {
            } catch (Exception f) {
                LogManager.GetLogger(GetType()).Error(f);
            }
        }
        private void Page_Load(object sender, System.EventArgs e) {

            UrlHelper = new CatalogueUrlHelper(CatMod);
            phNoResults.Visible = true;

            try {

                string searchTerm = Request[QS_SEARCH];

                List<IProductSummary> results = CatMod.CatalogueViewer.FindProducts(WebStoreContext.Current.StoreID, Module.Section.Node.Culture, searchTerm);

                ctlProductList.BindProductList(results, null);
                phNoResults.Visible = (results.Count == 0);

            } catch (System.Threading.ThreadAbortException error) {
                LogManager.GetLogger(GetType()).Error(error);
            } catch (Exception f) {
                LogManager.GetLogger(GetType()).Error(f);
                phNoResults.Visible = true;
            }
        }
        private void Page_Load(object sender, System.EventArgs e) {

            UrlHelper = new CatalogueUrlHelper(CatMod);

            try {
                ICategoryView cat;

                 ctlProductList.TotalResults = CatMod.CatalogueViewer.GetProductCount(CatMod.Section.Node.Site.Id, CatMod.Section.Node.Culture, CatMod.NodeID);
                ctlProductList.CreateListNavigation();
                int page = 1;
                if (ctlProductList.ddlPage.SelectedValue != String.Empty) {
                    page = Convert.ToInt32(ctlProductList.ddlPage.SelectedValue);
                }

                //I dont like this
                string orderBy = "p.basePrice desc";
                switch (ctlProductList.ddlSortBy.SelectedValue) {
                    case "PriceHighest":
                        orderBy = "p.basePrice desc";
                        break;
                    case "PriceLowest":
                        orderBy = "p.basePrice ASC";
                        break;
                    case "ProductName":
                        orderBy = "p.ProductName ASC";
                        break;
                    default:
                        break;
                }

                int offset = 0;

                try {
                    offset = ((Convert.ToInt32(ctlProductList.ddlResultsPerPage.SelectedValue) * Convert.ToInt32(ctlProductList.ddlPage.SelectedValue) + 1) - Convert.ToInt32(ctlProductList.ddlResultsPerPage.SelectedValue));
                } catch(Exception ex){
                    LogManager.GetLogger(GetType()).Error(ex);
                }
                
                if (CatMod.NodeID > 0) { //gets top level categories if no node supplied
                    cat = CatMod.CatalogueViewer.GetCategoryView(CatMod.Section.Node.Site.Id, CatMod.Section.Node.Culture, CatMod.NodeID, offset, Convert.ToInt32(ctlProductList.ddlResultsPerPage.SelectedValue), orderBy);
                } else {
                    cat = CatMod.CatalogueViewer.GetRootCategoryView(CatMod.Section.Node.Site.Id, CatMod.Section.Node.Culture);
                }              


                
                if (cat != null) {

                    List<ICategory> categoryList = cat.ChildNodes;
                    List<IProductSummary> productList = cat.ProductList;

                    //If there is just one product, jump to that product page
                    if (categoryList.Count == 0 && productList.Count == 1) {
                        string productUrl = new CatalogueUrlHelper(CatMod).GetProductUrl((IProductSummary)productList[0]);
                        Response.Redirect(productUrl);
                        return;
                    }

                    pnlSummary.Visible = false;

                    if (cat.ProductList.Count == 0) {

                        rptCategories.DataSource = categoryList;
                        rptCategories.DataBind();

                        pnlSummary.Visible = true;

                        if (lblTitle != null) {
                            lblTitle.Text = cat.CurrentNode.Name;
                        }
                        if (lblDescription != null) {
                            lblDescription.Text = cat.CurrentNode.Description;
                        }

                        if (pnlCatImage != null) {
                            if (cat.CurrentNode.BannerImageUrl != null && !string.IsNullOrEmpty(cat.CurrentNode.BannerImageUrl)) {
                                pnlCatImage.Visible = true;
                                BannerImageUrl = WebHelper.GetImagePathWeb() + cat.CurrentNode.BannerImageUrl;
                                CatImageAltText = cat.CurrentNode.Image.AltText;
                            }
                        }
                    }

                    if (cat.ProductList.Count > 0) {

                        ctlProductList.BindProductList(productList, cat.CurrentNode);
                        ctlProductList.Visible = true;
                    }

                    if (ctlBreadCrumb != null) {
                        ctlBreadCrumb.RenderBreadCrumbTrail(cat.BreadCrumbTrail);
                    }                  
                }

            } catch (System.Threading.ThreadAbortException error) {
                LogManager.GetLogger(GetType()).Error(error);
            } catch (Exception f) {
                LogManager.GetLogger(GetType()).Error(f);
            }
        }
 public void RenderBreadCrumbTrail(List<ITrailItem> nodeList) {
     UrlHelper = new CatalogueUrlHelper(Module as ECommerceModule);
     rptBreadCrumb.DataSource = nodeList;
     rptBreadCrumb.DataBind();
 }
        public void RenderMenuTabs() {

            try {

                CatalogueViewModule controller = Module as CatalogueViewModule;
                UrlHelper = new CatalogueUrlHelper(controller);
                
                ICategoryView view;
                ICategoryView root;
                ICategoryView subs;
                List<ICategory> newCategoryList = new List<ICategory>();

                if (controller.ProductID > 0) {
                    //determine productCategory
                    root = controller.CatalogueViewer.GetRootCategoryView(controller.Section.Node.Site.Id, controller.Section.Node.Culture);
                   view = controller.CatalogueViewer.GetCategoryView(controller.Section.Node.Site.Id, controller.Section.Node.Culture, breadcrumb[1].NodeID);
                    subs = controller.CatalogueViewer.GetCategoryView(controller.Section.Node.Site.Id, controller.Section.Node.Culture, view.CurrentNode.ParentNodeID);

                    foreach (ICategory node in root.ChildNodes) {
                        newCategoryList.Add(node);
                        if (view.CurrentNode.ParentNodeID == node.NodeID) {
                            foreach (ICategory childNode in subs.ChildNodes) {
                                newCategoryList.Add(childNode);
                            }
                        }
                    }


                    RealNode = view.CurrentNode.NodeID;
                    CurrentNode = view.CurrentNode.ParentNodeID;
                    rptMenu.DataSource = newCategoryList;
                    rptMenu.DataBind();
                } else {


                    if (controller.NodeID > 0) {

                        view = controller.CatalogueViewer.GetCategoryView(controller.Section.Node.Site.Id, controller.Section.Node.Culture, controller.NodeID);
                        root = controller.CatalogueViewer.GetRootCategoryView(controller.Section.Node.Site.Id, controller.Section.Node.Culture);

                        if (view != null) {


                            if (view.ChildNodes.Count > 0) {
                                controller.NodeID = view.CurrentNode.NodeID;

                                foreach (ICategory node in root.ChildNodes) {
                                    newCategoryList.Add(node);
                                    if (view.CurrentNode.NodeID == node.NodeID) {
                                        //add all the child categories in
                                        foreach (ICategory childNode in view.ChildNodes) {
                                            newCategoryList.Add(childNode);
                                        }
                                    }

                                }

                                CurrentNode = view.CurrentNode.NodeID;
                                rptMenu.DataSource = newCategoryList;
                                rptMenu.DataBind();

                            } else {
                                subs = controller.CatalogueViewer.GetCategoryView(controller.Section.Node.Site.Id, controller.Section.Node.Culture, view.CurrentNode.ParentNodeID);

                                foreach (ICategory node in root.ChildNodes) {
                                    newCategoryList.Add(node);
                                    if (view.CurrentNode.ParentNodeID == node.NodeID) {
                                        foreach (ICategory childNode in subs.ChildNodes) {
                                            newCategoryList.Add(childNode);
                                        }
                                    }
                                }
                                RealNode = view.CurrentNode.NodeID;
                                CurrentNode = view.CurrentNode.ParentNodeID;
                                rptMenu.DataSource = newCategoryList;
                                rptMenu.DataBind();
                            }
                        }

                    } else {
                        view = controller.CatalogueViewer.GetRootCategoryView(controller.Section.Node.Site.Id, controller.Section.Node.Culture);
                        //show top level stuff only
                        if (view != null) {
                            controller.NodeID = view.CurrentNode.NodeID;
                            rptMenu.DataSource = view.ChildNodes;
                            rptMenu.DataBind();
                        }
                    }

                }

            } catch (Exception e) {
                LogManager.GetLogger(GetType()).Error(e);
            }
        }
        private void Page_Load(object sender, System.EventArgs e) {


            
            if (!IsPostBack) {
            
                CatalogueViewModule controller = Module as CatalogueViewModule;
                UrlHelper = new CatalogueUrlHelper(controller);


                //RenderMenuTabs();
            }
        }