public PartialViewResult BreadCrumbs(string pageUrl)
        {
            using (GoodContext db = new GoodContext())
            {
                string[]          pageUrlList     = pageUrl.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
                List <BreadCrumb> breadCrumbsList = new List <BreadCrumb>();

                if (pageUrlList.Length == 1 && pageUrlList[0].ToLower() == "cart")
                {
                    BreadCrumb breadCrumbCart = new BreadCrumb {
                        Name = "Cart", Link = "/cart"
                    };
                    BreadCrumb breadCrumbMain = new BreadCrumb {
                        Name = "Main", Link = "/"
                    };
                    breadCrumbsList.AddRange(new BreadCrumb[] { breadCrumbCart, breadCrumbMain });
                }
                else if (pageUrlList.Length == 2 && pageUrlList[0].ToLower() == "cart" && pageUrlList[1].ToLower() == "order-acceptance")
                {
                    string     categoryName   = "Order acceptance";
                    BreadCrumb breadCrumbMain = new BreadCrumb {
                        Name = "Main", Link = "/"
                    };
                    BreadCrumb breadCrumbCart = new BreadCrumb {
                        Name = "Cart", Link = "/cart"
                    };
                    BreadCrumb breadCrumbOrderAcceptance = new BreadCrumb {
                        Name = categoryName, Link = "/cart/order-acceptance"
                    };
                    breadCrumbsList.AddRange(new List <BreadCrumb>()
                    {
                        breadCrumbOrderAcceptance, breadCrumbCart, breadCrumbMain
                    });
                }
                else
                {
                    BreadCrumb breadCrumbMain = new BreadCrumb {
                        Name = "Main", Link = "/"
                    };
                    BreadCrumb breadCrumbUnknown = new BreadCrumb {
                        Name = "Unknown Link", Link = "/"
                    };
                    breadCrumbsList.AddRange(new List <BreadCrumb>()
                    {
                        breadCrumbUnknown, breadCrumbMain
                    });
                }

                var viewModel = new BreadCrumbsListViewModel {
                    BreadCrumbsList = breadCrumbsList
                };
                return(PartialView("_BreadCrumbs", viewModel));
            }
        }
        public PartialViewResult BreadCrumbs(string pageUrl)
        {
            using (GoodContext db = new GoodContext())
            {
                string[]          pageUrlList     = pageUrl.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
                List <BreadCrumb> breadCrumbsList = new List <BreadCrumb>();

                if (pageUrlList.Length == 2 && pageUrlList[0].ToLower() == "good-search-result")
                {
                    BreadCrumb breadCrumbCatalog = new BreadCrumb {
                        Name = "Good search results", Link = "/good-search-result"
                    };
                    BreadCrumb breadCrumbMain = new BreadCrumb {
                        Name = "Main", Link = "/"
                    };
                    breadCrumbsList.AddRange(new BreadCrumb[] { breadCrumbCatalog, breadCrumbMain });
                }
                else if (pageUrlList.Length == 2 && pageUrlList[0].ToLower() == "cart" && pageUrlList[1].ToLower() == "confirm-order")
                {
                    string     categoryName   = "Confirm order";
                    BreadCrumb breadCrumbMain = new BreadCrumb {
                        Name = "Main", Link = "/"
                    };
                    BreadCrumb breadCrumbCart = new BreadCrumb {
                        Name = "Cart", Link = "/cart"
                    };
                    BreadCrumb breadCrumbConfirmOrder = new BreadCrumb {
                        Name = categoryName, Link = "/cart/confirm-order"
                    };
                    breadCrumbsList.AddRange(new List <BreadCrumb>()
                    {
                        breadCrumbConfirmOrder, breadCrumbCart, breadCrumbMain
                    });
                }
                else
                {
                    BreadCrumb breadCrumbMain = new BreadCrumb {
                        Name = "Main", Link = "/"
                    };
                    BreadCrumb breadCrumbUnknown = new BreadCrumb {
                        Name = "Unknown Link", Link = "/"
                    };
                    breadCrumbsList.AddRange(new List <BreadCrumb>()
                    {
                        breadCrumbUnknown, breadCrumbMain
                    });
                }

                var viewModel = new BreadCrumbsListViewModel {
                    BreadCrumbsList = breadCrumbsList
                };
                return(PartialView("_BreadCrumbs", viewModel));
            }
        }
