void timeMain_Tick(object sender, EventArgs e) { if (TimingTaskLis.Count <= 0) { return; } List <string> RemoveKeyName = new List <string>(); foreach (string keyName in TimingTaskLis.Keys) { TimingTaskInfor tti = TimingTaskLis[keyName]; int iCompareValue = tti.TriggerTime.CompareTo(DateTime.Now); if (iCompareValue <= 0) { string strContent = tti.ReminderContent; if (string.IsNullOrEmpty(strContent)) { MessageBox.Show("你设置的闹钟时间到了!", "提醒", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show(strContent, "备忘录", MessageBoxButton.OK, MessageBoxImage.Information); } RemoveKeyName.Add(keyName); } } foreach (string key in RemoveKeyName) { RemoveTimingTask(key); } }
private void btnAdd_Click(object sender, RoutedEventArgs e) { TimingTask_Add ttadd = new TimingTask_Add(); if (ttadd.ShowDialog() == true) { TimingTaskInfor tti = ttadd.TaskInfor; string strItenmName = _TimingTaskControl.CreteTimingTaskTitle(tti); if (this.ListWorke.Items.Contains(strItenmName)) { MessageBox.Show(string.Format("已存在 {0} 不能重复添加!", strItenmName), "重复添加", MessageBoxButton.OK, MessageBoxImage.Stop); return; } else { if (_TimingTaskControl.Add(tti).dbID > 0)//添加数据直数据库 { this.ListWorke.Items.Add(strItenmName); TimingTaskLis.Add(strItenmName, tti); } else //获取信息失败 更新整个列表 { UpdatTimingTaskList(); } } } }
/// <summary> /// 删除一个任务 /// </summary> /// <param name="tti"></param> /// <returns></returns> public bool Delete(TimingTaskInfor tti) { if (_TimingTaskBll.DeleteData(tti.dbID) > 0) { return(true); } else { return(false); } }
/// <summary> /// 添加一条数据 /// </summary> /// <param name="tti"></param> /// <returns></returns> public TimingTaskInfor AddData(TimingTaskInfor tti) { string SQL = "insert into TimingTask(TriggerTime,ReminderContent)values(@triggerTime,@reminderContent);select last_insert_rowid();"; SQLiteParameter[] ps = new SQLiteParameter[] { new SQLiteParameter("triggerTime", tti.TriggerTime), new SQLiteParameter("reminderContent", tti.ReminderContent) }; tti.dbID = Convert.ToInt32(_myDB.InsertDataBrakeAutoid(SQL, ps)); return(tti); }
/// <summary> /// 创建任务名称 /// </summary> /// <param name="tti"></param> /// <returns></returns> public string CreteTimingTaskTitle(TimingTaskInfor tti) { string keyName = string.Empty; if (string.IsNullOrEmpty(tti.ReminderContent)) { keyName = string.Format("【定时闹钟】时间:{0}", tti.TriggerTime.ToString("yyyy/MM/dd hh:mm:ss")); } else { keyName = string.Format("【备忘提醒 {0}】:{1}", tti.TriggerTime.ToString("yyyy/MM/dd hh:mm:ss"), tti.ReminderContent); } return(keyName); }
/// <summary> /// 获取所有定时任务 /// </summary> public List <TimingTaskInfor> GetTimingTaskInforAll() { List <TimingTaskInfor> TimingTaskLis = new List <TimingTaskInfor>(); string strSQL = "select * from TimingTask order by TriggerTime,autoid"; DataTable dt = _myDB.ExecuteQueryToDataTable(strSQL); foreach (DataRow dr in dt.Rows) { TimingTaskInfor tti = new TimingTaskInfor() { dbID = Convert.ToInt32(dr["autoid"]), TriggerTime = Convert.ToDateTime(dr["TriggerTime"]), ReminderContent = dr["ReminderContent"].ToString() }; TimingTaskLis.Add(tti); } return(TimingTaskLis); }
private void OK_Click(object sender, RoutedEventArgs e) { int iHours, iMinutes; if (int.TryParse(this.txtTimeHouse.Text.Trim(), out iHours)) { if (iHours >= 24) { MessageBox.Show("无效的时间", "错误", MessageBoxButton.OK, MessageBoxImage.Error); this.txtTimeHouse.Focus(); return; } } else { MessageBox.Show("无效的时间", "错误", MessageBoxButton.OK, MessageBoxImage.Error); this.txtTimeHouse.Focus(); return; } if (int.TryParse(this.txtTimeMinutes.Text.Trim(), out iMinutes)) { if (iMinutes >= 60) { MessageBox.Show("无效的时间", "错误", MessageBoxButton.OK, MessageBoxImage.Error); this.txtTimeMinutes.Focus(); return; } } else { MessageBox.Show("无效的时间", "错误", MessageBoxButton.OK, MessageBoxImage.Error); this.txtTimeMinutes.Focus(); return; } //构造时间 DateTime?TriggerTime = this.dpDate.SelectedDate; if (!TriggerTime.HasValue) { MessageBox.Show("请先选择一个日期", "错误", MessageBoxButton.OK, MessageBoxImage.Error); return; } TriggerTime = TriggerTime.Value.AddHours(iHours); TriggerTime = TriggerTime.Value.AddMinutes(iMinutes); //时间是否小于当前系统时间 int iCompare = TriggerTime.Value.CompareTo(DateTime.Now); if (iCompare <= 0) { MessageBox.Show("设定的时间不能小于或等于当前计算机时间。", "错误", MessageBoxButton.OK, MessageBoxImage.Error); this.txtTimeMinutes.Focus(); return; } TaskInfor = new TimingTaskInfor() { TriggerTime = (DateTime)TriggerTime, ReminderContent = this.txtContent.Text }; this.DialogResult = true; this.Close(); }
/// <summary> /// 添加一个任务 /// </summary> /// <param name="tti">任务信息</param> /// <returns>同步数据后的任务信息</returns> public TimingTaskInfor Add(TimingTaskInfor tti) { return(_TimingTaskBll.AddData(tti)); }