Ejemplo n.º 1
0
        private void AddTaskMeasurementIfNeeded(IWorkTask task, List <TaskMeasurement> tasksMeasurements)
        {
            if (mOpenTasksMeasurementsDict.TryGetValue(task.ID, out TaskMeasurementInfo taskMeasurementInfo))
            {
                if (!taskMeasurementInfo.TaskMeasurement.Triangle.ShouldNotifyExact())
                {
                    return;
                }

                int currentProgressPercentage =
                    taskMeasurementInfo.TaskMeasurement.Triangle.GetCurrentTimeProgressPercentage();

                if (taskMeasurementInfo.PercentageProgress < currentProgressPercentage)
                {
                    AddOrUpdateNewTaskMeasurement(taskMeasurementInfo, tasksMeasurements);
                }

                return;
            }

            TaskMeasurement taskMeasurement = new TaskMeasurement(task.ID, task.Description, task.TaskMeasurement);

            taskMeasurementInfo = new TaskMeasurementInfo(taskMeasurement);
            AddOrUpdateNewTaskMeasurement(taskMeasurementInfo, tasksMeasurements);
        }
Ejemplo n.º 2
0
 public TaskMeasurementInfo(TaskMeasurement taskMeasurement)
 {
     TaskMeasurement    = taskMeasurement ?? throw new ArgumentNullException(nameof(taskMeasurement));
     PercentageProgress = TaskMeasurement.Triangle.GetCurrentTimeProgressPercentage();
 }