Пример #1
0
 protected override void AttachChildControls()
 {
     int num;
     int num2;
     MemberInfo currentMember = MemberProcessor.GetCurrentMember();
     this.rptProducts = (VshopTemplatedRepeater) this.FindControl("rptProducts");
     this.txtTotal = (HtmlInputHidden) this.FindControl("txtTotal");
     if (!int.TryParse(this.Page.Request.QueryString["page"], out num))
     {
         num = 1;
     }
     if (!int.TryParse(this.Page.Request.QueryString["size"], out num2))
     {
         num2 = 20;
     }
     ProductConsultationAndReplyQuery consultationQuery = new ProductConsultationAndReplyQuery {
         UserId = currentMember.UserId,
         IsCount = true,
         PageIndex = num,
         PageSize = num2,
         SortBy = "ConsultationId",
         SortOrder = SortAction.Desc
     };
     DbQueryResult productConsultations = ProductBrowser.GetProductConsultations(consultationQuery);
     this.rptProducts.DataSource = productConsultations.Data;
     this.rptProducts.DataBind();
     this.txtTotal.SetWhenIsNotNull(productConsultations.TotalRecords.ToString());
     PageTitle.AddSiteNameTitle("商品咨询");
 }
Пример #2
0
 void BindPtConsultationReplyed()
 {
     ProductConsultationAndReplyQuery query = new ProductConsultationAndReplyQuery();
     query.PageIndex = this.pagerConsultationReplyed.PageIndex;
     query.UserId = HiContext.Current.User.UserId;
     query.Type = ConsultationReplyType.Replyed;
     int total = 0;
     DataSet productConsultationsAndReplys = CommentsHelper.GetProductConsultationsAndReplys(query, out total);
     this.dlstPtConsultationReplyed.DataSource = productConsultationsAndReplys.Tables[0].DefaultView;
     this.dlstPtConsultationReplyed.DataBind();
     this.pagerConsultationReplyed.TotalRecords = total;
 }
Пример #3
0
 private void BindConsultation()
 {
     ProductConsultationAndReplyQuery entity = new ProductConsultationAndReplyQuery();
     entity.Keywords = keywords;
     entity.CategoryId = categoryId;
     entity.ProductCode = productCode;
     entity.PageIndex = pager.PageIndex;
     entity.PageSize = pager.PageSize;
     entity.SortOrder = SortAction.Desc;
     entity.SortBy = "ReplyDate";
     entity.Type = ConsultationReplyType.NoReply;
      Globals.EntityCoding(entity, true);
     DbQueryResult consultationProducts = ProductCommentHelper.GetConsultationProducts(entity);
     grdConsultation.DataSource = consultationProducts.Data;
     grdConsultation.DataBind();
     pager.TotalRecords = consultationProducts.TotalRecords;
     pager1.TotalRecords = consultationProducts.TotalRecords;
 }
Пример #4
0
 private void BindConsultation()
 {
     ProductConsultationAndReplyQuery query2 = new ProductConsultationAndReplyQuery();
     query2.Keywords = this.keywords;
     query2.CategoryId = this.categoryId;
     query2.ProductCode = this.productCode;
     query2.PageIndex = this.pager.PageIndex;
     query2.PageSize = this.pager.PageSize;
     query2.SortOrder = SortAction.Desc;
     query2.SortBy = "ReplyDate";
     query2.Type = ConsultationReplyType.NoReply;
     ProductConsultationAndReplyQuery entity = query2;
     Globals.EntityCoding(entity, true);
     DbQueryResult consultationProducts = SubsiteCommentsHelper.GetConsultationProducts(entity);
     this.grdConsultation.DataSource = consultationProducts.Data;
     this.grdConsultation.DataBind();
     this.pager.TotalRecords = consultationProducts.TotalRecords;
     this.pager1.TotalRecords = consultationProducts.TotalRecords;
 }
 private void BinddlstProductConsultation()
 {
     ProductConsultationAndReplyQuery entity = new ProductConsultationAndReplyQuery {
         Keywords = this.keywords,
         CategoryId = this.categoryId,
         ProductCode = this.productCode,
         PageIndex = this.pager.PageIndex,
         PageSize = this.pager.PageSize,
         SortOrder = SortAction.Desc,
         SortBy = "ReplyDate",
         Type = ConsultationReplyType.Replyed
     };
     Globals.EntityCoding(entity, true);
     DbQueryResult consultationProducts = ProductCommentHelper.GetConsultationProducts(entity);
     this.grdConsultation.DataSource = consultationProducts.Data;
     this.grdConsultation.DataBind();
     this.pager.TotalRecords = consultationProducts.TotalRecords;
     this.pager1.TotalRecords = consultationProducts.TotalRecords;
 }
