/// <summary> /// 创建套装促销活动 /// </summary> public static int CreateSuitPromotion(SuitPromotionInfo suitPromotionInfo) { return BrnMall.Data.Promotions.CreateSuitPromotion(suitPromotionInfo); }
/// <summary> /// 更新套装促销活动 /// </summary> public static void UpdateSuitPromotion(SuitPromotionInfo suitPromotionInfo) { BrnMall.Data.Promotions.UpdateSuitPromotion(suitPromotionInfo); }
/// <summary> /// 添加新套装到购物车中 /// </summary> /// <param name="orderProductList">订单商品列表</param> /// <param name="extSuitProductList">扩展套装商品列表</param> /// <param name="suitPromotionInfo">套装促销活动信息</param> /// <param name="buyCount">购买数量</param> /// <param name="sid">用户sessionId</param> /// <param name="uid">用户id</param> /// <param name="buyTime">购买时间</param> public static void AddNewSuitToCart(ref List<OrderProductInfo> orderProductList, List<ExtSuitProductInfo> extSuitProductList, SuitPromotionInfo suitPromotionInfo, int buyCount, string sid, int uid, DateTime buyTime) { List<OrderProductInfo> addOrderProductList = new List<OrderProductInfo>(); foreach (ExtSuitProductInfo extSuitProductInfo in extSuitProductList) { OrderProductInfo suitOrderProductInfo = BuildOrderProduct(extSuitProductInfo); InitOrderProduct(suitOrderProductInfo, 0, sid, uid, buyTime); SetSuitOrderProduct(suitOrderProductInfo, buyCount, extSuitProductInfo.Number, extSuitProductInfo.Discount, suitPromotionInfo); addOrderProductList.Add(suitOrderProductInfo); //获得赠品列表 GiftPromotionInfo giftPromotionInfo = Promotions.GetGiftPromotionByPidAndTime(suitOrderProductInfo.Pid, buyTime); if (giftPromotionInfo != null) { List<ExtGiftInfo> extGiftList = Promotions.GetExtGiftList(giftPromotionInfo.PmId); if (extGiftList.Count > 0) { suitOrderProductInfo.ExtCode3 = giftPromotionInfo.PmId; foreach (ExtGiftInfo extGiftInfo in extGiftList) { OrderProductInfo giftOrderProduct = BuildOrderProduct(extGiftInfo); InitOrderProduct(giftOrderProduct, 0, sid, uid, buyTime); SetGiftOrderProduct(giftOrderProduct, 2, suitOrderProductInfo.RealCount, extGiftInfo.Number, giftPromotionInfo.PmId); //将赠品添加到"需要添加的商品列表"中 addOrderProductList.Add(giftOrderProduct); } } } } //将需要添加的商品持久化 AddOrderProductList(addOrderProductList); orderProductList.AddRange(addOrderProductList); }
/// <summary> /// 添加套装到购物车 /// </summary> /// <param name="orderProductList">订单商品列表</param> /// <param name="extSuitProductList">扩展套装商品列表</param> /// <param name="suitPromotionInfo">套装促销活动</param> /// <param name="buyCount">购买数量</param> /// <param name="sid">用户sessionId</param> /// <param name="uid">用户id</param> /// <param name="buyTime">购买时间</param> public static void AddSuitToCart(ref List<OrderProductInfo> orderProductList, List<ExtSuitProductInfo> extSuitProductList, SuitPromotionInfo suitPromotionInfo, int buyCount, string sid, int uid, DateTime buyTime) { //套装商品列表 List<OrderProductInfo> suitOrderProductList = GetSuitOrderProductList(suitPromotionInfo.PmId, orderProductList, true); if (suitOrderProductList.Count < 1) AddNewSuitToCart(ref orderProductList, extSuitProductList, suitPromotionInfo, buyCount, sid, uid, buyTime); else AddExistSuitToCart(ref orderProductList, suitOrderProductList, buyCount); }
public ActionResult AddSuitPromotion(SuitPromotionModel model) { if (ModelState.IsValid) { DateTime noTime = new DateTime(1900, 1, 1); SuitPromotionInfo suitPromotionInfo = new SuitPromotionInfo() { StoreId = WorkContext.StoreId, StartTime1 = model.StartTime1, EndTime1 = model.EndTime1, StartTime2 = model.StartTime2.HasValue ? model.StartTime2.Value : noTime, EndTime2 = model.EndTime2.HasValue ? model.EndTime2.Value : noTime, StartTime3 = model.StartTime3.HasValue ? model.StartTime3.Value : noTime, EndTime3 = model.EndTime3.HasValue ? model.EndTime3.Value : noTime, UserRankLower = model.UserRankLower, State = model.State, Name = model.PromotionName, QuotaUpper = model.QuotaUpper, OnlyOnce = model.OnlyOnce }; AdminPromotions.CreateSuitPromotion(suitPromotionInfo); AddStoreAdminLog("添加套装促销活动", "添加套装促销活动,套装促销活动为:" + model.PromotionName); return PromptView("套装促销活动添加成功"); } LoadSuitPromotion(); return View(model); }
/// <summary> /// 设置套装订单商品 /// </summary> /// <param name="orderProductInfo">订单商品</param> /// <param name="buyCount">购买数量</param> /// <param name="number">数量</param> /// <param name="discount">折扣值</param> /// <param name="suitPromotionInfo">套装促销活动</param> public static void SetSuitOrderProduct(OrderProductInfo orderProductInfo, int buyCount, int number, int discount, SuitPromotionInfo suitPromotionInfo) { orderProductInfo.Type = 3; orderProductInfo.ExtCode1 = suitPromotionInfo.PmId; orderProductInfo.ExtCode2 = number; orderProductInfo.RealCount = number * buyCount; orderProductInfo.BuyCount = number * buyCount; orderProductInfo.DiscountPrice = orderProductInfo.ShopPrice - discount; }
/// <summary> /// 更新套装促销活动 /// </summary> public void UpdateSuitPromotion(SuitPromotionInfo suitPromotionInfo) { DbParameter[] parms = { GenerateInParam("@storeid", SqlDbType.Int,4,suitPromotionInfo.StoreId), GenerateInParam("@starttime1", SqlDbType.DateTime,8,suitPromotionInfo.StartTime1), GenerateInParam("@endtime1", SqlDbType.DateTime,8,suitPromotionInfo.EndTime1), GenerateInParam("@starttime2", SqlDbType.DateTime,8,suitPromotionInfo.StartTime2), GenerateInParam("@endtime2", SqlDbType.DateTime,8,suitPromotionInfo.EndTime2), GenerateInParam("@starttime3", SqlDbType.DateTime,8,suitPromotionInfo.StartTime3), GenerateInParam("@endtime3", SqlDbType.DateTime,8,suitPromotionInfo.EndTime3), GenerateInParam("@userranklower", SqlDbType.SmallInt,2,suitPromotionInfo.UserRankLower), GenerateInParam("@state", SqlDbType.TinyInt,1,suitPromotionInfo.State), GenerateInParam("@name", SqlDbType.NVarChar,50,suitPromotionInfo.Name), GenerateInParam("@quotaupper", SqlDbType.Int,4,suitPromotionInfo.QuotaUpper), GenerateInParam("@onlyonce", SqlDbType.TinyInt, 1, suitPromotionInfo.OnlyOnce), GenerateInParam("@pmid", SqlDbType.Int,4,suitPromotionInfo.PmId) }; string commandText = string.Format("UPDATE [{0}suitpromotions] SET [storeid]=@storeid,[starttime1]=@starttime1,[endtime1]=@endtime1,[starttime2]=@starttime2,[endtime2]=@endtime2,[starttime3]=@starttime3,[endtime3]=@endtime3,[userranklower]=@userranklower,[state]=@state,[name]=@name,[quotaupper]=@quotaupper,[onlyonce]=@onlyonce WHERE [pmid]=@pmid", RDBSHelper.RDBSTablePre); RDBSHelper.ExecuteNonQuery(CommandType.Text, commandText, parms); }
/// <summary> /// 创建套装促销活动 /// </summary> public int CreateSuitPromotion(SuitPromotionInfo suitPromotionInfo) { DbParameter[] parms = { GenerateInParam("@storeid", SqlDbType.Int,4,suitPromotionInfo.StoreId), GenerateInParam("@starttime1", SqlDbType.DateTime,8,suitPromotionInfo.StartTime1), GenerateInParam("@endtime1", SqlDbType.DateTime,8,suitPromotionInfo.EndTime1), GenerateInParam("@starttime2", SqlDbType.DateTime,8,suitPromotionInfo.StartTime2), GenerateInParam("@endtime2", SqlDbType.DateTime,8,suitPromotionInfo.EndTime2), GenerateInParam("@starttime3", SqlDbType.DateTime,8,suitPromotionInfo.StartTime3), GenerateInParam("@endtime3", SqlDbType.DateTime,8,suitPromotionInfo.EndTime3), GenerateInParam("@userranklower", SqlDbType.SmallInt,2,suitPromotionInfo.UserRankLower), GenerateInParam("@state", SqlDbType.TinyInt,1,suitPromotionInfo.State), GenerateInParam("@name", SqlDbType.NVarChar,50,suitPromotionInfo.Name), GenerateInParam("@quotaupper", SqlDbType.Int,4,suitPromotionInfo.QuotaUpper), GenerateInParam("@onlyonce", SqlDbType.TinyInt, 1, suitPromotionInfo.OnlyOnce) }; string commandText = string.Format("INSERT INTO [{0}suitpromotions]([storeid],[starttime1],[endtime1],[starttime2],[endtime2],[starttime3],[endtime3],[userranklower],[state],[name],[quotaupper],[onlyonce]) VALUES(@storeid,@starttime1,@endtime1,@starttime2,@endtime2,@starttime3,@endtime3,@userranklower,@state,@name,@quotaupper,@onlyonce);SELECT SCOPE_IDENTITY();", RDBSHelper.RDBSTablePre); return TypeHelper.ObjectToInt(RDBSHelper.ExecuteScalar(CommandType.Text, commandText, parms), -1); }
/// <summary> /// 从IDataReader创建SuitPromotionInfo /// </summary> public static SuitPromotionInfo BuildSuitPromotionFromReader(IDataReader reader) { SuitPromotionInfo suitPromotionInfo = new SuitPromotionInfo(); suitPromotionInfo.PmId = TypeHelper.ObjectToInt(reader["pmid"]); suitPromotionInfo.StoreId = TypeHelper.ObjectToInt(reader["storeid"]); suitPromotionInfo.StartTime1 = TypeHelper.ObjectToDateTime(reader["starttime1"]); suitPromotionInfo.EndTime1 = TypeHelper.ObjectToDateTime(reader["endtime1"]); suitPromotionInfo.StartTime2 = TypeHelper.ObjectToDateTime(reader["starttime2"]); suitPromotionInfo.EndTime2 = TypeHelper.ObjectToDateTime(reader["endtime2"]); suitPromotionInfo.StartTime3 = TypeHelper.ObjectToDateTime(reader["starttime3"]); suitPromotionInfo.EndTime3 = TypeHelper.ObjectToDateTime(reader["endtime3"]); suitPromotionInfo.UserRankLower = TypeHelper.ObjectToInt(reader["userranklower"]); suitPromotionInfo.State = TypeHelper.ObjectToInt(reader["state"]); suitPromotionInfo.Name = reader["name"].ToString(); suitPromotionInfo.QuotaUpper = TypeHelper.ObjectToInt(reader["quotaupper"]); suitPromotionInfo.OnlyOnce = TypeHelper.ObjectToInt(reader["onlyonce"]); return suitPromotionInfo; }
/// <summary> /// 更新套装促销活动 /// </summary> public static void UpdateSuitPromotion(SuitPromotionInfo suitPromotionInfo) { BrnMall.Core.BMAData.RDBS.UpdateSuitPromotion(suitPromotionInfo); if (_promotionnosql != null) _promotionnosql.DeleteSuitPromotion(suitPromotionInfo.PmId); }
/// <summary> /// 创建套装促销活动 /// </summary> public static int CreateSuitPromotion(SuitPromotionInfo suitPromotionInfo) { return BrnMall.Core.BMAData.RDBS.CreateSuitPromotion(suitPromotionInfo); }