private void GetLatestItemsByCount()
    {
        AspxCommonInfo aspxCommonObj = new AspxCommonInfo();

        aspxCommonObj.StoreID     = StoreID;
        aspxCommonObj.PortalID    = PortalID;
        aspxCommonObj.UserName    = UserName;
        aspxCommonObj.CultureName = CultureName;
        List <LatestItemsInfo> latestItemsInfo    = AspxItemMgntController.GetLatestItemsByCount(aspxCommonObj, NoOfLatestItems);
        StringBuilder          RecentItemContents = new StringBuilder();
        string modulePath = this.AppRelativeTemplateSourceDirectory;

        hst = AppLocalized.getLocale(modulePath);
        string             pageExtension          = SageFrameSettingKeys.PageExtension;
        string             aspxTemplateFolderPath = ResolveUrl("~/") + "Templates/" + TemplateName;
        string             aspxRootPath           = ResolveUrl("~/");
        decimal            rate           = 1;
        StoreSettingConfig ssc            = new StoreSettingConfig();
        decimal            additionalCCVR = decimal.Parse(ssc.GetStoreSettingsByKey(StoreSetting.AdditionalCVR, StoreID, PortalID, CultureName));
        string             MainCurrency   = ssc.GetStoreSettingsByKey(StoreSetting.MainCurrency, StoreID, PortalID, CultureName);

        if (HttpContext.Current.Session["CurrencyRate"] != null)
        {
            if (Session["CurrencyCode"].ToString() != MainCurrency)
            {
                decimal rate1 = decimal.Parse(Session["CurrencyRate"].ToString());
                rate = Math.Round(rate1 + (rate1 * additionalCCVR / 100), 4);
            }
            else
            {
                rate = decimal.Parse(Session["CurrencyRate"].ToString());
            }
        }
        if (latestItemsInfo != null && latestItemsInfo.Count > 0)
        {
            foreach (LatestItemsInfo item in latestItemsInfo)
            {
                string imagePath    = "Modules/AspxCommerce/AspxItemsManagement/uploads/" + item.ImagePath;
                string altImagePath = "Modules/AspxCommerce/AspxItemsManagement/uploads/" + item.AlternateImagePath;
                if (item.ImagePath == "")
                {
                    imagePath = DefaultImagePath;
                }
                if (item.AlternateText == "")
                {
                    item.AlternateText = item.Name;
                }
                if (item.AlternateImagePath == "")
                {
                    altImagePath = imagePath;
                }
                string itemPrice     = Math.Round(double.Parse((item.Price).ToString()), 2).ToString();
                string itemPriceRate = Math.Round(double.Parse((item.Price * rate).ToString()), 2).ToString();

                RecentItemContents.Append("<div class=\"cssClassProductsBox\">");
                var hrefItem = aspxRedirectPath + "item/" + fixedEncodeURIComponent(item.SKU) + pageExtension;
                RecentItemContents.Append("<div id=\"productImageWrapID_");
                RecentItemContents.Append(item.ItemID);
                RecentItemContents.Append("\" class=\"cssClassProductsBoxInfo\" costvariantItem=");
                RecentItemContents.Append(item.IsCostVariantItem);
                RecentItemContents.Append("  itemid=\"");
                RecentItemContents.Append(item.ItemID);
                RecentItemContents.Append("\"><a href=\"");
                RecentItemContents.Append(hrefItem);
                RecentItemContents.Append("\" title=\"" + item.Name + "\"><h2>");
                string name = string.Empty;
                if (item.Name.Length > 50)
                {
                    name = item.Name.Substring(0, 50);
                    int index = 0;
                    index = name.LastIndexOf(' ');
                    name  = name.Substring(0, index);
                    name  = name + "...";
                }
                else
                {
                    name = item.Name;
                }
                RecentItemContents.Append(name);
                RecentItemContents.Append("</h2></a><h3>");
                RecentItemContents.Append(item.SKU);
                RecentItemContents.Append("</h3><div class=\"divQuickLookonHover\"><div class=\"divitemImage cssClassProductPicture\"><a href=\"");
                RecentItemContents.Append(hrefItem);
                RecentItemContents.Append("\" ><img id=\"img_");
                RecentItemContents.Append(item.ItemID);
                RecentItemContents.Append("\"  alt=\"");
                RecentItemContents.Append(item.AlternateText);
                RecentItemContents.Append("\"  title=\"");
                RecentItemContents.Append(item.AlternateText);
                RecentItemContents.Append("\"");
                RecentItemContents.Append("src=\"");
                RecentItemContents.Append(aspxRootPath);
                RecentItemContents.Append(imagePath.Replace("uploads", "uploads/Medium"));
                RecentItemContents.Append("\" orignalPath=\"");
                RecentItemContents.Append(imagePath.Replace("uploads", "uploads/Medium"));
                RecentItemContents.Append("\" altImagePath=\"");
                RecentItemContents.Append(altImagePath.Replace("uploads", "uploads/Medium"));
                //RecentItemContents.Append("\" onmouseover='SwapImageOnMouseOver(this.id,\"");
                //RecentItemContents.Append(aspxRootPath);
                //RecentItemContents.Append(item.AlternateImagePath.Replace("uploads", "uploads/Medium"));
                //RecentItemContents.Append("\")' onmouseout='SwapImageOnMouseOut(this.id,\"");
                //RecentItemContents.Append(aspxRootPath);
                //RecentItemContents.Append(item.ImagePath.Replace("uploads", "uploads/Medium"));
                RecentItemContents.Append("\"/></a></div>");

                if (item.HidePrice != true)
                {
                    if (item.ListPrice != null)
                    {
                        string strAmount = Math.Round((double)(item.ListPrice * rate), 2).ToString();
                        RecentItemContents.Append("<div class=\"cssClassProductPriceBox\"><div class=\"cssClassProductPrice\">");
                        RecentItemContents.Append("<p class=\"cssClassProductOffPrice\">");
                        //RecentItemContents.Append(getLocale("Regular Price :"));
                        RecentItemContents.Append("<span class=\"cssClassFormatCurrency\" value=\"");
                        RecentItemContents.Append(Math.Round(double.Parse(item.ListPrice.ToString()), 2).ToString());
                        RecentItemContents.Append("\">");
                        RecentItemContents.Append(strAmount);
                        RecentItemContents.Append("</span></p><p class=\"cssClassProductRealPrice \" >");
                        //RecentItemContents.Append(getLocale("Our Offer :"));
                        RecentItemContents.Append("<span class=\"cssClassFormatCurrency\" value=\"");
                        RecentItemContents.Append(itemPrice);
                        RecentItemContents.Append("\">");
                        RecentItemContents.Append(itemPriceRate);
                        RecentItemContents.Append("</span></p></div></div>");
                    }
                    else
                    {
                        RecentItemContents.Append("<div class=\"cssClassProductPriceBox\"><div class=\"cssClassProductPrice\">");
                        RecentItemContents.Append("<p class=\"cssClassProductRealPrice \" >");
                        //RecentItemContents.Append(getLocale("Our Offer :"));
                        RecentItemContents.Append("<span class=\"cssClassFormatCurrency\" value=\"");
                        RecentItemContents.Append(itemPrice);
                        RecentItemContents.Append("\">");
                        RecentItemContents.Append(itemPriceRate);
                        RecentItemContents.Append("</span></p></div></div>");
                    }
                }
                else
                {
                    RecentItemContents.Append("<div class=\"cssClassProductPriceBox\"></div>");
                }
                RecentItemContents.Append("<div class=\"cssClassProductDetail\"><p><a href=\"");
                RecentItemContents.Append(aspxRedirectPath);
                RecentItemContents.Append("item/");
                RecentItemContents.Append(item.SKU);
                RecentItemContents.Append(pageExtension);
                RecentItemContents.Append("\">");
                RecentItemContents.Append(getLocale("Details"));
                RecentItemContents.Append("</a></p></div>");

                RecentItemContents.Append("<div class=\"sfQuickLook\" style=\"display:none\">");
                RecentItemContents.Append("<img itemId=\"");
                RecentItemContents.Append(item.ItemID);
                RecentItemContents.Append("\" sku=\"");
                RecentItemContents.Append(item.SKU);
                RecentItemContents.Append("\" src=\"");
                RecentItemContents.Append(aspxTemplateFolderPath);
                RecentItemContents.Append("/images/QV_Button.png\" alt=\"\" rel=\"popuprel\" />");
                RecentItemContents.Append("</div>");
                RecentItemContents.Append("</div>");

                RecentItemContents.Append("<div class=\"sfButtonwrapper\">");
                if (AllowWishListLatestItem.ToLower() == "true")
                {
                    if (GetCustomerID > 0 && GetUsername.ToLower() != "anonymoususer")
                    {
                        RecentItemContents.Append("<div class=\"cssClassWishListButton\">");
                        RecentItemContents.Append("<button type=\"button\" class=\"addWishList\" onclick=\"LatestItems.CheckWishListUniqueness(");
                        RecentItemContents.Append(item.ItemID);
                        RecentItemContents.Append(",'");
                        RecentItemContents.Append(item.SKU);
                        RecentItemContents.Append("',this);\"><span><span><span>+</span>");
                        RecentItemContents.Append(getLocale("Wishlist"));
                        RecentItemContents.Append("</span></span></button></div>");
                    }
                    else
                    {
                        RecentItemContents.Append("<div class=\"cssClassWishListButton\">");
                        RecentItemContents.Append("<button type=\"button\" class=\"addWishList\" onclick=\"AspxCommerce.RootFunction.Login();\">");
                        RecentItemContents.Append("<span><span><span>+</span>");
                        RecentItemContents.Append(getLocale("Wishlist"));
                        RecentItemContents.Append("</span></span></button></div>");
                    }
                }
                //RecentItemContents+="<input type=\"button\" id=\"addWishList\" value=\"Add To Wishlist\" onclick='AddToWishList(" + item.ItemID + ");'/>";
                //RecentItemContents += "<div class=\"cssClassWishListDetail\"><p><a href='addtowishlist.aspx?itemId="+ item.ItemID + "'>Add to Wishlist</a></p>";
                if (AllowAddToCompareLatest.ToLower() == "true")
                {
                    RecentItemContents.Append("<div class=\"cssClassCompareButton\">");
                    RecentItemContents.Append("<label><input type=\"checkbox\" id=\"compare-");
                    RecentItemContents.Append(item.ItemID);
                    RecentItemContents.Append("\" onclick=\"LatestItems.AddItemsToCompare(");
                    RecentItemContents.Append(item.ItemID);
                    RecentItemContents.Append(",'");
                    RecentItemContents.Append(item.SKU);
                    RecentItemContents.Append("',this);\"/><span>");
                    RecentItemContents.Append(getLocale("Compare"));
                    RecentItemContents.Append("</span></label></div>");
                }
                RecentItemContents.Append("</div>");
                RecentItemContents.Append("<div class=\"cssClassclear\"></div>");
                string itemSKU  = item.SKU;
                string itemName = item.Name;
                if (AllowOutStockPurchase.ToLower() == "false")
                {
                    if (item.IsOutOfStock == true)
                    {
                        RecentItemContents.Append("</div><div class=\"cssClassAddtoCard\"><div class=\"sfButtonwrapper cssClassOutOfStock\">");
                        RecentItemContents.Append("<button type=\"button\"><span>");
                        RecentItemContents.Append(getLocale("Out Of Stock"));
                        RecentItemContents.Append("</span></button></div></div>");
                    }
                    else
                    {
                        // RecentItemContents += "</div><div class=\"cssClassAddtoCard\"><div class=\"sfButtonwrapper\"><a href=\"#\" title=" + itemName + "  onclick='LatestItems.AddToCartToJS(" + item.ItemID + "," + item.Price.toFixed(2) + "," + itemSKU + "," + 1 + ");'><span>Add to cart</span></a></div></div>";
                        RecentItemContents.Append("</div><div class=\"cssClassAddtoCard\"><div class=\"sfButtonwrapper\">");
                        RecentItemContents.Append("<button type=\"button\" class=\"addtoCart\" title=\"");
                        RecentItemContents.Append(itemName);
                        RecentItemContents.Append("\" onclick=\"LatestItems.AddToCartToJS(");
                        RecentItemContents.Append(item.ItemID);
                        RecentItemContents.Append(",");
                        RecentItemContents.Append(itemPrice);
                        RecentItemContents.Append(",'");
                        RecentItemContents.Append(itemSKU);
                        RecentItemContents.Append("',");
                        RecentItemContents.Append(1);
                        RecentItemContents.Append(",this);\"><span><span>");
                        RecentItemContents.Append(getLocale("Add to cart"));
                        RecentItemContents.Append("</span></span></button></div></div>");
                    }
                }
                else
                {
                    RecentItemContents.Append("</div><div class=\"cssClassAddtoCard\"><div class=\"sfButtonwrapper\">");
                    RecentItemContents.Append("<button type=\"button\" class=\"addtoCart\" title=\"");
                    RecentItemContents.Append(itemName);
                    RecentItemContents.Append("\" onclick=\"LatestItems.AddToCartToJS(");
                    RecentItemContents.Append(item.ItemID);
                    RecentItemContents.Append(",");
                    RecentItemContents.Append(itemPrice);
                    RecentItemContents.Append(",'");
                    RecentItemContents.Append(itemSKU);
                    RecentItemContents.Append("',");
                    RecentItemContents.Append(1);
                    RecentItemContents.Append(",this);\"><span><span>");
                    RecentItemContents.Append(getLocale("Add to cart"));
                    RecentItemContents.Append("</span></span></button></div></div>");
                }
                RecentItemContents.Append("</div>");
            }
        }

        else
        {
            RecentItemContents.Append("<span class=\"cssClassNotFound\">");
            RecentItemContents.Append(getLocale("This store has no items listed yet!"));
            RecentItemContents.Append("</span>");
        }
        tblRecentItems.InnerHtml = RecentItemContents.ToString();
    }
