public void AddCountDown(CountDown countDown) { try { if (CountDowns == null) { CountDowns = new List <CountDown>(); } if (countDown.Date.Date < DateTime.Now.Date) { return; } foreach (var down in CountDowns) { if (down.Date.Date == countDown.Date.Date) { down.Remarks = countDown.Remarks; return; } } CountDowns.Add(countDown); CountDowns.Sort(); } finally { CountDownsChanged?.Invoke(); } }
public bool Load(string fileName = "countdowns.json") { var configFile = AppDomain.CurrentDomain.BaseDirectory + fileName; if (!File.Exists(configFile)) { CountDowns = new List <CountDown>(); return(true); } string jsonStr = string.Empty; try { jsonStr = File.ReadAllText(configFile); CountDowns = JsonHelper.DeserializeJsonToList <CountDown>(jsonStr); List <CountDown> removes = new List <CountDown>(); foreach (var countDown in CountDowns) { if (countDown.Days < 0) { removes.Add(countDown); } } foreach (var countDown in removes) { CountDowns.Remove(countDown); } CountDowns.Sort(); CountDownsChanged?.Invoke(); return(true); } catch (Exception) { return(false); } }
public void RemoveCountDown(DateTime date) { List <CountDown> removes = new List <CountDown>(); foreach (var countDown in CountDowns) { if (countDown.Date.Date == date.Date) { removes.Add(countDown); } } foreach (var countDown in removes) { CountDowns.Remove(countDown); } if (removes.Count > 0) { CountDownsChanged?.Invoke(); } }