コード例 #1
0
        public void AddOrUpdate(int id, Premium item)
        {
            var prev = _premiums[id];

            if (_premiums[id].IsNotEmpty())
            {
                if (prev.IsNow() != item.IsNow())
                {
                    if (prev.IsNow())
                    {
                        _now.DelayRemove(id);
                    }
                    else
                    {
                        _now.DelayAdd(id);
                    }
                }
            }
            else
            {
                _ids.DelayAdd(id);
                if (item.IsNow())
                {
                    _now.DelayAdd(id);
                }
            }

            _premiums[id] = item;
        }