Пример #6
0
 protected override void AttachChildControls()
 {
     int num;
     int num2;
     if (!int.TryParse(this.Page.Request.QueryString["productId"], out this.productId))
     {
         base.GotoResourceNotFound("");
     }
     ProductConsultationAndReplyQuery consultationQuery = new ProductConsultationAndReplyQuery();
     if (!int.TryParse(this.Page.Request.QueryString["page"], out num))
     {
         num = 1;
     }
     if (!int.TryParse(this.Page.Request.QueryString["size"], out num2))
     {
         num2 = 20;
     }
     consultationQuery.ProductId = this.productId;
     consultationQuery.IsCount = true;
     consultationQuery.PageIndex = num;
     consultationQuery.PageSize = num2;
     consultationQuery.SortBy = "ConsultationId";
     consultationQuery.SortOrder = SortAction.Desc;
     consultationQuery.HasReplied = true;
     this.rptProducts = (VshopTemplatedRepeater) this.FindControl("rptProducts");
     this.txtTotal = (HtmlInputHidden) this.FindControl("txtTotal");
     DbQueryResult productConsultations = ProductBrowser.GetProductConsultations(consultationQuery);
     this.rptProducts.DataSource = productConsultations.Data;
     this.rptProducts.DataBind();
     this.txtTotal.SetWhenIsNotNull(productConsultations.TotalRecords.ToString());
     this.litProductTitle = (Literal) this.FindControl("litProductTitle");
     this.litShortDescription = (Literal) this.FindControl("litShortDescription");
     this.litSoldCount = (Literal) this.FindControl("litSoldCount");
     this.litSalePrice = (Literal) this.FindControl("litSalePrice");
     this.imgProductImage = (HtmlImage) this.FindControl("imgProductImage");
     ProductInfo product = ProductBrowser.GetProduct(MemberProcessor.GetCurrentMember(), this.productId);
     this.litProductTitle.SetWhenIsNotNull(product.ProductName);
     this.litShortDescription.SetWhenIsNotNull(product.ShortDescription);
     this.litSoldCount.SetWhenIsNotNull(product.ShowSaleCounts.ToString());
     this.litSalePrice.SetWhenIsNotNull(product.MinSalePrice.ToString("F2"));
     this.imgProductImage.Src = product.ThumbnailUrl60;
     PageTitle.AddSiteNameTitle("商品咨询");
 }
Пример #7
0
 public static DbQueryResult GetConsultationProducts(ProductConsultationAndReplyQuery consultationQuery)
 {
     return new ProductConsultationDao().GetConsultationProducts(consultationQuery);
 }
Пример #8
0
 public static DbQueryResult GetConsultationProducts(ProductConsultationAndReplyQuery consultationQuery)
 {
     return CommentsProvider.Instance().GetConsultationProducts(consultationQuery);
 }
Пример #9
0
 static string BuildProductConsultationQuery(ProductConsultationAndReplyQuery consultationQuery)
 {
     HiContext current = HiContext.Current;
     StringBuilder builder = new StringBuilder();
     builder.Append("SELECT c.ConsultationId FROM Hishop_Products p inner join Hishop_ProductConsultations c on p.productId=c.ProductId WHERE 0 = 0");
     if (consultationQuery.Type == ConsultationReplyType.NoReply)
     {
         builder.Append(" AND c.ReplyUserId IS NULL ");
     }
     else if (consultationQuery.Type == ConsultationReplyType.Replyed)
     {
         builder.Append(" AND c.ReplyUserId IS NOT NULL");
     }
     if (consultationQuery.ProductId > 0)
     {
         builder.AppendFormat(" AND p.ProductId = {0}", consultationQuery.ProductId);
         return builder.ToString();
     }
     if (!string.IsNullOrEmpty(consultationQuery.ProductCode))
     {
         builder.AppendFormat(" AND p.ProductCode LIKE '%{0}%'", DataHelper.CleanSearchString(consultationQuery.ProductCode));
     }
     if (!string.IsNullOrEmpty(consultationQuery.Keywords))
     {
         builder.AppendFormat(" AND p.ProductName LIKE '%{0}%'", DataHelper.CleanSearchString(consultationQuery.Keywords));
     }
     if (consultationQuery.CategoryId.HasValue)
     {
         builder.AppendFormat(" AND (p.CategoryId = {0}", consultationQuery.CategoryId.Value);
         builder.AppendFormat(" OR p.CategoryId IN (SELECT CategoryId FROM Hishop_Categories WHERE Path LIKE (SELECT Path FROM Hishop_Categories WHERE CategoryId = {0}) + '%'))", consultationQuery.CategoryId.Value);
     }
     if (!string.IsNullOrEmpty(consultationQuery.SortBy))
     {
         builder.AppendFormat(" ORDER BY {0} {1}", DataHelper.CleanSearchString(consultationQuery.SortBy), consultationQuery.SortOrder.ToString());
     }
     return builder.ToString();
 }
