private static StringBuilder refreshAll() { var latest = new StringBuilder(); var products = Products.GetLatest(); var posts = Articles.GetLatest(); var result = products.Union(posts); result = result.OrderByDescending(item => item.Date); latest.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); latest.Append("<rss version=\"2.0\">"); latest.Append("<channel xmlns:atom=\"http://www.w3.org/2005/Atom\">"); latest.Append("<title>آخرین های آنلاین استور</title>"); latest.Append("<link>" + StaticValues.WebsiteUrl + "</link>"); latest.Append("<description>" + StaticValues.WebsiteDescription + "</description>"); latest.Append("<language>fa-IR</language>"); latest.Append("<copyright>Copyright " + DateTime.Now.Year + " " + StaticValues.WebsiteTitle + ". All rights reserved.</copyright>"); latest.Append("<lastBuildDate>" + RSSDateFormat(result.First().Date) + "</lastBuildDate>"); foreach (var item in result) { string url = String.Empty; if (item.Type == RSSRowType.Product) { var group = Groups.GetByID(item.GroupID.Value); url = (StaticValues.WebsiteUrl + UrlProvider.GetProductUrl(item.ID, group.UrlPerfix, item.UrlPerfix)).HtmlEncode(); } else { var group = Groups.GetByID(item.GroupID.Value); url = (StaticValues.WebsiteUrl + UrlProvider.GetPostUrl(item.ID, item.Title_Fa, group.TitleEn)).HtmlEncode(); } latest.Append("<item>"); latest.Append("<guid isPermaLink=\"true\">" + url + "</guid>"); latest.Append("<link>" + url + "</link>"); latest.Append("<category>" + item.GroupTitle.HtmlEncode() + "</category>"); latest.Append("<title>" + item.UrlPerfix.HtmlEncode() + "</title>"); latest.Append("<description>"); latest.Append(("<img src='" + (item.Type == RSSRowType.Product ? UrlProvider.GetProductImage(item.Image, StaticValues.DefaultProductImageSize) : UrlProvider.GetPostImage(item.Image, StaticValues.DefaultProductImageSize)) + "' />").HtmlEncode()); latest.Append(("<br/>").HtmlEncode()); latest.Append(item.Summary.HtmlEncode()); latest.Append("</description>"); latest.Append("<pubDate>" + RSSDateFormat(item.Date) + "</pubDate>"); latest.Append("</item>"); } latest.Append("</channel>"); latest.Append("</rss>"); return(latest); }
public JsonResult Search(string title, List <int> groupIDs) { var jsonSuccessResult = new JsonSuccessResult(); try { var list = Products.GetByGroupIDs(title, groupIDs); foreach (var item in list) { item.ImageFile = UrlProvider.GetProductImage(item.ImageFile, StaticValues.DefaultProductImageSize); item.Varients = ProductVarients.GetShortVarientByProductID(item.ID); } jsonSuccessResult.Success = true; jsonSuccessResult.Data = list; } catch (Exception ex) { jsonSuccessResult.Errors = new string[] { ex.Message }; jsonSuccessResult.Success = false; } return(new JsonResult() { Data = jsonSuccessResult }); }
private static StringBuilder refreshProducts() { var latestProducts = new StringBuilder(); var products = Products.GetLatestProducts(); latestProducts.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); latestProducts.Append("<rss version=\"2.0\">"); latestProducts.Append("<channel xmlns:atom=\"http://www.w3.org/2005/Atom\">"); latestProducts.Append("<title>آخرین محصولات آنلاین استور</title>"); latestProducts.Append("<link>" + StaticValues.WebsiteUrl + "</link>"); latestProducts.Append("<description>" + StaticValues.WebsiteDescription + "</description>"); latestProducts.Append("<language>fa-IR</language>"); latestProducts.Append("<copyright>Copyright " + DateTime.Now.Year + " " + StaticValues.WebsiteTitle + ". All rights reserved.</copyright>"); latestProducts.Append("<lastBuildDate>" + RSSDateFormat(products.First().CreatedDate) + "</lastBuildDate>"); foreach (var item in products) { var group = Groups.GetByID(item.GroupID.Value); string url = (StaticValues.WebsiteUrl + UrlProvider.GetProductUrl(item.ID, group.UrlPerfix, item.UrlPerfix)).HtmlEncode(); latestProducts.Append("<item>"); latestProducts.Append("<guid isPermaLink=\"true\">" + url + "</guid>"); latestProducts.Append("<link>" + url + "</link>"); latestProducts.Append("<category>" + group.Title.HtmlEncode() + "</category>"); latestProducts.Append("<title>" + (item.Title_En + " - " + item.Title_Fa).HtmlEncode() + "</title>"); latestProducts.Append("<description>"); latestProducts.Append(("<img src='" + UrlProvider.GetProductImage(item.ImageFile, StaticValues.DefaultProductImageSize) + "' />").HtmlEncode()); latestProducts.Append(("<br/>").HtmlEncode()); latestProducts.Append(item.Summary.HtmlEncode()); latestProducts.Append("</description>"); latestProducts.Append("<pubDate>" + RSSDateFormat(item.CreatedDate) + "</pubDate>"); latestProducts.Append("</item>"); } latestProducts.Append("</channel>"); latestProducts.Append("</rss>"); return(latestProducts); }
private JsonProductCompare GetJsonProductCompare(int productID, int groupID) { var product = Products.GetDetails(productID); var group = Groups.GetByID(groupID); product.Title = group.Perfix + " " + product.Title; product.Title_En = product.Title_En + " " + group.Perfix_En; var url = UrlProvider.GetProductUrl(productID, group.UrlPerfix, product.UrlPerfix); #region Image File string fileName = ""; var imageInfo = ProductImages.GetDefaultImage(productID); if (imageInfo != null) { fileName = imageInfo.Filename; } var image = UrlProvider.GetProductImage(fileName, StaticValues.ThumbnailProductImageSize); #endregion Image File #region Scores float totalScore = Utilities.CalcRaty(product.SumScore.Value, product.ScoreCount, product.ProductScore); List <ScoresAverage> scoresAverages = ScoreParameterValues.CalculateAverage(productID); #endregion Scores #region Attributes var groups = ProductGroups.GetByProductID(productID).Select(item => item.GroupID).ToList(); var attrbutes = Attributes.GetByGroupIDs(groups); foreach (var item in attrbutes) { item.Value = AttributeValues.GetValue(productID, item.ID); if (item.Value != null) { item.Value = AttributeValues.RenderValue(item); } } #endregion Attributes #region Prices product.Prices = Products.GetProductPrices(product.ID, product.HasVarients, PriceType.Sell); string userID = null; if (User.Identity.IsAuthenticated) { userID = UserID; } Products.SetDiscounts(userID, product.ID, product.HasVarients, product.Prices); #endregion Prices var productItem = new JsonProductCompare { ProductID = productID, DisplayTitleType = product.DisplayTitleType, Title_Fa = product.Title, Title_En = product.Title_En, Url = url, Prices = product.Prices, Image = image, Score = totalScore, PreferentialsCount = product.ScoreCount + 1, Attributes = attrbutes, ScoresAverages = scoresAverages, GroupID = groupID, IsUnavailable = product.IsUnavailable }; return(productItem); }
public static List <ViewCartItem> GetByCartID(int cartID, string userID) { using (var db = OnlineStoreDbContext.Entity) { var query = from item in db.CartItems where item.CartID == cartID select new ViewCartItem() { ID = item.ID, ProductVarientID = item.ProductVarientID, ProductID = item.ProductID, PackageID = item.PackageID, Quantity = item.Quantity }; var result = query.ToList(); foreach (var item in result) { if (item.ProductVarientID.HasValue || item.ProductID.HasValue) { var priceItem = new PriceItem(); if (item.ProductVarientID.HasValue) { var productVarient = ProductVarients.GetByID(item.ProductVarientID.Value); item.CartProductID = productVarient.ProductID; item.Price = ProductVarientPrices.GetPriceByProductVarientID(item.ProductVarientID.Value); priceItem.ID = item.ProductVarientID.Value; } else if (item.ProductID.HasValue) { item.CartProductID = item.ProductID.Value; } var product = Products.GetByID(item.CartProductID); var group = Groups.GetByID(product.GroupID.Value); product.Title = group.Perfix + " " + product.Title; product.Title_En = product.Title_En + " " + group.Perfix_En; item.Title = product.DisplayTitle; item.Image = (from img in db.ProductImages where img.ProductID == item.CartProductID && img.ProductImagePlace == ProductImagePlace.Home select img.Filename).FirstOrDefault(); item.HasVarients = product.HasVarients; item.Image = UrlProvider.GetProductImage(item.Image, StaticValues.MiniCartProductImageSize); item.Url = UrlProvider.GetProductUrl(item.CartProductID, group.UrlPerfix, product.UrlPerfix); #region Prices if (item.ProductVarientID.HasValue) { item.VarientTitle = ProductVarientAttributes.GetVarients(item.ProductVarientID.Value); } else if (item.ProductID.HasValue) { item.Price = (from price in db.ProductPrices where price.ProductID == item.CartProductID && price.PriceType == PriceType.Sell orderby price.LastUpdate descending select price.Price).FirstOrDefault(); } priceItem.Price = item.Price; var prices = new List <PriceItem>() { priceItem }; var productID = (item.ProductID.HasValue ? item.ProductID.Value : ProductVarients.GetProductID(item.ProductVarientID.Value)); Products.SetDiscounts(userID, product.ID, product.HasVarients, prices); item.DiscountPercent = priceItem.DiscountPercent; item.DiscountPrice = priceItem.DiscountPrice; #endregion Prices DateTime now = DateTime.Now; var gifts = (from gift in db.ProductGifts where ((item.ProductID != null && gift.ProductID == item.ProductID) || (item.ProductID == null && gift.ProductID == item.CartProductID)) && gift.StartDate <= now && gift.EndDate >= now select new ViewCartItemGift { ID = gift.ID, ProductID = gift.ProductID, GiftTitle = gift.Gift.Title, GiftID = gift.GiftID }).ToList(); foreach (var gift in gifts) { var gProduct = Products.GetByID(gift.GiftID); var gGroup = Groups.GetByID(gProduct.GroupID.Value); gift.Url = UrlProvider.GetProductUrl(gProduct.ID, gGroup.UrlPerfix, gProduct.UrlPerfix); var giftPrices = Products.GetProductPrices(gift.GiftID, false, PriceType.Sell); var price = giftPrices.LastOrDefault(); if (price != null) { gift.Price = price.Price; } } item.Gifts = gifts; item.IsFreeDelivery = product.IsFreeDelivery; } else if (item.PackageID.HasValue) { var package = Packages.GetByID(item.PackageID.Value); item.Title = package.Title; item.Image = (from img in db.PackageImages where img.PackageID == package.ID && img.PackageImagePlace == ProductImagePlace.Home select img.Filename).FirstOrDefault(); item.Image = UrlProvider.GetPackageImage(item.Image, StaticValues.MiniCartProductImageSize); item.Url = UrlProvider.GetPackageUrl(item.Title, item.PackageID.Value); #region Prices var products = PackageProducts.GetProducts(item.PackageID.Value); item.Price = products.Sum(a => a.OldPrice); item.DiscountPrice = products.Sum(a => a.NewPrice); item.DiscountPercent = (item.Price * 100) / item.DiscountPrice; #endregion Prices } } return(result); } }