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; } }
private void HandleTaskHoursUpdated(TaskHoursUpdatedEvent taskHoursUpdatedEvent) { if (!VerifyHoursWithinLimit()) { Log("Update would exceed project hour limit."); throw new Exception("Project hour limit exceeded."); } }
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(); }
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(); }