/// <summary> /// 保存更新促销活动信息 /// </summary> /// <param name="para"></param> /// <returns></returns> public void SavePanicbuyingEvent(SetCTWEventRP para, T_CTW_PanicbuyingEventKVBLL bllPanicbuyingEventKV, ObjectImagesBLL imageBll, T_CTW_LEventInteractionBLL bllCustomerInteraction, string strThemeId, out string strStartDate, out string strEndDate) { strStartDate = string.Empty; strEndDate = string.Empty; var PanicbuyingEvent = para.PanicbuyingEventInfo; imageEntity = new ObjectImagesEntity(); imageEntity.ImageURL = PanicbuyingEvent.ImageUrl; imageEntity.ObjectId = ""; imageEntity.CreateBy = loggingSessionInfo.UserID; imageEntity.IsDelete = 0; imageEntity.CustomerId = loggingSessionInfo.ClientID; imageEntity.ImageId = Guid.NewGuid().ToString(); imageBll.Create(imageEntity); if (!string.IsNullOrEmpty(para.CTWEventId)) { bllPanicbuyingEventKV.DeleteByCTWEventID(para.CTWEventId); } entityPanicbuyingEventKV = new T_CTW_PanicbuyingEventKVEntity() { CTWEventId = new Guid(strCTWEventId), EventName = PanicbuyingEvent.EventName, ImageId = imageEntity.ImageId }; bllPanicbuyingEventKV.Create(entityPanicbuyingEventKV); if (!string.IsNullOrEmpty(para.CTWEventId)) { bllCustomerInteraction.DeleteByCTWEventID(para.CTWEventId); } foreach (var eventid in PanicbuyingEvent.PanicbuyingEventId) { ///互动类型与(游戏或促销)关联 entityInteraction = new T_CTW_LEventInteractionEntity() { CTWEventId = new Guid(strCTWEventId), ThemeId = new Guid(strThemeId), InteractionType = para.InteractionType, DrawMethodCode = para.DrawMethodCode, LeventId = eventid.ToString(), CustomerId = loggingSessionInfo.ClientID }; bllCustomerInteraction.Create(entityInteraction); } DataSet ds = bllCustomerInteraction.GetPanicbuyingEventDate(strCTWEventId); if (ds != null && ds.Tables[0].Rows.Count > 0) { strStartDate = ds.Tables[0].Rows[0]["BeginTime"].ToString(); strEndDate = ds.Tables[0].Rows[0]["EndTime"].ToString(); } }
/// <summary> /// 保存更新游戏信息 /// </summary> /// <param name="para"></param> /// <returns></returns> public void SaveGameEvent(SetCTWEventRP para, LPrizesBLL bllPrize, T_CTW_LEventInteractionBLL bllCustomerInteraction, string strThemeId, out string strStartDate, out string strEndDate, out string strGameEventGuid) { strGameEventGuid = string.Empty; var imageBll = new ObjectImagesBLL(loggingSessionInfo); LEventsBLL bllGameEvent = new LEventsBLL(loggingSessionInfo); var eventEntity = new LEventsEntity(); strStartDate = para.GameEventInfo.BeginTime; strEndDate = para.GameEventInfo.EndTime + " 23:59:59"; if (string.IsNullOrEmpty(para.GameEventInfo.LeventId)) { strGameEventGuid = Guid.NewGuid().ToString(); eventEntity.EventID = strGameEventGuid; eventEntity.Title = para.GameEventInfo.Title; eventEntity.BeginTime = para.GameEventInfo.BeginTime; eventEntity.EndTime = para.GameEventInfo.EndTime; eventEntity.DrawMethodId = GetDrawMethodIdByDrawMethodCode(para.DrawMethodCode); eventEntity.PersonCount = para.GameEventInfo.PersonCount; eventEntity.PointsLottery = para.GameEventInfo.PointsLottery; eventEntity.LotteryNum = para.GameEventInfo.LotteryNum; eventEntity.IsDelete = 0; if (DateTime.Compare(Convert.ToDateTime(para.GameEventInfo.BeginTime), Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"))) <= 0 && DateTime.Compare(Convert.ToDateTime(para.GameEventInfo.EndTime), Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"))) >= 0) { eventEntity.EventStatus = 20; //10=未开始,20=运行中,30=暂停,40=结束 } else if (DateTime.Compare(Convert.ToDateTime(para.GameEventInfo.BeginTime), Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"))) > 0) { eventEntity.EventStatus = 10; //10=未开始,20=运行中,30=暂停,40=结束 } eventEntity.IsCTW = 1; eventEntity.CustomerId = loggingSessionInfo.ClientID; bllGameEvent.Create(eventEntity); } else { strGameEventGuid = para.GameEventInfo.LeventId; eventEntity = bllGameEvent.GetByID(strGameEventGuid); eventEntity.Title = para.GameEventInfo.Title; eventEntity.BeginTime = para.GameEventInfo.BeginTime; eventEntity.EndTime = para.GameEventInfo.EndTime; eventEntity.DrawMethodId = GetDrawMethodIdByDrawMethodCode(para.DrawMethodCode); eventEntity.PersonCount = para.GameEventInfo.PersonCount; eventEntity.PointsLottery = para.GameEventInfo.PointsLottery; eventEntity.LotteryNum = para.GameEventInfo.LotteryNum; bllGameEvent.Update(eventEntity); } ///图片 if (para.GameEventInfo.ImageList.Count > 0) { imageBll.DeleteByObjectID(strGameEventGuid); foreach (var i in para.GameEventInfo.ImageList) { imageEntity = new ObjectImagesEntity(); imageEntity.ImageURL = i.ImageURL; imageEntity.ObjectId = strGameEventGuid; imageEntity.CreateBy = loggingSessionInfo.UserID; imageEntity.ImageId = Guid.NewGuid().ToString(); imageEntity.BatId = i.BatId; imageEntity.RuleId = para.GameEventInfo.RuleId ?? 1; imageEntity.RuleContent = para.GameEventInfo.RuleContent; imageEntity.IsDelete = 0; imageEntity.CustomerId = loggingSessionInfo.ClientID; imageBll.Create(imageEntity); } } //奖品信息 var entityPrize = new LPrizesEntity(); var redisPrizePoolsBLL = new JIT.CPOS.BS.BLL.RedisOperationBLL.PrizePools.RedisPrizePoolsBLL(); if (!string.IsNullOrEmpty(para.GameEventInfo.LeventId)) { //bllPrize.Delete(new LPrizesEntity() { EventId = para.GameEventInfo.LeventId }); bllPrize.DeletePrizesByEventId(para.GameEventInfo.LeventId); CC_PrizePool prizePool = new CC_PrizePool(); prizePool.CustomerId = loggingSessionInfo.ClientID; prizePool.EventId = para.GameEventInfo.LeventId; redisPrizePoolsBLL.DeletePrizePoolsList(prizePool); } if (para.GameEventInfo.PrizeList.Count > 0) { foreach (var i in para.GameEventInfo.PrizeList) { entityPrize.EventId = strGameEventGuid; entityPrize.PrizeTypeId = i.PrizeTypeId; entityPrize.Point = i.Point; entityPrize.CouponTypeID = i.CouponTypeID; entityPrize.PrizeName = i.PrizeName; entityPrize.CountTotal = i.PrizeCount; entityPrize.CreateBy = loggingSessionInfo.UserID; entityPrize.PrizesID = Guid.NewGuid().ToString(); bllPrize.SavePrize(entityPrize); } //入奖品池队列 LPrizePoolsBLL bllPools = new LPrizePoolsBLL(loggingSessionInfo); DataSet dsPools = bllPools.GetPrizePoolsByEvent(loggingSessionInfo.ClientID, strGameEventGuid); if (dsPools != null && dsPools.Tables.Count > 0 && dsPools.Tables[0].Rows.Count > 0) { var poolTemp = DataTableToObject.ConvertToList <CC_PrizePool>(dsPools.Tables[0]); var poolsList = Utils.GetRandomList <CC_PrizePool>(poolTemp); //随机列表 if (poolsList != null && poolsList.Count > 0) { CC_PrizePool prizePool = new CC_PrizePool(); prizePool.CustomerId = loggingSessionInfo.ClientID; prizePool.EventId = strGameEventGuid; redisPrizePoolsBLL.DeletePrizePoolsList(prizePool); redisPrizePoolsBLL.SetPrizePoolsToRedis(poolsList); } } } if (!string.IsNullOrEmpty(para.CTWEventId)) { bllCustomerInteraction.DeleteByCTWEventID(para.CTWEventId); } ///互动类型与(游戏或促销)关联 entityInteraction = new T_CTW_LEventInteractionEntity() { CTWEventId = new Guid(strCTWEventId), ThemeId = new Guid(strThemeId), InteractionType = para.InteractionType, DrawMethodCode = para.DrawMethodCode, LeventId = strGameEventGuid, OriginalLeventId = new Guid(para.OriginalLeventId), CustomerId = loggingSessionInfo.ClientID }; bllCustomerInteraction.Create(entityInteraction); }