void IDataStore.Save(BlockedNumber number) { if (!BlockedNumbers.Any(bn => bn.Id == number.Id)) { BlockedNumbers.Add(number); } SaveChanges(); }
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); } } }
public void Save(BlockedNumber number) { lock (_lock) { if (number.Id == 0) { number.Id = NextId(); } _blockedNumbers[number.Id] = number; } }