Пример #1
0
        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);
            }
        }
Пример #2
0
        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();
                    }
                }
            }
        }
Пример #3
0
 /// <summary>
 /// 删除一个任务
 /// </summary>
 /// <param name="tti"></param>
 /// <returns></returns>
 public bool Delete(TimingTaskInfor tti)
 {
     if (_TimingTaskBll.DeleteData(tti.dbID) > 0)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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);
        }
Пример #6
0
        /// <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);
        }
Пример #7
0
        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();
        }
Пример #8
0
 /// <summary>
 /// 添加一个任务
 /// </summary>
 /// <param name="tti">任务信息</param>
 /// <returns>同步数据后的任务信息</returns>
 public TimingTaskInfor Add(TimingTaskInfor tti)
 {
     return(_TimingTaskBll.AddData(tti));
 }