示例#1
0
        private double CalculateWeightedValue(IWeightedEntity item, int countOfItems, int sumOfItemWeightings)
        {
            double weightingSlice = (((double)item.Weighting / sumOfItemWeightings) * 100);
            double val            = (item.PercentCompleted() / 100d) * weightingSlice;

            return(val);
        }
示例#2
0
        public void AddTask(IEditableGoalTask goalTask)
        {
            IWeightedEntity weightedTask = goalTask as IWeightedEntity;

            if (goalTask.PercentCompleted < 0)
            {
                throw new ArgumentOutOfRangeException("Percent cannot be a negative value.");
            }

            if (goalTask.PercentCompleted > 100)
            {
                throw new ArgumentOutOfRangeException("Percent value cannot exceed 100.");
            }

            if (weightedTask.Weighting <= 0)
            {
                throw new ArgumentOutOfRangeException("Cannot add a task with an invalid weighting");
            }

            if (weightedTask.Weighting > 100)
            {
                throw new ArgumentOutOfRangeException("Cannot add a task with an invalid weighting");
            }

            goalTasks.Add(goalTask);
            progressCalculator.Add(goalTask as IWeightedEntity);
        }
示例#3
0
        public void AddTask(IWeightedEntity weightedTask)
        {
            if (weightedTask.Weighting <= 0)
            {
                throw new ArgumentOutOfRangeException("Cannot add a task with an invalid weighting");
            }

            //weightingCalculator.Update(weightedTask.InstanceId, weightedTask.Weighting);
            weightedTasks.Add(weightedTask);
            //weightedTask.WeightingChanged += GoalTask_WeightingChanged;
        }
示例#4
0
 public void Add(IWeightedEntity item)
 {
     weightedEntities.Add(item);
 }