//从开始对比所有任务的开始时间,如果插入的任务早于某个任务,则插入到该任务前 private int GetTaskIndex(SelfDateTime _selfDate, SelfDayTime _startTime) { var _curTime = GetDateTimeBySelf(_selfDate, _startTime); for (var i = 0; i < taskList.Count; i++) { if (_curTime.CompareTo(GetDateTimeBySelf(_selfDate, taskList[i].StartTime)) == -1) { return(i); } } return(taskList.Count); }
//任务全部完成,或者到期后开始定制第二天的任务 private void SetNewDayTask() { //开启新的一天的任务表,设置日期 var _date = new SelfDateTime(2018, 5, 1); //读取惯例任务表,添加惯例任务,并显示列表 //此时可以: //1.按住并往两侧划:移除 //2.新建任务条,填写任务内容、时间(时、分) //3.按住任务条,上下划修改任务开始时间 //设置完后就保存为该天的任务列表 InsertTask(_date, "Eat", new SelfDayTime(Hour, Miunte)); InsertTask(_date, "Get Up", new SelfDayTime(Hour, Miunte - 1)); var _taskList = new TaskDataList(taskList); totalData.Add(_date, _taskList); }
private void Init() { totalData = new Dictionary <SelfDateTime, TaskDataList>();//应该是要从存档中读取的 curDate = GetSelfDateByDateTime(DateTime.Now); }
private bool IsExpire(SelfDateTime _selfDate, SelfDayTime _selfDay) { var _curTime = GetDateTimeBySelf(_selfDate, _selfDay); return(IsExpire(_curTime)); }
private void InsertTask(SelfDateTime _selfDate, string _taskString, SelfDayTime _startTime, ImportanceLevel _importanceLevel = ImportanceLevel.Soft) { TaskData taskData = new TaskData(_taskString, _startTime, _importanceLevel); taskList.Insert(GetTaskIndex(_selfDate, _startTime), taskData); }
//将当前时间转换为DateTime private DateTime GetDateTimeBySelf(SelfDateTime _selfDate, SelfDayTime _selfDayTime) { return(new DateTime(_selfDate.Year, _selfDate.Month, _selfDate.Day, _selfDayTime.Hour, _selfDayTime.Minute, _selfDayTime.Second)); }