Пример #1
0
        public void UpdateHoursRemaining(int hours)
        {
            if (hours < 0)
            {
                return;
            }
            int currentHoursRemaining = HoursRemaining;

            HoursRemaining = hours;
            if (HoursRemaining == 0)
            {
                MarkComplete();
                return;
            }
            IsComplete = false;

            var eventArgs = new TaskHoursUpdatedEvent(this);

            HoursUpdated?.Invoke(this, eventArgs);

            if (eventArgs.CancelRequested)
            {
                HoursRemaining = currentHoursRemaining;
            }
        }
Пример #2
0
 private void HandleTaskHoursUpdated(TaskHoursUpdatedEvent taskHoursUpdatedEvent)
 {
     if (!VerifyHoursWithinLimit())
     {
         Log("Update would exceed project hour limit.");
         throw new Exception("Project hour limit exceeded.");
     }
 }
Пример #3
0
 private void HandleTaskHoursUpdated(TaskHoursUpdatedEvent taskHoursUpdatedEvent)
 {
     if (taskHoursUpdatedEvent.Task.ProjectId != Id)
     {
         return;
     }
     if (!VerifyHoursWithinLimit())
     {
         Log("Update would exceed project hour limit.");
         throw new Exception("Project hour limit exceeded.");
     }
     UpdateStatus();
 }
Пример #4
0
 private void HandleTaskHoursUpdated(object sender, TaskHoursUpdatedEvent taskHoursUpdatedEvent)
 {
     if (taskHoursUpdatedEvent.Task.ProjectId != Id)
     {
         return;
     }
     if (!VerifyHoursWithinLimit())
     {
         Log("Update would exceed project hour limit.");
         taskHoursUpdatedEvent.CancelRequested = true;
         return;
     }
     UpdateStatus();
 }