Exemple #3
0
        public PartialViewResult BreadCrumbs(string pageUrl)
        {
            using (GoodContext db = new GoodContext())
            {
                string[]          pageUrlList     = pageUrl.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
                List <BreadCrumb> breadCrumbsList = new List <BreadCrumb>();

                if (pageUrlList.Length == 1 && pageUrlList[0].ToLower() == "catalog")
                {
                    BreadCrumb breadCrumbCatalog = new BreadCrumb {
                        Name = "Catalog", Link = "/catalog"
                    };
                    BreadCrumb breadCrumbMain = new BreadCrumb {
                        Name = "Main", Link = "/"
                    };
                    breadCrumbsList.AddRange(new BreadCrumb[] { breadCrumbCatalog, breadCrumbMain });
                }
                else if (pageUrlList.Length == 2 && pageUrlList[0].ToLower() == "catalog")
                {
                    string     categoryUrl    = pageUrlList[1];
                    string     categoryName   = db.GoodCategories.Where(x => x.CategoryUrl == categoryUrl).First().CategoryName;
                    BreadCrumb breadCrumbMain = new BreadCrumb {
                        Name = "Main", Link = "/"
                    };
                    BreadCrumb breadCrumbCatalog = new BreadCrumb {
                        Name = "Catalog", Link = "/catalog"
                    };
                    BreadCrumb breadCrumbCategory = new BreadCrumb {
                        Name = categoryName, Link = "/catalog/" + categoryUrl
                    };
                    breadCrumbsList.AddRange(new List <BreadCrumb>()
                    {
                        breadCrumbCategory, breadCrumbCatalog, breadCrumbMain
                    });
                }
                else if (pageUrlList.Length == 3 && pageUrlList[0].ToLower() == "catalog")
                {
                    string     categoryUrl     = pageUrlList[1];
                    string     subcategoryUrl  = pageUrlList[2];
                    string     categoryName    = db.GoodCategories.Where(x => x.CategoryUrl == categoryUrl).First().CategoryName;
                    string     subcategoryName = db.GoodSubcategories.Where(x => x.SubcategoryUrl == subcategoryUrl).First().SubcategoryName;
                    BreadCrumb breadCrumbMain  = new BreadCrumb {
                        Name = "Main", Link = "/"
                    };
                    BreadCrumb breadCrumbCatalog = new BreadCrumb {
                        Name = "Catalog", Link = "/catalog"
                    };
                    BreadCrumb breadCrumbCategory = new BreadCrumb {
                        Name = categoryName, Link = "/catalog/" + categoryUrl
                    };
                    BreadCrumb breadCrumbSubcategory = new BreadCrumb {
                        Name = subcategoryName, Link = "/catalog/" + categoryUrl + "/" + subcategoryUrl
                    };
                    breadCrumbsList.AddRange(new List <BreadCrumb>()
                    {
                        breadCrumbSubcategory, breadCrumbCategory, breadCrumbCatalog, breadCrumbMain
                    });
                }
                else if (pageUrlList.Length == 4 && pageUrlList[0].ToLower() == "catalog")
                {
                    string categoryUrl    = pageUrlList[1];
                    string subcategoryUrl = pageUrlList[2];
                    string goodUrl        = pageUrlList[3];

                    string categoryName    = db.GoodCategories.Where(x => x.CategoryUrl == categoryUrl).First().CategoryName;
                    string subcategoryName = db.GoodSubcategories.Where(x => x.SubcategoryUrl == subcategoryUrl).First().SubcategoryName;
                    string goodName        = db.Goods.Where(x => x.GoodUrl == goodUrl).First().GoodBrand + " " +
                                             db.Goods.Where(x => x.GoodUrl == goodUrl).First().GoodName + ", " +
                                             db.Goods.Where(x => x.GoodUrl == goodUrl).First().GoodColor;

                    BreadCrumb breadCrumbMain = new BreadCrumb {
                        Name = "Main", Link = "/"
                    };
                    BreadCrumb breadCrumbCatalog = new BreadCrumb {
                        Name = "Catalog", Link = "/catalog"
                    };
                    BreadCrumb breadCrumbCategory = new BreadCrumb {
                        Name = categoryName, Link = "/catalog/" + categoryUrl
                    };
                    BreadCrumb breadCrumbSubcategory = new BreadCrumb {
                        Name = subcategoryName, Link = "/catalog/" + categoryUrl + "/" + subcategoryUrl
                    };
                    BreadCrumb breadCrumbGood = new BreadCrumb {
                        Name = goodName, Link = "/catalog/" + categoryUrl + "/" + subcategoryUrl + "/" + goodUrl
                    };
                    breadCrumbsList.AddRange(new List <BreadCrumb>()
                    {
                        breadCrumbGood, breadCrumbSubcategory, breadCrumbCategory, breadCrumbCatalog, breadCrumbMain
                    });
                }
                else if (pageUrlList.Length == 5 && pageUrlList[0].ToLower() == "catalog" && (pageUrlList[4].ToLower() == "reviews" || pageUrlList[4].ToLower() == "discussions" || pageUrlList[4].ToLower() == "overview"))
                {
                    string categoryUrl     = pageUrlList[1];
                    string subcategoryUrl  = pageUrlList[2];
                    string goodUrl         = pageUrlList[3];
                    string categoryName    = db.GoodCategories.Where(x => x.CategoryUrl == categoryUrl).First().CategoryName;
                    string subcategoryName = db.GoodSubcategories.Where(x => x.SubcategoryUrl == subcategoryUrl).First().SubcategoryName;
                    string goodName        = db.Goods.Where(x => x.GoodUrl == goodUrl).First().GoodBrand + " " +
                                             db.Goods.Where(x => x.GoodUrl == goodUrl).First().GoodName + ", " +
                                             db.Goods.Where(x => x.GoodUrl == goodUrl).First().GoodColor;
                    BreadCrumb breadCrumbMain = new BreadCrumb {
                        Name = "Main", Link = "/"
                    };
                    BreadCrumb breadCrumbCatalog = new BreadCrumb {
                        Name = "Catalog", Link = "/catalog"
                    };
                    BreadCrumb breadCrumbCategory = new BreadCrumb {
                        Name = categoryName, Link = "/catalog/" + categoryUrl
                    };
                    BreadCrumb breadCrumbSubcategory = new BreadCrumb {
                        Name = subcategoryName, Link = "/catalog/" + categoryUrl + "/" + subcategoryUrl
                    };
                    BreadCrumb breadCrumbGood = new BreadCrumb {
                        Name = goodName, Link = "/catalog/" + categoryUrl + "/" + subcategoryUrl + "/" + goodUrl
                    };
                    BreadCrumb breadCrumbGoodOption = new BreadCrumb {
                        Name = pageUrlList[4], Link = "/catalog/" + categoryUrl + "/" + subcategoryUrl + "/" + goodUrl + "/" + pageUrlList[4]
                    };
                    breadCrumbsList.AddRange(new List <BreadCrumb>()
                    {
                        breadCrumbGoodOption, breadCrumbGood, breadCrumbSubcategory, breadCrumbCategory, breadCrumbCatalog, breadCrumbMain
                    });
                }
                else
                {
                    BreadCrumb breadCrumbMain = new BreadCrumb {
                        Name = "Main", Link = "/"
                    };
                    BreadCrumb breadCrumbUnknown = new BreadCrumb {
                        Name = "Unknown Link", Link = "/"
                    };
                    breadCrumbsList.AddRange(new List <BreadCrumb>()
                    {
                        breadCrumbUnknown, breadCrumbMain
                    });
                }
                var viewModel = new BreadCrumbsListViewModel {
                    BreadCrumbsList = breadCrumbsList
                };
                return(PartialView("_BreadCrumbs", viewModel));
            }
        }