public void CopyBuyList(out List <BoCaiBuyItem> itemList, int roleID) { itemList = new List <BoCaiBuyItem>(); try { lock (this.mutex) { PlayerBuyBoCaiData playerBoCai = this.BoCaiBaseList.Find((PlayerBuyBoCaiData x) => x.RoleID == roleID); if (null != playerBoCai) { foreach (BoCaiBuyItem item in playerBoCai.BuyItemList) { BoCaiBuyItem temp = new BoCaiBuyItem { BuyNum = item.BuyNum, strBuyValue = item.strBuyValue, DataPeriods = item.DataPeriods }; itemList.Add(temp); } } } } catch (Exception ex) { LogManager.WriteLog(LogTypes.Exception, string.Format("[ljl_caidaxiao_猜数字]{0}", ex.ToString()), null, true); } }
public bool LoadBuyList(long DataPeriods) { try { if (!this.IsStart) { return(true); } List <BuyBoCai2SDB> ItemList = new List <BuyBoCai2SDB>(); if (DataPeriods > 0L && !BoCaiManager.getInstance().GetBuyList2DB(this.BoCaiType, DataPeriods, out ItemList, 1)) { LogManager.WriteLog(LogTypes.Error, string.Format("[ljl_caidaxiao_猜数字]获取购买记录失败 BoCaiType={0},DataPeriods={1}", this.BoCaiType, DataPeriods), null, true); return(false); } lock (this.mutex) { using (List <BuyBoCai2SDB> .Enumerator enumerator = ItemList.GetEnumerator()) { while (enumerator.MoveNext()) { BuyBoCai2SDB item = enumerator.Current; PlayerBuyBoCaiData playerBoCai = this.BoCaiBaseList.Find((PlayerBuyBoCaiData x) => x.RoleID == item.m_RoleID); if (null == playerBoCai) { playerBoCai = new PlayerBuyBoCaiData(); playerBoCai.BuyItemList = new List <BoCaiBuyItem>(); playerBoCai.ZoneID = item.ZoneID; playerBoCai.RoleID = item.m_RoleID; playerBoCai.ServerId = item.ServerId; playerBoCai.RoleName = item.m_RoleName; playerBoCai.strUserID = item.strUserID; this.BoCaiBaseList.Add(playerBoCai); } playerBoCai.BuyItemList.Add(new BoCaiBuyItem { BuyNum = item.BuyNum, strBuyValue = item.strBuyValue, DataPeriods = item.DataPeriods }); } } LogManager.WriteLog(LogTypes.Info, string.Format("[ljl_caidaxiao_猜数字]加载购买数据true ,DataPeriods = {0}", DataPeriods), null, true); this.IsStart = false; return(true); } } catch (Exception ex) { LogManager.WriteLog(LogTypes.Exception, string.Format("[ljl_caidaxiao_猜数字]{0}", ex.ToString()), null, true); } LogManager.WriteLog(LogTypes.Error, "[ljl_caidaxiao_猜数字]猜数字获取排行 失败", null, true); return(false); }
public int GetBuyNum(int roleID) { int result; lock (this.mutex) { int num = 0; PlayerBuyBoCaiData playerBoCai = this.BoCaiBaseList.Find((PlayerBuyBoCaiData x) => x.RoleID == roleID); if (null != playerBoCai) { foreach (BoCaiBuyItem item in playerBoCai.BuyItemList) { num += item.BuyNum; } } result = num; } return(result); }
public BuyBoCai2SDB BuyBocai(GameClient client, int buyNum, string BuyVal, ref int allNum) { BuyBoCai2SDB DbData = null; try { lock (this.mutex) { PlayerBuyBoCaiData playerBoCai = this.BoCaiBaseList.Find((PlayerBuyBoCaiData x) => x.RoleID == client.ClientData.RoleID); if (null == playerBoCai) { playerBoCai = new PlayerBuyBoCaiData(); playerBoCai.RoleID = client.ClientData.RoleID; playerBoCai.RoleName = client.ClientData.RoleName; playerBoCai.ZoneID = client.ClientData.ZoneID; playerBoCai.strUserID = client.strUserID; playerBoCai.ServerId = client.ServerId; playerBoCai.BuyItemList = new List <BoCaiBuyItem>(); BoCaiBuyItem item = new BoCaiBuyItem { BuyNum = buyNum, strBuyValue = BuyVal, DataPeriods = this.ServerOpenData.DataPeriods }; playerBoCai.BuyItemList.Add(item); this.BoCaiBaseList.Add(playerBoCai); } else { BoCaiBuyItem item = playerBoCai.BuyItemList.Find((BoCaiBuyItem x) => x.strBuyValue.Equals(BuyVal)); if (null == item) { item = new BoCaiBuyItem { BuyNum = buyNum, strBuyValue = BuyVal, DataPeriods = this.ServerOpenData.DataPeriods }; playerBoCai.BuyItemList.Add(item); } else { item.BuyNum += buyNum; allNum = item.BuyNum; } } DbData = new BuyBoCai2SDB(); DbData.m_RoleID = playerBoCai.RoleID; DbData.m_RoleName = playerBoCai.RoleName; DbData.ZoneID = playerBoCai.ZoneID; DbData.strUserID = playerBoCai.strUserID; DbData.ServerId = playerBoCai.ServerId; DbData.BuyNum = buyNum; DbData.strBuyValue = BuyVal; DbData.BocaiType = this.BoCaiType; DbData.DataPeriods = this.ServerOpenData.DataPeriods; DbData.IsSend = false; DbData.IsWin = false; } } catch (Exception ex) { LogManager.WriteLog(LogTypes.Exception, string.Format("[ljl_caidaxiao_猜数字]{0}", ex.ToString()), null, true); } return(DbData); }