private void StartServerSamePeriods(DateTime time) { try { OpenLottery data; KFBoCaiDbManager.SelectOpenLottery(this.MaxPeriods, (int)this.BoCaiType, out data); List <KFBuyBocaiData> HistoryList; if (null == data) { KFBoCaiDbManager.StopServer(string.Format("[ljl_CaiShuZi_猜数字] 开奖记录读取失败 BoCaiType={1},DataPeriods={0}", this.MaxPeriods, this.BoCaiType)); } else if (!string.IsNullOrEmpty(data.strWinNum)) { if (data.XiaoHaoDaiBi < 1) { data.XiaoHaoDaiBi = this.OpenData.XiaoHaoDaiBi; } this.OpenData = data; this.SetUpToDBOpenData(); this.PeriodsStartTime = DateTime.Parse(TimeUtil.DataTimeToString(time, "yyyy-MM-dd HH:mm:ss")); this.Stage = BoCaiStageEnum.Stage_End; base.KFSendStageData(); base.KFSendPeriodsData(); LogManager.WriteLog(LogTypes.Info, string.Format("[ljl_CaiShuZi_猜数字] 和上期是一期 并且已经开奖 BoCaiType={1},DataPeriods={0}", this.MaxPeriods, this.BoCaiType), null, true); } else if (!KFBoCaiDbManager.LoadBuyHistory((int)this.BoCaiType, this.MaxPeriods, out HistoryList)) { KFBoCaiDbManager.StopServer(string.Format("[ljl_CaiShuZi_猜数字]读取购买记录失败 BoCaiType={1},DataPeriods={0}", this.MaxPeriods, this.BoCaiType)); } else { this.RoleBuyDict = new Dictionary <string, List <KFBuyBocaiData> >(); using (List <KFBuyBocaiData> .Enumerator enumerator = HistoryList.GetEnumerator()) { while (enumerator.MoveNext()) { KFBuyBocaiData item = enumerator.Current; List <KFBuyBocaiData> itemList; if (this.RoleBuyDict.TryGetValue(item.GetKey(), out itemList)) { KFBuyBocaiData temp = itemList.Find((KFBuyBocaiData x) => x.BuyValue.Equals(item.BuyValue)); if (temp == null) { itemList.Add(item); } else { temp.BuyNum += item.BuyNum; } } else { itemList = new List <KFBuyBocaiData>(); itemList.Add(item); this.RoleBuyDict.Add(item.GetKey(), itemList); } } } if (data.XiaoHaoDaiBi < 1) { data.XiaoHaoDaiBi = this.OpenData.XiaoHaoDaiBi; } this.OpenData = data; this.PeriodsStartTime = DateTime.Parse(TimeUtil.DataTimeToString(time, "yyyy-MM-dd HH:mm:ss")); this.SetUpToDBOpenData(); if (DateTime.Parse(this.Config.KaiJiangShiJian) >= time) { this.Stage = BoCaiStageEnum.Stage_Buy; LogManager.WriteLog(LogTypes.Info, string.Format("[ljl_CaiShuZi_猜数字] 和上期是一期 并且没开奖 BoCaiType={1},DataPeriods={0}", this.MaxPeriods, this.BoCaiType), null, true); } else if ((DateTime.Parse("23:59:59") - time).TotalMinutes < 2.0) { this.Stage = BoCaiStageEnum.Stage_Open; this.SetUpToDBOpenData(); LogManager.WriteLog(LogTypes.Info, string.Format("[ljl_CaiShuZi_猜数字] 和上期是一期 状态设置开奖 &&强制开奖 不足2分钟 BoCaiType={1},DataPeriods={0}", this.MaxPeriods, this.BoCaiType), null, true); this.Thread(); } else { this.Stage = BoCaiStageEnum.Stage_Open; LogManager.WriteLog(LogTypes.Info, string.Format("[ljl_CaiShuZi_猜数字] 和上期是一期 状态设置开奖 BoCaiType={1},DataPeriods={0}", this.MaxPeriods, this.BoCaiType), null, true); } base.KFSendStageData(); base.KFSendPeriodsData(); } } catch (Exception ex) { LogManager.WriteLog(LogTypes.Exception, string.Format("[ljl_CaiShuZi_猜数字]{0}", ex.ToString()), null, true); } }