Пример #1
0
 private void deleteData()
 {
     foreach (int rid in this.dataCache.Keys)
     {
         List <BaiTanLogItemData> list = null;
         this.dataCache.TryGetValue(rid, out list);
         if (list != null && list.Count != 0)
         {
             string minTime     = list[list.Count - 1].BuyTime;
             int    deleteCount = BaiTanLogDBController.getInstance().delete(rid, minTime);
         }
     }
 }
Пример #2
0
        /// <summary>
        /// 定期删除多余的数据
        /// </summary>
        private void deleteData()
        {
            foreach (int rid in dataCache.Keys)
            {
                List <BaiTanLogItemData> list = null;
                dataCache.TryGetValue(rid, out list);

                if (null == list || list.Count == 0)
                {
                    continue;
                }

                string minTime = list[list.Count - 1].BuyTime;

                int deleteCount = BaiTanLogDBController.getInstance().delete(rid, minTime);
            }
        }
Пример #3
0
        /// <summary>
        /// 摆摊日志触发处理
        /// </summary>
        /// <param name="bhId"></param>
        /// <param name="roleName"></param>
        /// <param name="shijianType"></param>
        /// <param name="param1"></param>
        /// <param name="param2"></param>
        /// <param name="param3"></param>
        public void onAddBaiTanLog(BaiTanLogItemData data)
        {
            List <BaiTanLogItemData> _dataList  = null;
            List <BaiTanLogItemData> _dataList2 = null;

            lock (dataCache)
            {
                if (!dataCache.TryGetValue(data.rid, out _dataList))
                {
                    _dataList = new List <BaiTanLogItemData>();
                    dataCache.Add(data.rid, _dataList);
                }
                if (!dataCache.TryGetValue(data.OtherRoleID, out _dataList2))
                {
                    _dataList2 = new List <BaiTanLogItemData>();
                    dataCache.Add(data.OtherRoleID, _dataList2);
                }
            }

            lock (_dataList)
            {
                //将最新的数据插入到最前面
                _dataList.Insert(0, data);

                //超过规定容量,删除最后一个
                if (_dataList.Count > MaxCacheNum)
                {
                    _dataList.RemoveAt(_dataList.Count - 1);
                }
            }

            lock (_dataList2)
            {
                //将最新的数据插入到最前面
                _dataList2.Insert(0, data);

                //超过规定容量,删除最后一个
                if (_dataList2.Count > MaxCacheNum)
                {
                    _dataList2.RemoveAt(_dataList2.Count - 1);
                }
            }

            BaiTanLogDBController.getInstance().insert(data);
        }
Пример #4
0
        public bool initialize()
        {
            List <BaiTanLogItemData> dataList = BaiTanLogDBController.getInstance().getBaiTanLogItemDataList();

            if (null == dataList)
            {
                return(true);
            }

            foreach (BaiTanLogItemData data in dataList)
            {
                List <BaiTanLogItemData> _dataList = null;
                //卖出日志
                if (!dataCache.TryGetValue(data.rid, out _dataList))
                {
                    _dataList = new List <BaiTanLogItemData>();
                    dataCache.Add(data.rid, _dataList);
                }

                if (_dataList.Count >= MaxCacheNum)
                {
                    continue;
                }

                _dataList.Add(data);

                //购买日志
                if (!dataCache.TryGetValue(data.OtherRoleID, out _dataList))
                {
                    _dataList = new List <BaiTanLogItemData>();
                    dataCache.Add(data.OtherRoleID, _dataList);
                }

                if (_dataList.Count >= MaxCacheNum)
                {
                    continue;
                }

                _dataList.Add(data);
            }

            return(true);
        }
Пример #5
0
        public bool initialize()
        {
            List <BaiTanLogItemData> dataList = BaiTanLogDBController.getInstance().getBaiTanLogItemDataList();
            bool result;

            if (null == dataList)
            {
                result = true;
            }
            else
            {
                foreach (BaiTanLogItemData data in dataList)
                {
                    List <BaiTanLogItemData> _dataList = null;
                    if (!this.dataCache.TryGetValue(data.rid, out _dataList))
                    {
                        _dataList = new List <BaiTanLogItemData>();
                        this.dataCache.Add(data.rid, _dataList);
                    }
                    if (_dataList.Count < BaiTanManager.MaxCacheNum)
                    {
                        _dataList.Add(data);
                        if (!this.dataCache.TryGetValue(data.OtherRoleID, out _dataList))
                        {
                            _dataList = new List <BaiTanLogItemData>();
                            this.dataCache.Add(data.OtherRoleID, _dataList);
                        }
                        if (_dataList.Count < BaiTanManager.MaxCacheNum)
                        {
                            _dataList.Add(data);
                        }
                    }
                }
                result = true;
            }
            return(result);
        }
Пример #6
0
        public void onAddBaiTanLog(BaiTanLogItemData data)
        {
            List <BaiTanLogItemData> _dataList  = null;
            List <BaiTanLogItemData> _dataList2 = null;

            lock (this.dataCache)
            {
                if (!this.dataCache.TryGetValue(data.rid, out _dataList))
                {
                    _dataList = new List <BaiTanLogItemData>();
                    this.dataCache.Add(data.rid, _dataList);
                }
                if (!this.dataCache.TryGetValue(data.OtherRoleID, out _dataList2))
                {
                    _dataList2 = new List <BaiTanLogItemData>();
                    this.dataCache.Add(data.OtherRoleID, _dataList2);
                }
            }
            lock (_dataList)
            {
                _dataList.Insert(0, data);
                if (_dataList.Count > BaiTanManager.MaxCacheNum)
                {
                    _dataList.RemoveAt(_dataList.Count - 1);
                }
            }
            lock (_dataList2)
            {
                _dataList2.Insert(0, data);
                if (_dataList2.Count > BaiTanManager.MaxCacheNum)
                {
                    _dataList2.RemoveAt(_dataList2.Count - 1);
                }
            }
            BaiTanLogDBController.getInstance().insert(data);
        }