private void BuildSorting() { if (!string.IsNullOrEmpty(Request["sort"])) { Enum.TryParse(Request["sort"], true, out _sort); } foreach (ESortOrder enumItem in Enum.GetValues(typeof(ESortOrder))) { ddlSort.Items.Add(new ListItem { Text = enumItem.GetLocalizedName(), Value = enumItem.ToString(), Selected = _sort == enumItem }); } switch (_sort) { case ESortOrder.AscByAddingDate: _paging.OrderBy("DateAdded as DateAddedSort ASC"); break; case ESortOrder.DescByAddingDate: _paging.OrderBy("DateAdded as DateAddedSort DESC"); break; case ESortOrder.AscByName: _paging.OrderBy("Name as NameSort ASC"); break; case ESortOrder.DescByName: _paging.OrderBy("Name as NameSort DESC"); break; case ESortOrder.AscByPrice: _paging.OrderBy("[Offer].Price - [Offer].Price * [Product].Discount / 100 as PriceTemp ASC"); break; case ESortOrder.DescByPrice: _paging.OrderBy("[Offer].Price - [Offer].Price * [Product].Discount / 100 as PriceTemp DESC"); break; case ESortOrder.AscByRatio: _paging.OrderBy("Ratio as RatioSort ASC"); break; case ESortOrder.DescByRatio: _paging.OrderBy("Ratio as RatioSort DESC"); break; case ESortOrder.AscByPopularity: _paging.OrderBy("Popularity as PopularitySort ASC"); break; case ESortOrder.DescByPopularity: _paging.OrderBy("Popularity as PopularitySort DESC"); break; } }
private void BuildSorting() { var sort = ESortOrder.NoSorting; if (!string.IsNullOrEmpty(Request["sort"])) { Enum.TryParse(Request["sort"], true, out sort); } foreach (ESortOrder enumItem in Enum.GetValues(typeof(ESortOrder))) { ddlSort.Items.Add(new ListItem { Text = enumItem.GetLocalizedName(), Value = enumItem.ToString(), Selected = sort == enumItem }); } switch (sort) { case ESortOrder.AscByAddingDate: _paging.OrderBy("DateAdded as DateAddedSort ASC"); break; case ESortOrder.DescByAddingDate: _paging.OrderBy("DateAdded as DateAddedSort DESC"); break; case ESortOrder.AscByName: _paging.OrderBy("Name as NameSort ASC"); break; case ESortOrder.DescByName: _paging.OrderBy("Name as NameSort DESC"); break; case ESortOrder.AscByPrice: _paging.OrderBy("[Offer].Price - [Offer].Price * [Product].Discount / 100 as PriceTemp ASC"); break; case ESortOrder.DescByPrice: _paging.OrderBy("[Offer].Price - [Offer].Price * [Product].Discount / 100 as PriceTemp DESC"); break; case ESortOrder.AscByRatio: _paging.OrderBy("Ratio as RatioSort ASC"); break; case ESortOrder.DescByRatio: _paging.OrderBy("Ratio as RatioSort DESC"); break; case ESortOrder.AscByPopularity: _paging.OrderBy("Popularity as PopularitySort ASC"); break; case ESortOrder.DescByPopularity: _paging.OrderBy("Popularity as PopularitySort DESC"); break; default: switch (_typeFlag) { case ProductOnMain.TypeFlag.Bestseller: _paging.OrderBy("SortBestseller as Sort ASC"); break; case ProductOnMain.TypeFlag.New: _paging.OrderBy("SortNew as Sort ASC, DateModified DESC"); break; case ProductOnMain.TypeFlag.Discount: _paging.OrderBy("SortDiscount as Sort ASC"); break; case ProductOnMain.TypeFlag.OnSale: _paging.OrderBy("DateModified DESC"); break; case ProductOnMain.TypeFlag.Recomended: _paging.OrderBy("SortRecomended as Sort ASC, DateModified DESC"); break; } break; } }
private void BuildSorting() { var sort = Category.Sorting; if (!string.IsNullOrEmpty(Request["sort"])) { Enum.TryParse(Request["sort"], true, out sort); } foreach (ESortOrder enumItem in Enum.GetValues(typeof(ESortOrder))) { if (!SettingsCatalog.EnableProductRating && (enumItem == ESortOrder.DescByRatio || enumItem == ESortOrder.AscByRatio)) { continue; } ddlSort.Items.Add(new ListItem { Text = enumItem.GetLocalizedName(), Value = enumItem.ToString(), Selected = sort == enumItem }); } _paging.OrderBy( "(CASE WHEN Price=0 THEN 0 ELSE 1 END) as TempSort DESC", "AmountSort AS TempAmountSort DESC"); switch (sort) { case ESortOrder.AscByName: _paging.OrderBy("Name as NameSort ASC"); break; case ESortOrder.DescByName: _paging.OrderBy("Name as NameSort DESC"); break; case ESortOrder.AscByPrice: _paging.OrderBy("[Offer].Price - [Offer].Price * [Product].Discount / 100 as PriceTemp ASC"); break; case ESortOrder.DescByPrice: _paging.OrderBy("[Offer].Price - [Offer].Price * [Product].Discount / 100 as PriceTemp DESC"); break; case ESortOrder.AscByRatio: _paging.OrderBy("Ratio as RatioSort ASC"); break; case ESortOrder.DescByRatio: _paging.OrderBy("Ratio as RatioSort DESC"); break; case ESortOrder.AscByAddingDate: _paging.OrderBy("DateAdded as DateAddedSort ASC"); break; case ESortOrder.DescByAddingDate: _paging.OrderBy("DateAdded as DateAddedSort DESC"); break; //case ESortOrder.AscByPopularity: // _paging.OrderBy("Popularity as PopularitySort ASC"); // break; //case ESortOrder.DescByPopularity: // _paging.OrderBy("Popularity as PopularitySort DESC"); // break; case ESortOrder.AscByPopularity: _paging.OrderBy("PopularityManually * 100 + Popularity as PopularitySort ASC"); break; case ESortOrder.DescByPopularity: _paging.OrderBy("PopularityManually * 100 + Popularity as PopularitySort DESC"); break; } _paging.OrderBy(!Indepth ? "[ProductCategories].[SortOrder] ASC" : ""); }