Пример #10
0
 static string BuildConsultationAndReplyQuery(ProductConsultationAndReplyQuery query)
 {
     StringBuilder builder = new StringBuilder();
     builder.Append(" SELECT ConsultationId FROM Hishop_ProductConsultations ");
     builder.Append(" WHERE 1 = 1");
     if (query.ProductId > 0)
     {
         builder.AppendFormat(" AND ProductId = {0} ", query.ProductId);
     }
     if (query.UserId > 0)
     {
         builder.AppendFormat(" AND UserId = {0} ", query.UserId);
     }
     if (query.Type == ConsultationReplyType.NoReply)
     {
         builder.Append(" AND ReplyUserId IS NULL");
     }
     else if (query.Type == ConsultationReplyType.Replyed)
     {
         builder.Append(" AND ReplyUserId IS NOT NULL");
     }
     builder.Append(" ORDER BY replydate DESC");
     return builder.ToString();
 }
Пример #11
0
 public override DbQueryResult GetConsultationProducts(ProductConsultationAndReplyQuery consultationQuery)
 {
     DbQueryResult result = new DbQueryResult();
     DbCommand storedProcCommand = database.GetStoredProcCommand("cp_ProductConsultation_Get");
     database.AddInParameter(storedProcCommand, "PageIndex", DbType.Int32, consultationQuery.PageIndex);
     database.AddInParameter(storedProcCommand, "PageSize", DbType.Int32, consultationQuery.PageSize);
     database.AddInParameter(storedProcCommand, "IsCount", DbType.Boolean, consultationQuery.IsCount);
     if (consultationQuery.CategoryId.HasValue)
     {
         database.AddInParameter(storedProcCommand, "CategoryId", DbType.Int32, consultationQuery.CategoryId.Value);
     }
     database.AddInParameter(storedProcCommand, "SqlPopulate", DbType.String, BuildProductConsultationQuery(consultationQuery));
     using (IDataReader reader = database.ExecuteReader(storedProcCommand))
     {
         result.Data = DataHelper.ConverDataReaderToDataTable(reader);
         if (consultationQuery.IsCount && reader.NextResult())
         {
             reader.Read();
             result.TotalRecords = reader.GetInt32(0);
         }
     }
     return result;
 }
Пример #12
0
 public override DataSet GetProductConsultationsAndReplys(ProductConsultationAndReplyQuery query, out int total)
 {
     DbCommand storedProcCommand = database.GetStoredProcCommand("ac_Member_ConsultationsAndReplys_Get");
     database.AddInParameter(storedProcCommand, "PageIndex", DbType.Int32, query.PageIndex);
     database.AddInParameter(storedProcCommand, "PageSize", DbType.Int32, query.PageSize);
     database.AddInParameter(storedProcCommand, "IsCount", DbType.Boolean, query.IsCount);
     database.AddInParameter(storedProcCommand, "sqlPopulate", DbType.String, BuildConsultationAndReplyQuery(query));
     database.AddOutParameter(storedProcCommand, "Total", DbType.Int32, 4);
     DataSet set = database.ExecuteDataSet(storedProcCommand);
     set.Relations.Add("ConsultationReplys", set.Tables[0].Columns["ConsultationId"], set.Tables[1].Columns["ConsultationId"], false);
     total = (int)database.GetParameterValue(storedProcCommand, "Total");
     return set;
 }
Пример #13
0
 public abstract DbQueryResult GetConsultationProducts(ProductConsultationAndReplyQuery consultationQuery);
Пример #14
0
 public abstract DataSet GetProductConsultationsAndReplys(ProductConsultationAndReplyQuery query, out int total);
Пример #15
0
 public static DataSet GetProductConsultationsAndReplys(ProductConsultationAndReplyQuery query, out int total)
 {
     return CommentDataProvider.Instance().GetProductConsultationsAndReplys(query, out total);
 }