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); }
public TaskMeasurementInfo(TaskMeasurement taskMeasurement) { TaskMeasurement = taskMeasurement ?? throw new ArgumentNullException(nameof(taskMeasurement)); PercentageProgress = TaskMeasurement.Triangle.GetCurrentTimeProgressPercentage(); }