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;
        }
        public void AddOrUpdate(int id, string name)
        {
            short nameId = _storage.Get(name);

            if (_names[id] == 0)
            {
                _ids.DelayAdd(id);
            }
            else
            {
                _byName[_names[id]].DelayRemove(id);
            }

            _names[id] = nameId;

            if (_byName[nameId] == null)
            {
                _byName[nameId] = DelaySortedList <int> .CreateDefault();

                _byName[nameId].Load(id);
            }
            else
            {
                _byName[nameId].DelayAdd(id);
            }
        }
Example #3
0
        public void AddOrUpdate(int id, string name)
        {
            short nameId = _storage.Get(name);

            if (_names[id] == 0)
            {
                _ids.DelayAdd(id);
            }
            else
            {
                _byName[_names[id]].DelayRemove(id);
            }

            _names[id] = nameId;

            DelaySortedList <int> nameGroup;

            if (!_byName.TryGetValue(nameId, out nameGroup))
            {
                nameGroup = DelaySortedList <int> .CreateDefault();

                _byName.Add(nameId, nameGroup);
                nameGroup.Load(id);
            }
            else
            {
                nameGroup.DelayAdd(id);
            }
        }
Example #4
0
 public void Add(int id, short countryId)
 {
     if (_raw[id] == 0)
     {
         _ids.DelayAdd(id);
     }
     _raw[id] = countryId;
     if (_id2AccId[countryId] == null)
     {
         _id2AccId[countryId] = DelaySortedList <int> .CreateDefault();
     }
     _id2AccId[countryId].DelayAdd(id);
 }
Example #5
0
        public void Add(int id, Phone phone)
        {
            if (!_phones[id].IsNotEmpty())
            {
                _ids.DelayAdd(id);
            }

            _phones[id] = phone;

            if (!_code2ids.ContainsKey(phone.Code))
            {
                _code2ids[phone.Code] = DelaySortedList <int> .CreateDefault();
            }
            _code2ids[phone.Code].DelayAdd(id);
        }