SubjectListQuery GetProductBrowseQuery() { SubjectListQuery query = new SubjectListQuery(); query.SortBy = "DisplaySequence"; query.SortOrder = SortAction.Desc; query.PageIndex = this.pager.PageIndex; query.PageSize = 20; XmlNode node = ProductBrowser.GetProductSubjectDocument().SelectSingleNode("root/Subject[SubjectId='" + this.subjectId + "']"); if (node != null) { query.ProductType = (SubjectType) int.Parse(node.SelectSingleNode("Type").InnerText); query.CategoryIds = node.SelectSingleNode("Categories").InnerText; string innerText = node.SelectSingleNode("MaxPrice").InnerText; if (!string.IsNullOrEmpty(innerText)) { int result = 0; if (int.TryParse(innerText, out result)) { query.MaxPrice = new decimal?(result); } } string str2 = node.SelectSingleNode("MinPrice").InnerText; if (!string.IsNullOrEmpty(str2)) { int num2 = 0; if (int.TryParse(str2, out num2)) { query.MinPrice = new decimal?(num2); } } query.Keywords = node.SelectSingleNode("Keywords").InnerText; } return query; }
void BindList() { SubjectListQuery query = new SubjectListQuery(); query.SortBy = this.OrderBy; if (this.Desc == 0) { query.SortOrder = SortAction.Desc; } else { query.SortOrder = SortAction.Asc; } XmlNode node = ProductBrowser.GetProductSubjectDocument().SelectSingleNode("root/Subject[SubjectId='" + this.SubjectId + "']"); if (node != null) { query.ProductType = (SubjectType) int.Parse(node.SelectSingleNode("Type").InnerText); query.CategoryIds = node.SelectSingleNode("Categories").InnerText; string innerText = node.SelectSingleNode("MaxPrice").InnerText; if (!string.IsNullOrEmpty(innerText)) { int result = 0; if (int.TryParse(innerText, out result)) { query.MaxPrice = new decimal?(result); } } string str2 = node.SelectSingleNode("MinPrice").InnerText; if (!string.IsNullOrEmpty(str2)) { int num2 = 0; if (int.TryParse(str2, out num2)) { query.MinPrice = new decimal?(num2); } } query.Keywords = node.SelectSingleNode("Keywords").InnerText; query.MaxNum = int.Parse(node.SelectSingleNode("MaxNum").InnerText); } base.DataSource = ProductBrowser.GetSubjectList(query); base.DataBind(); }
public static DbQueryResult GetSubjectProduct(SubjectListQuery query) { return ProductProvider.Instance().GetSubjectProduct(query); }
public static DataTable GetSubjectList(SubjectListQuery query) { return ProductProvider.Instance().GetSubjectList(query); }
public override DbQueryResult GetSubjectProduct(SubjectListQuery query) { string filter = ProductMasterProvider.BuildProductSubjectQuerySearch(query); string selectFields = "ProductId,ProductName, ProductCode, SaleCounts, ShortDescription, ThumbnailUrl60,ThumbnailUrl100,ThumbnailUrl160, ThumbnailUrl180,ThumbnailUrl220, MarketPrice, SalePrice,Stock"; if (HiContext.Current.User.UserRole == UserRole.Member) { Member user = HiContext.Current.User as Member; int memberDiscount = MemberProvider.Instance().GetMemberDiscount(user.GradeId); selectFields = selectFields + string.Format(",CASE WHEN (SELECT COUNT(*) FROM Hishop_SKUMemberPrice WHERE SkuId = p.SkuId AND GradeId = {0}) = 1 ", user.GradeId) + string.Format("THEN (SELECT MemberSalePrice FROM Hishop_SKUMemberPrice WHERE SkuId = p.SkuId AND GradeId = {0}) ELSE SalePrice*{1}/100 END AS RankPrice", user.GradeId, memberDiscount); } else { selectFields = selectFields + ",SalePrice as RankPrice"; } return DataHelper.PagingByRownumber(query.PageIndex, query.PageSize, query.SortBy, query.SortOrder, query.IsCount, "vw_Hishop_BrowseProductList p", "ProductId", filter, selectFields); }
public override DataTable GetSubjectList(SubjectListQuery query) { StringBuilder builder = new StringBuilder(); if (HiContext.Current.User.UserRole == UserRole.Member) { Member user = HiContext.Current.User as Member; int memberDiscount = MemberProvider.Instance().GetMemberDiscount(user.GradeId); builder.AppendFormat("SELECT TOP {0} ProductId,ProductName,ProductCode,SaleCounts,ShortDescription,ThumbnailUrl60,ThumbnailUrl100,ThumbnailUrl160,ThumbnailUrl180,ThumbnailUrl220,MarketPrice,SalePrice,", query.MaxNum); builder.AppendFormat(" CASE WHEN (SELECT COUNT(*) FROM Hishop_SKUMemberPrice WHERE SkuId = p.SkuId AND GradeId = {0}) = 1 ", user.GradeId); builder.AppendFormat("THEN (SELECT MemberSalePrice FROM Hishop_SKUMemberPrice WHERE SkuId = p.SkuId AND GradeId = {0}) ELSE SalePrice*{1}/100 END AS RankPrice", user.GradeId, memberDiscount); } else { builder.AppendFormat("SELECT TOP {0} ProductId,ProductName,ProductCode,SaleCounts,ShortDescription,ThumbnailUrl60,ThumbnailUrl100,ThumbnailUrl160,ThumbnailUrl180,ThumbnailUrl220,MarketPrice,SalePrice,SalePrice AS RankPrice", query.MaxNum); } builder.Append(" FROM vw_Hishop_BrowseProductList p WHERE "); builder.Append(ProductMasterProvider.BuildProductSubjectQuerySearch(query)); if (!string.IsNullOrEmpty(query.SortBy)) { builder.AppendFormat(" ORDER BY {0} {1}", DataHelper.CleanSearchString(query.SortBy), DataHelper.CleanSearchString(query.SortOrder.ToString())); } DbCommand sqlStringCommand = this.database.GetSqlStringCommand(builder.ToString()); using (IDataReader reader = this.database.ExecuteReader(sqlStringCommand)) { return DataHelper.ConverDataReaderToDataTable(reader); } }
protected static string BuildProductSubjectQuerySearch(SubjectListQuery query) { int num2; StringBuilder builder = new StringBuilder(); builder.AppendFormat(" SaleStatus = {0}", 1); builder.AppendFormat(" AND DistributorUserId={0}", HiContext.Current.SiteSettings.UserId); if (query.ProductType != SubjectType.All) { builder.AppendFormat(" AND ProductId IN(SELECT ProductId FROM distro_SubjectProducts WHERE SubjectType = {0} AND DistributorUserId={1})", (int) query.ProductType, HiContext.Current.SiteSettings.UserId); } if (!string.IsNullOrEmpty(query.CategoryIds)) { string[] strArray = query.CategoryIds.Split(new char[] { ',' }); int result = 0; bool flag = false; CategoryInfo category = null; builder.AppendFormat(" AND (", new object[0]); for (num2 = 0; num2 < strArray.Length; num2++) { result = 0; int.TryParse(strArray[num2], out result); category = CategoryBrowser.GetCategory(result); if (category != null) { if (flag) { builder.Append(" OR "); } builder.AppendFormat(" ( MainCategoryPath LIKE '{0}|%' OR ExtendCategoryPath LIKE '{0}|%') ", category.Path); flag = true; } } if (!flag) { builder.Append("1=1"); } builder.Append(")"); } if (query.MinPrice.HasValue) { builder.AppendFormat(" AND SalePrice >= {0}", query.MinPrice.Value); } if (query.MaxPrice.HasValue) { builder.AppendFormat(" AND SalePrice <= {0}", query.MaxPrice.Value); } if (!string.IsNullOrEmpty(query.Keywords) && (query.Keywords.Trim().Length > 0)) { query.Keywords = DataHelper.CleanSearchString(query.Keywords); string[] strArray2 = Regex.Split(query.Keywords.Trim(), @"\s+"); builder.AppendFormat(" AND (ProductName LIKE '%{0}%'", DataHelper.CleanSearchString(strArray2[0])); for (num2 = 1; (num2 < strArray2.Length) && (num2 <= 5); num2++) { builder.AppendFormat(" OR ProductName LIKE '%{0}%'", DataHelper.CleanSearchString(strArray2[num2])); } builder.Append(")"); } return builder.ToString(); }
public override DbQueryResult GetSubjectProduct(SubjectListQuery query) { int num = HiContext.Current.SiteSettings.UserId.Value; string filter = ProductSubsiteProvider.BuildProductSubjectQuerySearch(query) + string.Format(" AND DistributorUserId = {0} ", HiContext.Current.SiteSettings.UserId.Value); string selectFields = "ProductId,ProductName,ProductCode,SaleCounts,ShortDescription,MarketPrice,ThumbnailUrl60,ThumbnailUrl100,ThumbnailUrl160, ThumbnailUrl180,ThumbnailUrl220,Stock"; if (HiContext.Current.User.UserRole == UserRole.Underling) { Member user = HiContext.Current.User as Member; int memberDiscount = MemberProvider.Instance().GetMemberDiscount(user.GradeId); selectFields = (selectFields + string.Format(",(SELECT SalePrice FROM vw_distro_SkuPrices WHERE SkuId = p.SkuId AND DistributoruserId = {0}) AS SalePrice", num) + string.Format(",CASE WHEN (SELECT COUNT(*) FROM distro_SKUMemberPrice WHERE SkuId = p.SkuId AND GradeId = {0} AND DistributoruserId = {1}) = 1 ", user.GradeId, num)) + string.Format(" THEN (SELECT MemberSalePrice FROM distro_SKUMemberPrice WHERE SkuId = p.SkuId AND GradeId = {0} AND DistributoruserId = {1})", user.GradeId, num) + string.Format(" ELSE (SELECT SalePrice FROM vw_distro_SkuPrices WHERE SkuId = p.SkuId AND DistributoruserId = {0})*{1}/100 END AS RankPrice", num, memberDiscount); } else { selectFields = selectFields + string.Format(",(SELECT SalePrice FROM vw_distro_SkuPrices WHERE SkuId = p.SkuId AND DistributoruserId = {0}) AS SalePrice", num) + " , 0 AS RankPrice"; } return DataHelper.PagingByRownumber(query.PageIndex, query.PageSize, query.SortBy, query.SortOrder, query.IsCount, "vw_distro_BrowseProductList p", "ProductId", filter, selectFields); }
public abstract DbQueryResult GetSubjectProduct(SubjectListQuery query);
public abstract DataTable GetSubjectList(SubjectListQuery query);
void BindList() { int num = 2; SubjectListQuery query = new SubjectListQuery(); query.SortBy = "DisplaySequence"; query.SortOrder = SortAction.Desc; XmlNode node = ProductBrowser.GetProductSubjectDocument().SelectSingleNode("root/Subject[SubjectId='" + num + "']"); if (node != null) { query.ProductType = (SubjectType) int.Parse(node.SelectSingleNode("Type").InnerText); query.CategoryIds = node.SelectSingleNode("Categories").InnerText; string innerText = node.SelectSingleNode("MaxPrice").InnerText; if (!string.IsNullOrEmpty(innerText)) { int result = 0; if (int.TryParse(innerText, out result)) { query.MaxPrice = new decimal?(result); } } string str2 = node.SelectSingleNode("MinPrice").InnerText; if (!string.IsNullOrEmpty(str2)) { int num3 = 0; if (int.TryParse(str2, out num3)) { query.MinPrice = new decimal?(num3); } } query.Keywords = node.SelectSingleNode("Keywords").InnerText; query.MaxNum = int.Parse(node.SelectSingleNode("MaxNum").InnerText); } this.ariticlative.DataSource = ProductBrowser.GetSubjectList(query); this.ariticlative.DataBind(); }