public void FetchData(ReminderModel model) { try { if (string.IsNullOrEmpty(model.Contact)) { GuiD = model.GuiD; ReminderTime = Convert.ToDateTime(model.ReminderTime).ToString(); ReminderTime = ReminderTime.Substring(0, ReminderTime.Length - 3); Content = model.Content; Contact = model.Contact; Record = model.Record; RecordPath = model.RecordPath; Ring = model.Ring; if (!string.IsNullOrEmpty(Contact)) { Label = Contact + "," + ReminderTime; } else { Label = ReminderTime; } if (!string.IsNullOrEmpty(Content) && Content.Length > 13) { LabelContent = Content.Substring(0, 13) + "..."; } else { LabelContent = Content; } } else { GuiD = model.GuiD; ReminderTime = model.ReminderTime; Content = model.Content; Contact = model.Contact; Record = model.Record; RecordPath = model.RecordPath; Ring = model.Ring; Label = Contact + "," + ReminderTime; if (!string.IsNullOrEmpty(Content) && Content.Length > 13) { LabelContent = Content.Substring(0, 13) + "..."; } else { LabelContent = Content; } } } catch (Exception e) { LogWriter.Instance.Error(e); } }
/// <summary> /// 计时 /// </summary> private void TimeTick() { _reportTimer = new Timer(new TimerCallback(callback => { DispatcherHelper.CheckBeginInvokeOnUI( () => { try { //下次提醒时间 NextReminderTime = (DateTime.Now + new TimeSpan(0, 9, 0)).ToString(); NextReminderTime = NextReminderTime.Substring(0, NextReminderTime.Length - 3); //现在时间 //AlarmTime = DateTime.Now.ToString("HH") + ":" + DateTime.Now.ToString("mm"); //当前时间与提醒时间比对 if ((DateTime.Now - Convert.ToDateTime(_reminderTimeRing)).TotalSeconds <= 5 && (DateTime.Now - Convert.ToDateTime(_reminderTimeRing)).TotalSeconds >= 0) { if (_mainWindow != null) { string[] times = Convert.ToDateTime(_reminderTimeRing).ToString().Split(' '); if (times[1].Contains("午")) { if (times[1].Equals("上午")) { ReminderTime = times[0] + " " + times[2] + "am"; } else { ReminderTime = times[0] + " " + times[2] + "pm"; } } else { ReminderTime = times[0] + " " + times[1]; } ReminderTime = ReminderTime.Substring(0, ReminderTime.Length - 3); ReminderReporter?.Invoke(Content, true); _mainWindow.Show(); _isTime = true; //_player.Play(); } } if (_isTime) { _internal++; if (_internal % 15 == 0) { ReminderReporter?.Invoke(Content, true); } else if (_internal > 44) //44*3000 = 132s { ReminderReporter?.Invoke(Content, false); //_player.Stop(); //_player.Close(); _mainWindow.Close(); _isTime = false; _internal = 0; } } } catch (Exception ex) { LogWriter.Instance.Error(ex); } }); }), null, 0, 3000); //如:一天执行一次 1000 * 60 * 60 * 24 }