private List <CseProductInfo> ParseShoppingProducts(int cse, string source, DataTable products, DataTable productMerchants) { if (products == null || products.Rows.Count == 0) { return(null); } var productsList = new List <CseProductInfo>(); for (int i = 0; i < products.Rows.Count; i++) { var product = new CseProductInfo(); product.ShoppingEngine = cse; product.Source = source; product.ProductId = products.Rows[i]["PID"] as string; product.CategoryId = products.Rows[i]["categoryID"] as string; product.Name = products.Rows[i]["name"] != DBNull.Value ? ((string)products.Rows[i]["name"]).ToLower() : null; product.DisplayName = products.Rows[i]["name"] as string; product.Description = products.Rows[i]["fullDescription"] as string; product.Image = products.Rows[i]["image"] as string; product.Offers = new List <CseOfferInfo>(); if (productMerchants == null || productMerchants.Rows.Count == 0) { continue; } var rows = productMerchants.Select("PID = '" + product.ProductId + "'"); if (rows.Length == 0) { continue; } for (int x = 0; x < rows.Length; x++) { var offer = new CseOfferInfo(); offer.Url = rows[x]["offerUrl"] as string; offer.Price = double.Parse((string)rows[x]["basePrice"]); offer.Brand = rows[x]["brand"] != DBNull.Value ? (string)rows[x]["brand"] : null; offer.Sku = rows[x]["sku"] != DBNull.Value ? (string)rows[x]["sku"] : null; offer.Model = rows[x]["model"] != DBNull.Value ? (string)rows[x]["model"] : null; offer.MerchantId = rows[x]["mid"] != DBNull.Value ? (string)rows[x]["mid"] : null; offer.Cpc = rows[x]["cpc"] != DBNull.Value ? double.Parse((string)rows[x]["cpc"]) : 0; product.Offers.Add(offer); } product.Offers = product.Offers.OrderBy(x => x.Price).ToList(); product.MinPrice = product.Offers[0].Price; product.MaxPrice = product.Offers[product.Offers.Count - 1].Price; productsList.Add(product); } return(productsList); }
private List <CseProductInfo> ParseShopZillaProducts(string source, DataTable products, DataTable productMerchants) { if (products == null || products.Rows.Count == 0) { return(null); } var productsList = new List <CseProductInfo>(); for (int i = 0; i < products.Rows.Count; i++) { var product = new CseProductInfo(); product.ShoppingEngine = 2; product.Source = source; product.ProductId = products.Rows[i]["pid"] as string; product.CategoryId = products.Rows[i]["category_id"] as string; product.Name = ((string)products.Rows[i]["name"]).ToLower(); product.DisplayName = products.Rows[i]["name"] as string; product.Image = products.Rows[i]["imageURL_small"] as string; product.Description = products.Rows[i]["long_Desc"] != DBNull.Value ? (string)products.Rows[i]["long_Desc"] : null; product.Offers = new List <CseOfferInfo>(); if (productMerchants == null || productMerchants.Rows.Count == 0) { continue; } var rows = productMerchants.Select("mPID = '" + product.ProductId + "'"); if (rows.Length == 0) { continue; } for (int x = 0; x < rows.Length; x++) { var offer = new CseOfferInfo(); offer.Url = rows[x]["URL"] as string; offer.Price = (double)rows[x]["price"]; offer.MerchantId = rows[x]["mid"] != DBNull.Value ? (string)rows[x]["mid"] : null; product.Offers.Add(offer); } product.Offers = product.Offers.OrderBy(x => x.Price).ToList(); product.MinPrice = product.Offers[0].Price; product.MaxPrice = product.Offers[product.Offers.Count - 1].Price; productsList.Add(product); } return(productsList); }
private List <CseProductInfo> ParseAffiliateWindowProducts(string source, DataTable products, DataTable productMerchants) { if (products == null || products.Rows.Count == 0) { return(null); } var productsList = new List <CseProductInfo>(); for (int i = 0; i < products.Rows.Count; i++) { var product = new CseProductInfo(); product.ShoppingEngine = 6; product.Source = source; product.ProductId = products.Rows[i]["pid"] as string; product.Name = ((string)products.Rows[i]["name"]).ToLower(); product.DisplayName = products.Rows[i]["name"] as string; product.Image = (string)productMerchants.Select("iId = '" + product.ProductId + "'")[0]["sAwThumbUrl"]; product.Description = products.Rows[i]["short_Desc"] != DBNull.Value ? (string)products.Rows[i]["short_Desc"] : null; product.Offers = new List <CseOfferInfo>(); if (productMerchants == null || productMerchants.Rows.Count == 0) { continue; } var rows = productMerchants.Select("iId = '" + product.ProductId + "'"); if (rows.Length == 0) { continue; } for (int x = 0; x < rows.Length; x++) { var offer = new CseOfferInfo(); offer.Url = rows[x]["sAwDeepLink"] as string; offer.Price = (double)(float)rows[x]["fPrice"]; offer.MerchantId = rows[x]["iMerchantId"] != DBNull.Value ? ((int)rows[x]["iMerchantId"]).ToString() : null; product.Offers.Add(offer); } product.Offers = product.Offers.OrderBy(x => x.Price).ToList(); product.MinPrice = product.Offers[0].Price; product.MaxPrice = product.Offers[product.Offers.Count - 1].Price; productsList.Add(product); } return(productsList); }