Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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();
            }
        }