/// <summary>
        /// 获取距离time最近的taskCount个任务效率
        /// </summary>
        /// <param name="time"></param>
        /// <param name="taskCount"></param>
        /// <returns></returns>
        public List <TaskEfficiency> GetTaskEfficiencies(DateTime time, int taskCount)
        {
            List <TaskInfo> allTaskInfos = GetAllFinishedTaskInfo();

            allTaskInfos.Sort((t1, t2) => { return(t1.EndTime > t2.EndTime ? 1 : 0); });     // 按结束时间由晚到早排序
            List <TaskEfficiency> taskEfficiencies = new List <TaskEfficiency>();

            foreach (TaskInfo taskInfo in allTaskInfos)
            {
                if (taskEfficiencies.Count >= taskCount)
                {
                    break;
                }
                if (taskInfo.EndTime < time)
                {
                    TaskEfficiency taskEfficiency = new TaskEfficiency()
                    {
                        TaskID     = taskInfo.TaskID,
                        Name       = taskInfo.Name,
                        Efficiency = GetTaskEfficiency(taskInfo)
                    };
                    taskEfficiencies.Add(taskEfficiency);
                }
            }
            return(taskEfficiencies);
        }
Beispiel #2
0
 private static void SetTaskEfficiency(Task subject)
 {
     try {
         subject.Efficiency = TaskEfficiency.Parse(GetString("efficiency: #").First());
     }
     catch (FormatException) {
         Error("this efficiency does not exist");
     }
 }
Beispiel #3
0
 private static void EndTask()
 {
     MainSession.Tasks.Last().EndTime = DateTime.Now;
     try {
         ForegroundColor = ConsoleColor.DarkGray;
         WriteLine("Task may be ended many times");
         ResetColor();
         MainSession.Tasks.Last().Efficiency = TaskEfficiency.Parse(GetString("efficiency: #").ToCharArray()[0]);
     }
     catch (IndexOutOfRangeException) {
         Error("this efficiency does not exist");
         AnyKey("to continue");
     }
     catch (FormatException) {
         Error("this efficiency does not exist");
         AnyKey("to continue");
     }
     Saved = false;
 }