Пример #1
0
    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();
        }
    }
Пример #2
0
 private void CheckReviewByIP()
 {
     isReviewExistByIP = AspxRatingReviewController.CheckReviewByIP(itemID, aspxCommonObj, userIP);
 }
Пример #3
0
 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("&nbsp;<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();
        }
    }