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 DataTable GetSubjectList(SubjectListQuery query) { StringBuilder builder = new StringBuilder(); //Member user = HiContext.Current.User as Member; //int memberDiscount = MemberProvider.Instance().GetMemberDiscount(user.GradeId); builder.AppendFormat( @"SELECT TOP {0} ROW_NUMBER() over (order by DisplaySequence desc) id ,ProductId,ProductName,ProductCode,ShowSaleCounts AS SaleCounts,ShortDescription,RIGHT(CONVERT(NVARCHAR(10),AddedDate, 102),5) as GroundingDate,", query.MaxNum); builder.Append( " ThumbnailUrl60,ThumbnailUrl100,ThumbnailUrl160,ThumbnailUrl180,ThumbnailUrl220,ThumbnailUrl310,MarketPrice,SalePrice"); builder.Append(" FROM vw_HiFlat_BrowseProductList p WHERE "); builder.Append("1=1"); 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)); } }
private DataTable GetTabProductList(XmlNode node, string whereName) { SubjectListQuery subjectListQuery = new SubjectListQuery(); subjectListQuery.SortBy = "DisplaySequence"; subjectListQuery.SortOrder = SortAction.Desc; string value = node.Attributes[whereName].Value; if (!string.IsNullOrEmpty(value)) { string[] array = value.Split(','); int categoryId = default(int); if (int.TryParse(array[0], out categoryId)) { subjectListQuery.Category = CatalogHelper.GetCategory(categoryId); } if (!string.IsNullOrEmpty(array[1])) { subjectListQuery.TagId = int.Parse(array[1]); } if (!string.IsNullOrEmpty(array[2])) { subjectListQuery.BrandCategoryId = int.Parse(array[2]); } } subjectListQuery.MaxNum = int.Parse(node.Attributes["MaxNum"].Value); return(ProductBrowser.GetSubjectList(subjectListQuery)); }
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)); } }
void BindList() { SubjectListQuery productBrowseQuery = this.GetProductBrowseQuery(); DbQueryResult subjectProduct = ProductBrowser.GetSubjectProduct(productBrowseQuery); this.rptSubGoodsList.DataSource = subjectProduct.Data; this.rptSubGoodsList.DataBind(); this.pager.TotalRecords = (int)(subjectProduct.TotalRecords * (Convert.ToDouble(this.pager.PageSize) / ((double)productBrowseQuery.PageSize))); }
private DataTable GetProductList(XmlNode node) { SubjectListQuery query = new SubjectListQuery(); query.SortBy = "DisplaySequence"; query.SortOrder = SortAction.Desc; query.CategoryIds = node.Attributes["CategoryId"].Value; query.MaxNum = int.Parse(node.Attributes["MaxNum"].Value); return(ProductBrowser.GetSubjectList(query)); }
private DataTable GetProductList(XmlNode node) { SubjectListQuery subjectListQuery = new SubjectListQuery(); subjectListQuery.SortBy = "ShowSaleCounts"; subjectListQuery.SortOrder = SortAction.Desc; int categoryId = default(int); if (int.TryParse(node.Attributes["CategoryId"].Value, out categoryId)) { subjectListQuery.Category = CatalogHelper.GetCategory(categoryId); } subjectListQuery.MaxNum = int.Parse(node.Attributes["MaxNum"].Value); return(ProductBrowser.GetSubjectList(subjectListQuery)); }
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)); }
private DataTable GetProductList(XmlNode node) { SubjectListQuery subjectListQuery = new SubjectListQuery(); subjectListQuery.SortBy = "DisplaySequence"; subjectListQuery.SortOrder = SortAction.Desc; subjectListQuery.CategoryIds = node.Attributes["CategoryId"].Value; if (!string.IsNullOrEmpty(node.Attributes["TagId"].Value)) { subjectListQuery.TagId = int.Parse(node.Attributes["TagId"].Value); } if (!string.IsNullOrEmpty(node.Attributes["BrandId"].Value)) { subjectListQuery.BrandCategoryId = new int?(int.Parse(node.Attributes["BrandId"].Value)); } if (!string.IsNullOrEmpty(node.Attributes["TypeId"].Value)) { subjectListQuery.ProductTypeId = new int?(int.Parse(node.Attributes["TypeId"].Value)); } string value = node.Attributes["AttributeString"].Value; if (!string.IsNullOrEmpty(value)) { IList <AttributeValueInfo> list = new List <AttributeValueInfo>(); string[] array = value.Split(new char[] { ',' }); for (int i = 0; i < array.Length; i++) { string[] array2 = array[i].Split(new char[] { '_' }); list.Add(new AttributeValueInfo { AttributeId = Convert.ToInt32(array2[0]), ValueId = Convert.ToInt32(array2[1]) }); } subjectListQuery.AttributeValues = list; } subjectListQuery.MaxNum = int.Parse(node.Attributes["MaxNum"].Value); return(ProductBrowser.GetSubjectList(subjectListQuery)); }
private DataTable GetProductList(XmlNode node) { SubjectListQuery subjectListQuery = new SubjectListQuery(); subjectListQuery.SortBy = "DisplaySequence"; subjectListQuery.SortOrder = SortAction.Desc; subjectListQuery.CategoryIds = node.Attributes["CategoryId"].Value; if (!string.IsNullOrEmpty(node.Attributes["TagId"].Value)) { subjectListQuery.TagId = int.Parse(node.Attributes["TagId"].Value); } if (!string.IsNullOrEmpty(node.Attributes["BrandId"].Value)) { subjectListQuery.BrandCategoryId = new int?(int.Parse(node.Attributes["BrandId"].Value)); } subjectListQuery.MaxNum = int.Parse(node.Attributes["MaxNum"].Value); return(ProductBrowser.GetSubjectList(subjectListQuery)); }
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)); }
private DataTable GetProductList(XmlNode node) { SubjectListQuery subjectListQuery = new SubjectListQuery(); subjectListQuery.SortBy = "DisplaySequence"; subjectListQuery.SortOrder = SortAction.Desc; int categoryId = default(int); if (int.TryParse(node.Attributes["CategoryId"].Value, out categoryId)) { subjectListQuery.Category = CatalogHelper.GetCategory(categoryId); } if (!string.IsNullOrEmpty(node.Attributes["TagId"].Value)) { subjectListQuery.TagId = int.Parse(node.Attributes["TagId"].Value); } if (!string.IsNullOrEmpty(node.Attributes["BrandId"].Value)) { subjectListQuery.BrandCategoryId = int.Parse(node.Attributes["BrandId"].Value); } if (!string.IsNullOrEmpty(node.Attributes["TypeId"].Value)) { subjectListQuery.ProductTypeId = int.Parse(node.Attributes["TypeId"].Value); } string value = node.Attributes["AttributeString"].Value; if (!string.IsNullOrEmpty(value)) { IList <AttributeValueInfo> list = new List <AttributeValueInfo>(); string[] array = value.Split(','); for (int i = 0; i < array.Length; i++) { string[] array2 = array[i].Split('_'); AttributeValueInfo attributeValueInfo = new AttributeValueInfo(); attributeValueInfo.AttributeId = Convert.ToInt32(array2[0]); attributeValueInfo.ValueId = Convert.ToInt32(array2[1]); list.Add(attributeValueInfo); } subjectListQuery.AttributeValues = list; } subjectListQuery.MaxNum = int.Parse(node.Attributes["MaxNum"].Value); return(ProductBrowser.GetSubjectList(subjectListQuery)); }
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(); }
private void BindList() { if (this.rp_guest != null) { IList <int> browedProductList = BrowsedProductQueue.GetBrowedProductList(this.MaxNum); this.rp_guest.DataSource = ProductBrowser.GetVistiedProducts(browedProductList); this.rp_guest.DataBind(); } if (this.rp_hot != null) { this.rp_hot.DataSource = ProductBrowser.GetSaleProductRanking(0, this.maxNum); this.rp_hot.DataBind(); } if (this.rp_new != null) { SubjectListQuery subjectListQuery = new SubjectListQuery(); subjectListQuery.MaxNum = this.maxNum; subjectListQuery.SortBy = "DisplaySequence"; this.rp_new.DataSource = ProductBrowser.GetSubjectList(subjectListQuery); this.rp_new.DataBind(); } }
private void BindList() { if (this.rp_guest != null) { System.Collections.Generic.IList <int> browedProductList = BrowsedProductQueue.GetBrowedProductList(this.MaxNum); this.rp_guest.DataSource = ProductBrowser.GetSuggestProductsProducts(browedProductList, 5); //this.rp_guest.DataSource = ProductBrowser.GetVistiedProducts(browedProductList, ClientType.PC); this.rp_guest.DataBind(); } if (this.rp_hot != null) { this.rp_hot.DataSource = ProductBrowser.GetSaleProductRanking(new int?(0), this.maxNum); this.rp_hot.DataBind(); } if (this.rp_new != null) { SubjectListQuery subjectListQuery = new SubjectListQuery(); subjectListQuery.MaxNum = this.maxNum; subjectListQuery.SortBy = "DisplaySequence"; this.rp_new.DataSource = ProductBrowser.GetSubjectList(subjectListQuery); this.rp_new.DataBind(); } }
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(); }
public override System.Data.DataTable GetSubjectList(SubjectListQuery query) { StringBuilder stringBuilder = new StringBuilder(); int value = HiContext.Current.SiteSettings.UserId.Value; if (HiContext.Current.User.UserRole == UserRole.Underling) { Hidistro.Membership.Context.Member member = HiContext.Current.User as Hidistro.Membership.Context.Member; int memberDiscount = MemberProvider.Instance().GetMemberDiscount(member.GradeId); stringBuilder.AppendFormat("SELECT TOP {0} ProductId,ProductName,ProductCode,ShowSaleCounts AS SaleCounts,ShortDescription,", query.MaxNum); stringBuilder.Append(" ThumbnailUrl60,ThumbnailUrl100,ThumbnailUrl160,ThumbnailUrl180,ThumbnailUrl220,ThumbnailUrl310,MarketPrice,"); stringBuilder.AppendFormat(" (SELECT SalePrice FROM vw_distro_SkuPrices WHERE SkuId = p.SkuId AND DistributoruserId = {0}) AS SalePrice,", value); stringBuilder.AppendFormat(" CASE WHEN (SELECT COUNT(*) FROM distro_SKUMemberPrice WHERE SkuId = p.SkuId AND GradeId = {0} AND DistributoruserId = {1}) = 1 ", member.GradeId, value); stringBuilder.AppendFormat(" THEN (SELECT MemberSalePrice FROM distro_SKUMemberPrice WHERE SkuId = p.SkuId AND GradeId = {0} AND DistributoruserId = {1})", member.GradeId, value); stringBuilder.AppendFormat(" ELSE (SELECT SalePrice FROM vw_distro_SkuPrices WHERE SkuId = p.SkuId AND DistributoruserId = {0})*{1}/100 END AS RankPrice", value, memberDiscount); } else { stringBuilder.AppendFormat("SELECT TOP {0} ProductId,ProductName,ProductCode,ShowSaleCounts AS SaleCounts,ShortDescription,", query.MaxNum); stringBuilder.Append(" ThumbnailUrl60,ThumbnailUrl100,ThumbnailUrl160, ThumbnailUrl180,ThumbnailUrl220, ThumbnailUrl310, MarketPrice"); stringBuilder.AppendFormat(" ,(SELECT SalePrice FROM vw_distro_SkuPrices WHERE SkuId = p.SkuId AND DistributoruserId = {0}) AS SalePrice", value); stringBuilder.AppendFormat(" ,(SELECT SalePrice FROM vw_distro_SkuPrices WHERE SkuId = p.SkuId AND DistributoruserId = {0}) AS RankPrice", value); } stringBuilder.Append(" FROM vw_distro_BrowseProductList p WHERE "); stringBuilder.Append(ProductSubsiteProvider.BuildProductSubjectQuerySearch(query)); if (!string.IsNullOrEmpty(query.SortBy)) { stringBuilder.AppendFormat(" ORDER BY {0} {1}", DataHelper.CleanSearchString(query.SortBy), DataHelper.CleanSearchString(query.SortOrder.ToString())); } System.Data.DataTable result = null; System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(stringBuilder.ToString()); using (System.Data.IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand)) { result = DataHelper.ConverDataReaderToDataTable(dataReader); } return(result); }
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); }
private DataTable GetTabProductList(XmlNode node, string whereName) { SubjectListQuery query = new SubjectListQuery(); query.SortBy = "DisplaySequence"; query.SortOrder = SortAction.Desc; string str = node.Attributes[whereName].Value; if (!string.IsNullOrEmpty(str)) { string[] strArray = str.Split(new char[] { ',' }); query.CategoryIds = strArray[0]; if (!string.IsNullOrEmpty(strArray[1])) { query.TagId = int.Parse(strArray[1]); } if (!string.IsNullOrEmpty(strArray[2])) { query.BrandCategoryId = new int?(int.Parse(strArray[2])); } } query.MaxNum = int.Parse(node.Attributes["MaxNum"].Value); return(ProductBrowser.GetSubjectList(query)); }
private DataTable GetProductList() { int num; SubjectListQuery entity = new SubjectListQuery(); entity.CategoryIds = this.Page.Request.QueryString["categoryId"]; if (int.TryParse(this.Page.Request.QueryString["brand"], out num)) { entity.BrandCategoryId = new int?(num); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["valueStr"])) { IList <AttributeValueInfo> list = new List <AttributeValueInfo>(); string str = Globals.HtmlEncode(Globals.UrlDecode(this.Page.Request.QueryString["valueStr"])); string[] strArray = str.Split(new char[] { '-' }); if (!string.IsNullOrEmpty(str)) { for (int i = 0; i < strArray.Length; i++) { string[] strArray2 = strArray[i].Split(new char[] { '_' }); if (((strArray2.Length > 0) && !string.IsNullOrEmpty(strArray2[1])) && (strArray2[1] != "0")) { AttributeValueInfo item = new AttributeValueInfo(); item.AttributeId = Convert.ToInt32(strArray2[0]); item.ValueId = Convert.ToInt32(strArray2[1]); list.Add(item); } } } entity.AttributeValues = list; } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["keywords"])) { entity.Keywords = DataHelper.CleanSearchString(Globals.HtmlEncode(Globals.UrlDecode(this.Page.Request.QueryString["keywords"]))); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["minSalePrice"])) { decimal result = 0M; if (decimal.TryParse(Globals.UrlDecode(this.Page.Request.QueryString["minSalePrice"]), out result)) { entity.MinPrice = new decimal?(result); } } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["maxSalePrice"])) { decimal num4 = 0M; if (decimal.TryParse(Globals.UrlDecode(this.Page.Request.QueryString["maxSalePrice"]), out num4)) { entity.MaxPrice = new decimal?(num4); } } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["TagIds"])) { int num5 = 0; if (int.TryParse(this.Page.Request.QueryString["TagIds"], out num5)) { entity.TagId = num5; } } entity.MaxNum = this.MaxNum; entity.SortBy = "ShowSaleCounts"; entity.SortOrder = SortAction.Desc; Globals.EntityCoding(entity, true); return(ProductBrowser.GetSubjectList(entity)); }
protected static string BuildProductSubjectQuerySearch(SubjectListQuery query) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendFormat(" SaleStatus = {0}", 1); stringBuilder.AppendFormat(" AND DistributorUserId={0}", HiContext.Current.SiteSettings.UserId); if (query.TagId != 0) { stringBuilder.AppendFormat(" AND ProductId IN(SELECT ProductId FROM distro_ProductTag WHERE TagId = {0} AND DistributorUserId={1})", query.TagId, HiContext.Current.SiteSettings.UserId); } if (!string.IsNullOrEmpty(query.CategoryIds)) { string[] array = query.CategoryIds.Split(new char[] { ',' }); int categoryId = 0; bool flag = false; stringBuilder.AppendFormat(" AND (", new object[0]); for (int i = 0; i < array.Length; i++) { categoryId = 0; int.TryParse(array[i], out categoryId); CategoryInfo category = CategoryBrowser.GetCategory(categoryId); if (category != null) { if (flag) { stringBuilder.Append(" OR "); } stringBuilder.AppendFormat(" ( MainCategoryPath LIKE '{0}|%' OR ExtendCategoryPath LIKE '{0}|%') ", category.Path); flag = true; } } if (!flag) { stringBuilder.Append("1=1"); } stringBuilder.Append(")"); } if (query.BrandCategoryId.HasValue) { stringBuilder.AppendFormat(" AND BrandId = {0}", query.BrandCategoryId.Value); } if (query.ProductTypeId.HasValue) { stringBuilder.AppendFormat(" AND TypeId = {0}", query.ProductTypeId.Value); } if (query.AttributeValues.Count > 0) { foreach (AttributeValueInfo current in query.AttributeValues) { stringBuilder.AppendFormat(" AND (ProductId IN ( SELECT ProductId FROM Hishop_ProductAttributes WHERE AttributeId={0} And ValueId={1}))", current.AttributeId, current.ValueId); } } if (query.MinPrice.HasValue) { stringBuilder.AppendFormat(" AND SalePrice >= {0}", query.MinPrice.Value); } if (query.MaxPrice.HasValue) { stringBuilder.AppendFormat(" AND SalePrice <= {0}", query.MaxPrice.Value); } if (!string.IsNullOrEmpty(query.Keywords) && query.Keywords.Trim().Length > 0) { query.Keywords = DataHelper.CleanSearchString(query.Keywords); string[] array2 = Regex.Split(query.Keywords.Trim(), "\\s+"); stringBuilder.AppendFormat(" AND (ProductName LIKE '%{0}%'", DataHelper.CleanSearchString(array2[0])); int i = 1; while (i < array2.Length && i <= 5) { stringBuilder.AppendFormat(" OR ProductName LIKE '%{0}%'", DataHelper.CleanSearchString(array2[i])); i++; } stringBuilder.Append(")"); } return(stringBuilder.ToString()); }
public Task <PagedListResponse <SubjectListResponse> > ListSubjects([FromQuery] SubjectListQuery query, CancellationToken cancellationToken) { return(mediator.Send(query, cancellationToken)); }
public abstract DataTable GetSubjectList(SubjectListQuery query);
public static DbQueryResult GetSubjectProduct(SubjectListQuery query) { return(ProductProvider.Instance().GetSubjectProduct(query)); }
public static DataTable GetSubjectList(SubjectListQuery query) { return(new ProductBrowseDao().GetSubjectList(query)); }
private DataTable GetProductList() { SubjectListQuery subjectListQuery = new SubjectListQuery(); subjectListQuery.CategoryIds = this.Page.Request.QueryString["categoryId"]; int value; if (int.TryParse(this.Page.Request.QueryString["brand"], out value)) { subjectListQuery.BrandCategoryId = new int?(value); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["valueStr"])) { IList <AttributeValueInfo> list = new List <AttributeValueInfo>(); string text = Globals.UrlDecode(this.Page.Request.QueryString["valueStr"]); text = Globals.HtmlEncode(text); string[] array = text.Split(new char[] { '-' }); if (!string.IsNullOrEmpty(text)) { for (int i = 0; i < array.Length; i++) { string[] array2 = array[i].Split(new char[] { '_' }); if (array2.Length > 0 && !string.IsNullOrEmpty(array2[1]) && array2[1] != "0") { list.Add(new AttributeValueInfo { AttributeId = Convert.ToInt32(array2[0]), ValueId = Convert.ToInt32(array2[1]) }); } } } subjectListQuery.AttributeValues = list; } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["keywords"])) { subjectListQuery.Keywords = DataHelper.CleanSearchString(Globals.HtmlEncode(Globals.UrlDecode(this.Page.Request.QueryString["keywords"]))); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["minSalePrice"])) { decimal value2 = 0m; if (decimal.TryParse(Globals.UrlDecode(this.Page.Request.QueryString["minSalePrice"]), out value2)) { subjectListQuery.MinPrice = new decimal?(value2); } } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["maxSalePrice"])) { decimal value3 = 0m; if (decimal.TryParse(Globals.UrlDecode(this.Page.Request.QueryString["maxSalePrice"]), out value3)) { subjectListQuery.MaxPrice = new decimal?(value3); } } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["TagIds"])) { int tagId = 0; if (int.TryParse(this.Page.Request.QueryString["TagIds"], out tagId)) { subjectListQuery.TagId = tagId; } } subjectListQuery.MaxNum = this.MaxNum; subjectListQuery.SortBy = "ShowSaleCounts"; subjectListQuery.SortOrder = SortAction.Desc; Globals.EntityCoding(subjectListQuery, true); return(ProductBrowser.GetSubjectList(subjectListQuery)); }
public static DataTable GetSubjectList(SubjectListQuery query) { return(ProductProvider.Instance().GetSubjectList(query)); }
private void BindList() { SubjectListQuery query = new SubjectListQuery { SortBy = this.OrderBy }; //if (this.Desc == 0) //{ query.SortOrder = SortAction.Desc; //} //else //{ // query.SortOrder = SortAction.Asc; //} XmlNode node = ProductHelper.GetProductSubjectDocument().SelectSingleNode("root/Subject[SubjectId='" + this.SubjectId + "']"); if (node != null) { if (!string.IsNullOrEmpty(node.SelectSingleNode("Type").InnerText)) { query.TagId = 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); if (this.IsSaleCountOrderBy) { int num3 = 0; if (int.TryParse(node.SelectSingleNode("SaleContMaxNum").InnerText, out num3)) { query.MaxNum = num3; } } if (!string.IsNullOrEmpty(node.SelectSingleNode("BrandCategoryId").InnerText)) { query.BrandCategoryId = new int?(int.Parse(node.SelectSingleNode("BrandCategoryId").InnerText)); } if (!string.IsNullOrEmpty(node.SelectSingleNode("ProductTypeId").InnerText)) { query.ProductTypeId = new int?(int.Parse(node.SelectSingleNode("ProductTypeId").InnerText)); } string str3 = node.SelectSingleNode("AttributeString").InnerText; if (!string.IsNullOrEmpty(str3)) { IList <AttributeValueInfo> list = new List <AttributeValueInfo>(); string[] strArray = str3.Split(new char[] { ',' }); for (int i = 0; i < strArray.Length; i++) { string[] strArray2 = strArray[i].Split(new char[] { '_' }); AttributeValueInfo item = new AttributeValueInfo { AttributeId = Convert.ToInt32(strArray2[0]), ValueId = Convert.ToInt32(strArray2[1]) }; list.Add(item); } query.AttributeValues = list; } } base.DataSource = ProductHelper.GetSubjectList(query); base.DataBind(); }
protected static string BuildProductSubjectQuerySearch(SubjectListQuery query) { int num2; StringBuilder builder = new StringBuilder(); builder.AppendFormat(" SaleStatus = {0}", 1); if (query.TagId != 0) { builder.AppendFormat(" AND ProductId IN(SELECT ProductId FROM Hishop_ProductTag WHERE TagId = {0})", query.TagId); } 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.BrandCategoryId.HasValue) { builder.AppendFormat(" AND BrandId = {0}", query.BrandCategoryId.Value); } if (query.ProductTypeId.HasValue) { builder.AppendFormat(" AND TypeId = {0}", query.ProductTypeId.Value); } if (query.AttributeValues.Count > 0) { foreach (AttributeValueInfo info2 in query.AttributeValues) { builder.AppendFormat(" AND (ProductId IN ( SELECT ProductId FROM Hishop_ProductAttributes WHERE AttributeId={0} And ValueId={1})) ", info2.AttributeId, info2.ValueId); } } 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 abstract DbQueryResult GetSubjectProduct(SubjectListQuery query);