public void timer_Tick(object sender, EventArgs e) { if (ReminderTime.Date == DateTime.Now.Date && ReminderTime.Hour == DateTime.Now.Hour && ReminderTime.Minute == DateTime.Now.Minute && ReminderTime.Second == DateTime.Now.Second) { if (MessageBoxCustom.Show("Reminder", TaskName, TaskBody, ReminderTime.ToString("dd.MM.yyyy (HH:mm:ss)"), MessageBoxButton.OKCancel) == MessageBoxResult.Cancel) { IsReminderMessage = true; //ReminderTime = DateTime.Now.AddSeconds(5); ReminderTime = DateTime.Now.AddMinutes(15); } else { IsReminder = false; IsReminderMessage = false; } ////MessageBox.Show(ReminderTime.ToLongTimeString()); ////TaskModel NewReminder = new TaskModel(); ////ReminderWindow = new MessageBoxReminder(TaskName, TaskBody, ReminderTime); //IsReminderMessage = true; ////ReminderWindow = new MessageBoxReminder(); //ReminderWindow = new MessageBoxReminder(this); //ReminderWindow.Show(); //if (ReminderWindow.ShowDialog() == true) //{ // MessageBox.Show("Авторизация пройдена"); //} //IsReminder = false; } }
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 }