public static Mall_BusinessDiscountRequest_ProductDetail[] GetMall_BusinessDiscountRequest_ProductDetailListByBusinessDiscountRequestID(int BusinessDiscountRequestID, string GUID = "") { List <SqlParameter> parameters = new List <SqlParameter>(); List <string> conditions = new List <string>(); if (BusinessDiscountRequestID == 0 && string.IsNullOrEmpty(GUID)) { return(new Mall_BusinessDiscountRequest_ProductDetail[] { }); } if (BusinessDiscountRequestID > 0) { conditions.Add("[BusinessDiscountRequestID]=@BusinessDiscountRequestID"); parameters.Add(new SqlParameter("@BusinessDiscountRequestID", BusinessDiscountRequestID)); } if (!string.IsNullOrEmpty(GUID)) { conditions.Add("[Guid]=@Guid"); parameters.Add(new SqlParameter("@Guid", GUID)); } string cmdtext = "select * from [Mall_BusinessDiscountRequest_Product] where " + string.Join(" or ", conditions.ToArray()) + " order by [ID] asc"; var list = GetList <Mall_BusinessDiscountRequest_ProductDetail>(cmdtext, parameters).ToArray(); if (list.Length == 0) { return(list); } var ProductIDList = list.Select(p => p.ProductID).ToList(); var product_list = Mall_ProductDetail.GetMall_ProductDetailListByIDList(ProductIDList); foreach (var item in list) { var my_product = product_list.FirstOrDefault(p => p.ID == item.ProductID); if (my_product != null) { item.ProductName = my_product.ProductName; item.FinalPrice = my_product.FinalSalePrice; item.FinalInventory = my_product.Inventory; } } return(list); }
public static Mall_ProductDetail GetMall_ProductDetailPrice(Mall_ProductDetail data) { if (data == null) { return(null); } var my_discount_product = Mall_BusinessDiscountRequest_Product.GetMall_BusinessDiscountRequest_ProductListByBusinessID(data.BusinessID, data.ID); if (my_discount_product != null) { data.DiscountPrice = my_discount_product.Price; data.DiscountQuantity = my_discount_product.Quantity; } data.VariantPrice = (data.SalePrice > 0 ? data.SalePrice : 0); data.VariantPoint = 0; data.VariantPointPrice = 0; data.VariantVIPPoint = 0; data.VariantVIPPrice = 0; data.VariantStaffPrice = 0; data.VariantStaffPoint = 0; data.VariantInventory = (data.TotalCount > 0 ? data.TotalCount : 0); data.VariantID = 0; data.VariantName = string.Empty; var my_variant_list = Mall_Product_VariantDetail.GetMall_Product_VariantDetailListByProductID(data.ID).OrderBy(q => q.FinalVariantPrice).ToArray(); if (my_variant_list.Length > 0) { data.VariantPrice = (my_variant_list[0].FinalVariantPrice > 0 ? my_variant_list[0].FinalVariantPrice : data.VariantPrice); data.VariantPoint = (my_variant_list[0].VariantPoint > 0 ? my_variant_list[0].VariantPoint : data.VariantPoint); data.VariantPointPrice = (my_variant_list[0].VariantPointPrice > 0 ? my_variant_list[0].VariantPointPrice : data.VariantPointPrice); data.VariantVIPPoint = (my_variant_list[0].VariantVIPPoint > 0 ? my_variant_list[0].VariantVIPPoint : data.VariantVIPPoint); data.VariantVIPPrice = (my_variant_list[0].VariantVIPPrice > 0 ? my_variant_list[0].VariantVIPPrice : data.VariantVIPPrice); data.VariantStaffPrice = (my_variant_list[0].VariantStaffPrice > 0 ? my_variant_list[0].VariantStaffPrice : data.VariantStaffPrice); data.VariantStaffPoint = (my_variant_list[0].VariantStaffPoint > 0 ? my_variant_list[0].VariantStaffPoint : data.VariantStaffPoint); data.VariantInventory = (my_variant_list[0].Inventory > 0 ? my_variant_list[0].Inventory : data.VariantInventory); data.VariantID = my_variant_list[0].ID; data.VariantName = my_variant_list[0].VariantName; } return(data); }
public static List <Dictionary <string, object> > getshoppingcartitems(Mall_ShoppingCart[] list, Mall_ProductDetail[] products, Mall_Product_VariantDetail[] product_variants, int BusinessID, string context_path, out decimal totalprice, out int totalsalepoint, out int TotalQuantity, out string totalpricedesc) { totalprice = 0; TotalQuantity = 0; totalpricedesc = string.Empty; totalsalepoint = 0; List <Dictionary <string, object> > productlist = new List <Dictionary <string, object> >(); Mall_ProductDetail[] my_products = new Mall_ProductDetail[] { }; if (BusinessID > 0) { my_products = products.Where(p => p.BusinessID == BusinessID).ToArray(); } else { my_products = products.Where(p => p.IsZiYing).ToArray(); } var my_cartlist = list.Where(p => my_products.Select(q => q.ID).ToList().Contains(p.ProductID)).ToArray(); foreach (var item in my_cartlist) { var my_product = products.FirstOrDefault(p => p.ID == item.ProductID); if (my_product == null) { continue; } var my_variant = product_variants.FirstOrDefault(p => p.ID == item.VariantID); decimal price = 0; int salepoint = 0; bool isallowproductsale = false; bool isallowpointsale = false; bool isallowvipsale = false; bool isallowstaffsale = false; int type = Mall_Product.GetFinalProductOrderType(item.ProductOrderType, my_product.ProductOrderType); string pricedesc = Mall_Product.GetOrderItemPriceDesc(my_product, my_variant, item.Quantity, out price, out salepoint, out isallowproductsale, out isallowpointsale, out isallowvipsale, out isallowstaffsale, out totalpricedesc, ProductOrderType: type); string desc = string.Empty; if (!string.IsNullOrEmpty(item.VariantTitle) && !string.IsNullOrEmpty(item.VariantName)) { desc = item.VariantTitle + ": " + item.VariantName; } Dictionary <string, object> dic = new Dictionary <string, object>(); dic["id"] = item.ID; dic["productid"] = item.ProductID; dic["variantid"] = item.VariantID; dic["imageurl"] = !string.IsNullOrEmpty(my_product.CoverImage) ? context_path + my_product.CoverImage : "../image/error-img.png"; dic["title"] = my_product.ProductName; dic["desc"] = desc; dic["pricedesc"] = pricedesc; dic["price"] = price; dic["salepoint"] = salepoint; dic["quantity"] = item.Quantity; dic["checked"] = false; dic["maxquantity"] = my_product.MaxQuantity; dic["quantitylimit"] = my_product.QuantityLimit > 0 ? my_product.QuantityLimit : 0; dic["producttypeid"] = my_product.ProductTypeID; dic["ProductOrderType"] = item.ProductOrderType > 0 ? item.ProductOrderType : 16; totalprice += price * item.Quantity; totalsalepoint += salepoint * item.Quantity; TotalQuantity += item.Quantity; productlist.Add(dic); } if (totalsalepoint > 0 && totalprice > 0) { totalpricedesc = "¥" + totalprice.ToString("0.00") + " + " + totalsalepoint.ToString() + "积分"; } else if (totalprice > 0) { totalpricedesc = "¥" + totalprice.ToString("0.00"); } else if (totalsalepoint > 0) { totalpricedesc = totalsalepoint.ToString() + "积分"; } return(productlist); }
public static List <Dictionary <string, object> > GetMall_HotSaleList() { string context_path = Utility.Tools.GetContextPath(); List <Dictionary <string, object> > results = new List <Dictionary <string, object> >(); var list = Mall_HotSale.GetMall_HotSales().Where(p => p.Is_Valid).OrderBy(p => p.SortOrder).ToArray(); if (list.Length == 0) { return(results); } var list_product_ids = list.Where(p => p.Type == 1).Select(p => p.RelatedID).ToList(); var list_business_ids = list.Where(p => p.Type == 2).Select(p => p.RelatedID).ToList(); Mall_ProductDetail[] product_list = new Mall_ProductDetail[] { }; Mall_Business[] business_list = new Mall_Business[] { }; if (list_product_ids.Count > 0) { product_list = Mall_ProductDetail.GetMall_ProductDetailListByIDList(list_product_ids).Where(p => p.IsAllowProductBuy).ToArray(); } if (list_business_ids.Count > 0) { business_list = Mall_Business.GetMall_BusinessListByIDList(list_business_ids); } foreach (var item in list) { Dictionary <string, object> dic = new Dictionary <string, object>(); dic["id"] = item.ID; dic["type"] = item.Type; dic["RelatedID"] = item.RelatedID > 0 ? item.RelatedID : 0; if (item.Type == 1) { var my_data = product_list.FirstOrDefault(p => p.ID == item.RelatedID); if (my_data == null) { continue; } dic["imageurl"] = !string.IsNullOrEmpty(my_data.CoverImage) ? context_path + my_data.CoverImage : ""; dic["title"] = my_data.ProductName; dic["pricevalue"] = my_data.FinalVariantPrice; dic["price"] = my_data.NormalPriceDesc.ToString(); dic["addtime"] = my_data.AddTime.ToString("yyyy-MM-dd HH:mm:ss"); dic["salecount"] = my_data.SaleCount; } else if (item.Type == 2) { var my_data = business_list.FirstOrDefault(p => p.ID == item.RelatedID); if (my_data == null) { continue; } dic["imageurl"] = !string.IsNullOrEmpty(my_data.CoverImage) ? context_path + my_data.CoverImage : ""; dic["title"] = my_data.BusinessName; dic["pricevalue"] = 0; dic["price"] = "¥0.00"; dic["addtime"] = my_data.AddTime.ToString("yyyy-MM-dd HH:mm:ss"); dic["salecount"] = 0; } dic["SortOrder"] = item.SortOrder > int.MinValue ? item.SortOrder : int.MaxValue; results.Add(dic); } results = results.OrderBy(p => Convert.ToInt32(p["SortOrder"])).ToList(); return(results); }