public void GetProductAttrList() { int num = 0; int.TryParse(this.context.Request["CombinationId"], out num); string text = this.context.Request["ProductIds"]; if (num != 0 && !string.IsNullOrEmpty(text)) { if (HiContext.Current.UserId == 0) { this.context.Response.ContentType = "text/json"; this.context.Response.Write("{\"error\":\"noLogin\"}"); } else { StringBuilder stringBuilder = new StringBuilder(); SiteSettings masterSettings = SettingsManager.GetMasterSettings(); stringBuilder.Append("["); DataTable combinationProducts = CombinationBuyHelper.GetCombinationProducts(num, text); for (int i = 0; i < combinationProducts.Rows.Count; i++) { stringBuilder.Append("{"); stringBuilder.AppendFormat("\"ProductId\":\"{0}\",", combinationProducts.Rows[i]["ProductId"]); stringBuilder.AppendFormat("\"ProductName\":\"{0}\",", combinationProducts.Rows[i]["ProductName"]); string arg = string.IsNullOrEmpty(combinationProducts.Rows[i]["ThumbnailUrl40"].ToString()) ? masterSettings.DefaultProductThumbnail1 : combinationProducts.Rows[i]["ThumbnailUrl40"].ToString(); stringBuilder.AppendFormat("\"ThumbnailUrl40\":\"{0}\",", arg); string arg2 = string.IsNullOrEmpty(combinationProducts.Rows[i]["ThumbnailUrl100"].ToString()) ? masterSettings.DefaultProductThumbnail3 : combinationProducts.Rows[i]["ThumbnailUrl100"].ToString(); stringBuilder.AppendFormat("\"ThumbnailUrl100\":\"{0}\",", arg2); stringBuilder.AppendFormat("\"MinCombinationPrice\":\"{0}\",", combinationProducts.Rows[i]["MinCombinationPrice"]); stringBuilder.AppendFormat("\"AllStock\":\"{0}\",", combinationProducts.Rows[i]["AllStock"]); stringBuilder.AppendFormat("\"SingleSkuId\":\"{0}\",", combinationProducts.Rows[i]["SingleSkuId"]); int productId = int.Parse(combinationProducts.Rows[i]["ProductId"].ToString()); DataTable skuItemByProductId = CombinationBuyHelper.GetSkuItemByProductId(productId); if (skuItemByProductId != null && skuItemByProductId.Rows.Count > 0) { stringBuilder.Append("\"details\":["); for (int j = 0; j < skuItemByProductId.Rows.Count; j++) { stringBuilder.Append("{"); stringBuilder.AppendFormat("\"SkuId\":\"{0}\",", skuItemByProductId.Rows[j]["SkuId"]); stringBuilder.AppendFormat("\"AttributeId\":\"{0}\",", skuItemByProductId.Rows[j]["AttributeId"]); stringBuilder.AppendFormat("\"AttributeName\":\"{0}\",", skuItemByProductId.Rows[j]["AttributeName"]); stringBuilder.AppendFormat("\"UseAttributeImage\":\"{0}\",", skuItemByProductId.Rows[j]["UseAttributeImage"]); stringBuilder.AppendFormat("\"ValueId\":\"{0}\",", skuItemByProductId.Rows[j]["ValueId"]); stringBuilder.AppendFormat("\"ValueStr\":\"{0}\",", skuItemByProductId.Rows[j]["ValueStr"]); stringBuilder.AppendFormat("\"ImageUrl\":\"{0}\",", skuItemByProductId.Rows[j]["ImageUrl"]); stringBuilder.AppendFormat("\"ThumbnailUrl40\":\"{0}\",", skuItemByProductId.Rows[j]["ThumbnailUrl40"]); stringBuilder.AppendFormat("\"ThumbnailUrl410\":\"{0}\"", skuItemByProductId.Rows[j]["ThumbnailUrl410"]); if (j == skuItemByProductId.Rows.Count - 1) { stringBuilder.Append("}"); } else { stringBuilder.Append("},"); } } stringBuilder.Append("]"); } else { stringBuilder.Append("\"details\":[]"); } if (i == combinationProducts.Rows.Count - 1) { stringBuilder.Append("}"); } else { stringBuilder.Append("},"); } } stringBuilder.Append("]"); this.context.Response.ContentType = "text/json"; this.context.Response.Write(stringBuilder); } } }