Exemple #1
0
        void IDataStore.Save(BlockedNumber number)
        {
            if (!BlockedNumbers.Any(bn => bn.Id == number.Id))
            {
                BlockedNumbers.Add(number);
            }

            SaveChanges();
        }
Exemple #2
0
        public static void Block(string number, int days)
        {
            IDataStore store = DataStore.GetInstance();

            BlockedNumber bn = new BlockedNumber
            {
                Phone = number,
                Blocked = DateTime.UtcNow,
                Expires = DateTime.UtcNow.AddDays(days),
            };

            store.Save(bn);

            // now update any subscriptions...
            IList<Subscription> subs = store.Subscriptions.Where(s => s.Phone == number).ToList();
            foreach (Subscription sub in subs)
            {
                if (sub.Next < bn.Expires)
                {
                    sub.Next = bn.Expires;
                    store.Save(sub);
                }
            }
        }
Exemple #3
0
        void IDataStore.Save(BlockedNumber number)
        {
            if (!BlockedNumbers.Any(bn => bn.Id == number.Id))
            {
                BlockedNumbers.Add(number);
            }

            SaveChanges();
        }
Exemple #4
0
        public void Save(BlockedNumber number)
        {
            lock (_lock)
            {
                if (number.Id == 0)
                {
                    number.Id = NextId();
                }

                _blockedNumbers[number.Id] = number;
            }
        }