Пример #2
0
    private void BindLatestItemCarousel()
    {
        decimal            rate           = 1;
        StoreSettingConfig ssc            = new StoreSettingConfig();
        decimal            additionalCCVR = decimal.Parse(ssc.GetStoreSettingsByKey(StoreSetting.AdditionalCVR, StoreID, PortalID, CultureName));
        string             MainCurrency   = ssc.GetStoreSettingsByKey(StoreSetting.MainCurrency, StoreID, PortalID, CultureName);

        if (HttpContext.Current.Session["CurrencyRate"] != null)
        {
            if (Session["CurrencyCode"].ToString() != MainCurrency)
            {
                decimal rate1 = decimal.Parse(Session["CurrencyRate"].ToString());
                rate = Math.Round(rate1 + (rate1 * additionalCCVR / 100), 4);
            }
            else
            {
                rate = decimal.Parse(Session["CurrencyRate"].ToString());
            }
        }
        AspxCommonInfo aspxCommonObj = new AspxCommonInfo();

        aspxCommonObj.StoreID     = StoreID;
        aspxCommonObj.PortalID    = PortalID;
        aspxCommonObj.UserName    = UserName;
        aspxCommonObj.CultureName = CultureName;
        string modulePath             = this.AppRelativeTemplateSourceDirectory;
        string aspxTemplateFolderPath = ResolveUrl("~/") + "Templates/" + TemplateName;
        string aspxRootPath           = ResolveUrl("~/");

        hst = AppLocalized.getLocale(modulePath);
        string pageExtension = SageFrameSettingKeys.PageExtension;

        StringBuilder          lstItemNewCarStringBld = new StringBuilder();
        List <LatestItemsInfo> lstLatestItems         = AspxItemMgntController.GetLatestItemsByCount(aspxCommonObj,
                                                                                                     NoOfLatestItems);

        if (lstLatestItems != null && lstLatestItems.Count > 0)
        {
            foreach (LatestItemsInfo value in lstLatestItems)
            {
                StringBuilder template = GetLstItemCarouselTemp(AllowOutStockPurchase, value);
                decimal?      discount;
                string        discountOffer = "";
                if (value.ListPrice != null && value.ListPrice > 0)
                {
                    discount      = ((value.ListPrice - value.Price) / value.ListPrice) * 100;
                    discountOffer = Math.Round(double.Parse(discount.ToString())).ToString() + "%";
                }
                if (value.ImagePath == "")
                {
                    value.ImagePath = DefaultImagePath;
                }
                string[] tokens = EmailTemplate.GetAllToken(template.ToString());
                foreach (var token in tokens)
                {
                    switch (token)
                    {
                    case "%aspxRedirectPath%":
                        template = template.Replace(token, aspxRedirectPath);
                        break;

                    case "%sku%":
                        template = template.Replace(token, value.SKU);
                        break;

                    case "%pageExtension%":
                        template = template.Replace(token, pageExtension);
                        break;

                    case "%imagePath%":
                        template = template.Replace(token,
                                                    aspxRootPath +
                                                    value.ImagePath.Replace("uploads", "uploads/Small"));
                        break;

                    case "%alternateText%":
                        template = template.Replace(token, value.AlternateText);
                        break;

                    case "%name%":
                        string name = string.Empty;
                        if (value.Name.Length > 50)
                        {
                            name = value.Name.Substring(0, 50);
                            int index = 0;
                            index = name.LastIndexOf(' ');
                            name  = name.Substring(0, index);
                            name  = name + "...";
                        }
                        else
                        {
                            name = value.Name;
                        }
                        template = template.Replace(token, name);
                        break;

                    case "%discountOffer%":
                        template = template.Replace(token, discountOffer);
                        break;

                    case "%listPrice%":
                        template = template.Replace(token, value.ListPrice.ToString());
                        break;

                    case "%price%":
                        template = template.Replace(token,
                                                    Math.Round(double.Parse((value.Price * rate).ToString()), 2).
                                                    ToString());
                        break;

                    case "%itemID%":
                        template = template.Replace(token, value.ItemID.ToString());
                        break;

                    case "%(price/rate).toFixed(2)%":
                        template = template.Replace(token,
                                                    Math.Round(double.Parse((value.Price).ToString()), 2).ToString());
                        break;

                    case "%JSON2.stringify(sku)%":
                        template = template.Replace(token, value.SKU);
                        break;

                    case "%1%":
                        template = template.Replace(token, "1");
                        break;

                    case "%title%":
                        template = template.Replace(token, value.Name);
                        break;
                    }
                }
                lstItemNewCarStringBld.Append(template);
            }
        }
        else
        {
            lstItemNewCarStringBld.Append("<li>");
            lstItemNewCarStringBld.Append("<span class=\"cssClassNotFound\">");
            lstItemNewCarStringBld.Append(getLocale("This store has no items listed yet!"));
            lstItemNewCarStringBld.Append("</span></li>");
        }
        ltrLatestItemCarousel.Text = lstItemNewCarStringBld.ToString();
    }