public void BindItemAverageRating() { int index = 0; List <ItemRatingAverageInfo> avgRating = AspxRatingReviewController.GetItemAverageRating(itemSKU, aspxCommonObj); StringBuilder ratingBind = new StringBuilder(); if (avgRating != null && avgRating.Count > 0) { string script = "$('.cssClassAddYourReview').html('" + getLocale("Write Your Own Review") + "');$('.cssClassItemRatingBox').addClass('cssClassToolTip');"; string rating = "<div class=\"cssClassToolTipInfo\">", starrating = "<table cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" border=\"0\" id=\"tblAverageRating\">"; foreach (ItemRatingAverageInfo item in avgRating) { if (index == 0) { string spt = "$('.cssClassTotalReviews').html('" + getLocale("Read Reviews") + "[" + item.TotalReviewsCount + "]" + "');"; RatingCount = item.TotalReviewsCount; AvarageRating = (double)item.TotalRatingAverage; starrating += BindStarRating((double)item.TotalRatingAverage, script, spt); } index++; rating += BindViewDetailsRatingInfo(item.ItemRatingCriteriaID, item.ItemRatingCriteria, (double)item.RatingCriteriaAverage); } starrating += "</table>"; rating += "</div>"; rating += GetScriptRun("$('input.star').rating();"); starrating += GetScriptRun(ratingScript); ltrRatings.Text = starrating; //ratingBind.Append(GetScriptRun(script)); ltrratingDetails.Text = rating; } else { ratingBind.Append("<table cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" border=\"0\" id=\"tblAverageRating\"><tr><td>" + getLocale("Currently there are no reviews") + "</td></tr></table>"); string script = "$('.cssClassItemRatingBox').removeClass('cssClassToolTip');$('.cssClassSeparator').hide();$('.cssClassAddYourReview').html('" + getLocale("Be the first to review this item.") + "');"; ratingBind.Append(GetScriptRun(script)); ltrRatings.Text = ratingBind.ToString(); } }
private void CheckReviewByIP() { isReviewExistByIP = AspxRatingReviewController.CheckReviewByIP(itemID, aspxCommonObj, userIP); }
private void CheckReviewByUser() { isReviewExistByUser = AspxRatingReviewController.CheckReviewByUser(itemID, aspxCommonObj); }
public void GetFormFieldList(string itemSKU, AspxCommonInfo aspxCommonObj) { int RowTotal = 0; string resolvedUrl = ResolveUrl("~/"); string modulePath = this.AppRelativeTemplateSourceDirectory; string aspxTemplateFolderPath = resolvedUrl + "Templates/" + TemplateName; string aspxRootPath = resolvedUrl; hst = AppLocalized.getLocale(modulePath); string pageExtension = SageFrameSettingKeys.PageExtension; List <GroupInfo> arrList = new List <GroupInfo>(); int attributeSetId = 0; int index = 0; List <AttributeFormInfo> frmItemFieldList = AspxItemMgntController.GetItemFormAttributesByItemSKUOnly(itemSKU, aspxCommonObj); List <ItemRatingByUserInfo> lstRatingByUser = AspxRatingReviewController.GetItemRatingPerUser(1, 5, itemSKU, aspxCommonObj); List <ItemRatingByUserInfo> lstAvgRating = lstRatingByUser.GroupBy(x => x.ItemReviewID).Select(g => g.First()).ToList <ItemRatingByUserInfo>(); // var lstAvgRating=lstRatingByUser.Distinct(a) StringBuilder dynHtml = new StringBuilder(); foreach (AttributeFormInfo item in frmItemFieldList) { bool isGroupExist = false; dynHtml = new StringBuilder(); if (index == 0) { attributeSetId = (int)item.AttributeSetID; itemTypeId = (int)item.ItemTypeID; } index++; GroupInfo objGroup = new GroupInfo(); objGroup.key = (int)item.GroupID; objGroup.value = item.GroupName; objGroup.html = ""; foreach (GroupInfo objGroup1 in arrList) { if (objGroup1.key == item.GroupID) { isGroupExist = true; break; } } if (!isGroupExist) { if ((item.ItemTypeID == 2 || item.ItemTypeID == 3) && item.GroupID == 11) { } else { arrList.Add(objGroup); } } StringBuilder tr = new StringBuilder(); if ((item.ItemTypeID == 2 || item.ItemTypeID == 3) && item.AttributeID == 32 && item.AttributeID == 33 && item.AttributeID == 34) { } else { tr.Append("<tr><td class=\"cssClassTableLeftCol\"><label class=\"cssClassLabel\">"); tr.Append(item.AttributeName); tr.Append(": </label></td>"); tr.Append("<td><div id=\""); tr.Append(item.AttributeID); tr.Append("_"); tr.Append(item.InputTypeID); tr.Append("_"); tr.Append(item.ValidationTypeID); tr.Append("_"); tr.Append(item.IsRequired); tr.Append("_"); tr.Append(item.GroupID); tr.Append("_"); tr.Append(item.IsIncludeInPriceRule); tr.Append("_"); tr.Append(item.IsIncludeInPromotions); tr.Append("_"); tr.Append(item.DisplayOrder); tr.Append("\" name=\""); tr.Append(item.AttributeID); tr.Append("_"); tr.Append(item.InputTypeID); tr.Append("_"); tr.Append(item.ValidationTypeID); tr.Append("_"); tr.Append(item.IsRequired); tr.Append("_"); tr.Append(item.GroupID); tr.Append("_"); tr.Append(item.IsIncludeInPriceRule); tr.Append("_"); tr.Append(item.IsIncludeInPromotions); tr.Append("_"); tr.Append(item.DisplayOrder); tr.Append("\" title=\""); tr.Append(item.ToolTip); tr.Append("\">"); tr.Append("</div></td>"); tr.Append("</tr>"); } foreach (GroupInfo objGroupInfo in arrList) { if (objGroupInfo.key == item.GroupID) { objGroupInfo.html += tr; } } StringBuilder itemTabs = new StringBuilder(); dynHtml.Append("<div id=\"dynItemDetailsForm\" class=\"sfFormwrapper\" style=\"display:none\">"); dynHtml.Append("<div class=\"cssClassTabPanelTable\">"); dynHtml.Append("<div id=\"ItemDetails_TabContainer\" class=\"responsive-tabs\">"); for (var i = 0; i < arrList.Count; i++) { itemTabs.Append("<h2><span>"); itemTabs.Append(arrList[i].value); itemTabs.Append("</span></a></h2>"); itemTabs.Append("<div id=\"ItemTab-"); itemTabs.Append(arrList[i].key); itemTabs.Append("\"><div><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"); itemTabs.Append(arrList[i].html); itemTabs.Append("</table></div></div>"); } itemTabs.Append("<h2><span>"); itemTabs.Append(getLocale("Tags")); itemTabs.Append("</span></h2>"); StringBuilder itemTagsBody = new StringBuilder(); itemTagsBody.Append("<div class=\"cssClassPopularItemTags\"><div id=\"popularTag\"></div>"); if (aspxCommonObj.CustomerID > 0 && aspxCommonObj.UserName.ToLower() != "anonymoususer") { itemTagsBody.Append("<h2>"); itemTagsBody.Append(getLocale("My Tags:")); itemTagsBody.Append("</h2><div id=\"divMyTags\" class=\"cssClassMyTags\"></div>"); itemTagsBody.Append("<table id=\"AddTagTable\"><tr><td>"); itemTagsBody.Append("<input type=\"text\" class=\"classTag\" maxlength=\"20\"/>"); itemTagsBody.Append("<button class=\"cssClassDecrease\" type=\"button\"><span>-</span></button>"); itemTagsBody.Append("<button class=\"cssClassIncrease\" type=\"button\"><span>+</span></button>"); itemTagsBody.Append("</td></tr></table>"); itemTagsBody.Append("<div class=\"sfButtonwrapper\"><button type=\"button\" id=\"btnTagSubmit\"><span>"); itemTagsBody.Append(getLocale("+ Tag")); itemTagsBody.Append("</span></button></div>"); } else { SageFrameConfig sfConfig = new SageFrameConfig(); itemTagsBody.Append("<a href=\""); itemTagsBody.Append(aspxRedirectPath); itemTagsBody.Append(sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalLoginpage)); itemTagsBody.Append(pageExtension); itemTagsBody.Append("?ReturnUrl="); itemTagsBody.Append(aspxRedirectPath); itemTagsBody.Append("item/"); itemTagsBody.Append(itemSKU); itemTagsBody.Append(pageExtension); itemTagsBody.Append("\" class=\"cssClassLogIn\"><span>"); itemTagsBody.Append(getLocale("Sign in to enter tags")); itemTagsBody.Append("</span></a>"); } itemTagsBody.Append("</div>"); itemTabs.Append("<div id=\"ItemTab-Tags\"><table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td>"); itemTabs.Append(itemTagsBody); itemTabs.Append("</td></tr></table></div>"); itemTabs.Append("<h2><span>"); itemTabs.Append(getLocale("Ratings & Reviews")); itemTabs.Append(" </span></h2>"); // StringBuilder strUserRating = new StringBuilder(); itemTabs.Append("<div id=\"ItemTab-Reviews\">"); itemTabs.Append("<table cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" border=\"0\" id=\"tblRatingPerUser\">"); if (lstRatingByUser != null && lstRatingByUser.Count > 0) { foreach (ItemRatingByUserInfo UserItemRating in lstAvgRating) { RowTotal = UserItemRating.RowTotal; strUserRating.Append("<tr><td><div class=\"cssClassRateReview\"><div class=\"cssClassItemRating\">"); strUserRating.Append("<div class=\"cssClassItemRatingBox\">"); StringBuilder ratingStars = new StringBuilder(); string[] ratingTitle = { getLocale("Worst"), getLocale("Ugly"), getLocale("Bad"), getLocale("Not Bad"), getLocale("Average"), getLocale("OK"), getLocale("Nice"), getLocale("Good"), getLocale("Best"), getLocale("Excellent") }; string[] ratingText = { "0.5", "1.0", "1.5", "2.0", "2.5", "3.0", "3.5", "4.0", "4.5", "5.0" }; int i = 0; string ratingTitleText = string.Empty; ratingStars.Append("<div class=\"cssClassRatingStar\"><div class=\"cssClassToolTip\">"); for (i = 0; i < 10; i++) { if ((UserItemRating.RatingAverage).ToString() == ratingText[i]) { ratingStars.Append("<span class=\"cssClassRatingTitle2 cssClassUserRatingTitle_"); ratingStars.Append(UserItemRating.ItemReviewID); ratingStars.Append("\">"); ratingStars.Append(ratingTitle[i]); ratingStars.Append("</span>"); ratingStars.Append("<input name=\"avgRatePerUser"); ratingStars.Append(UserItemRating.ItemReviewID); ratingStars.Append("\"type=\"radio\" class=\"star-rate {split:2}\" disabled=\"disabled\" checked=\"checked\" value=\""); ratingStars.Append(ratingTitle[i]); ratingStars.Append("\" />"); ratingTitleText = ratingTitle[i]; } else { ratingStars.Append("<input name=\"avgRatePerUser"); ratingStars.Append(UserItemRating.ItemReviewID); ratingStars.Append("\" type=\"radio\" class=\"star-rate {split:2}\" disabled=\"disabled\" value="); ratingStars.Append(ratingTitle[i]); ratingStars.Append(" />"); } } ratingStars.Append("<input type=\"hidden\" value=\""); ratingStars.Append(ratingTitleText); ratingStars.Append("\" id=\"hdnRatingTitle"); ratingStars.Append(UserItemRating.ItemReviewID); ratingStars.Append("\"></input><span class=\"cssClassToolTipInfo cssClassReviewId_"); ratingStars.Append(UserItemRating.ItemReviewID); ratingStars.Append("\">"); List <ItemRatingByUserInfo> lstRatingCriteria = lstRatingByUser.Where(x => x.ItemReviewID == UserItemRating.ItemReviewID).ToList <ItemRatingByUserInfo>(); StringBuilder userRatingStarsDetailsInfo = new StringBuilder(); foreach (ItemRatingByUserInfo ratingCriteria in lstRatingCriteria) { string[] ratingText1 = { getLocale("Worst"), getLocale("Ugly"), getLocale("Bad"), getLocale("Not Bad"), getLocale("Average"), getLocale("OK"), getLocale("Nice"), getLocale("Good"), getLocale("Best"), getLocale("Excellent") }; string[] ratingValue = { "0.50", "1.00", "1.50", "2.00", "2.50", "3.00", "3.50", "4.00", "4.50", "5.00" }; int j = 0; userRatingStarsDetailsInfo.Append("<div class=\"cssClassToolTipDetailInfo\">"); userRatingStarsDetailsInfo.Append("<span class=\"cssClassCriteriaTitle\">"); userRatingStarsDetailsInfo.Append(ratingCriteria.ItemRatingCriteria); userRatingStarsDetailsInfo.Append(": </span>"); for (j = 0; j < 10; j++) { if ((ratingCriteria.RatingValue).ToString() == ratingValue[j]) { userRatingStarsDetailsInfo.Append("<input name=\"avgUserDetailRate"); userRatingStarsDetailsInfo.Append(ratingCriteria.ItemRatingCriteria); userRatingStarsDetailsInfo.Append("_"); userRatingStarsDetailsInfo.Append(ratingCriteria.ItemReviewID); userRatingStarsDetailsInfo.Append("\" type=\"radio\" class=\"star-rate {split:2}\" disabled=\"disabled\" checked=\"checked\" value="); userRatingStarsDetailsInfo.Append(ratingText1[j]); userRatingStarsDetailsInfo.Append(" />"); } else { userRatingStarsDetailsInfo.Append("<input name=\"avgUserDetailRate"); userRatingStarsDetailsInfo.Append(ratingCriteria.ItemRatingCriteria); userRatingStarsDetailsInfo.Append("_"); userRatingStarsDetailsInfo.Append(ratingCriteria.ItemReviewID); userRatingStarsDetailsInfo.Append("\" type=\"radio\" class=\"star-rate {split:2}\" disabled=\"disabled\" value="); userRatingStarsDetailsInfo.Append(ratingText1[j]); userRatingStarsDetailsInfo.Append(" />"); } } userRatingStarsDetailsInfo.Append("</div>"); } ratingStars.Append(userRatingStarsDetailsInfo.ToString()); ratingStars.Append("</span></div></div><div class=\"cssClassClear\"></div>"); strUserRating.Append(ratingStars); strUserRating.Append("</div>"); strUserRating.Append("<div class=\"cssClassRatingInfo\"><p><span>"); strUserRating.Append(getLocale("Reviewed by ")); strUserRating.Append("<strong>"); strUserRating.Append(UserItemRating.Username); strUserRating.Append("</strong></span></p><p class=\"cssClassRatingReviewDate\">("); strUserRating.Append(getLocale("Posted on")); strUserRating.Append(" <strong>"); strUserRating.Append(Format_The_Date(UserItemRating.AddedOn)); strUserRating.Append("</strong>)</p></div></div>"); strUserRating.Append("<div class=\"cssClassRatingdesc\"><p>"); strUserRating.Append(HttpUtility.HtmlDecode(UserItemRating.ReviewSummary)); strUserRating.Append("</p><p class=\"cssClassRatingReviewDesc\">"); strUserRating.Append(HttpUtility.HtmlDecode(UserItemRating.Review)); strUserRating.Append("</p></div>"); strUserRating.Append("</div></td></tr>"); StringBuilder strScript = new StringBuilder(); strScript.Append("$('input.star-rate').rating();"); strScript.Append("$('#tblRatingPerUser tr:even').addClass('sfOdd');"); strScript.Append("$('#tblRatingPerUser tr:odd').addClass('sfEven');"); strUserRating.Append(GetScriptRun(strScript.ToString())); } string strPage = CreateDropdownPageSize(RowTotal); itemTabs.Append(strPage); } else { strUserRating.Append(getLocale("Currently no reviews and ratings available")); } itemTabs.Append(strUserRating.ToString()); itemTabs.Append("</table>"); itemTabs.Append(BindItemVideo(aspxCommonObj)); dynHtml.Append(itemTabs); dynHtml.Append("</div></div></div>"); } if (itemSKU.Length > 0) { string script = BindDataInTab(itemSKU, attributeSetId, itemTypeId, aspxCommonObj); string tagBind = ""; tagBind = GetItemTags(itemSKU, aspxCommonObj); dynHtml.Append(script); dynHtml.Append(tagBind); ltrItemDetailsForm.Text = dynHtml.ToString(); } }