/// <summary>reactivates the assignment.</summary> public void Reactivate(AssignmentSaver saver) { CheckUserIsInstructor(); // Check the status switch (Status) { case LearnerAssignmentState.NotStarted: throw InvalidTransitionException(LearnerAssignmentState.NotStarted, LearnerAssignmentState.Active); case LearnerAssignmentState.Active: return; // Already active case LearnerAssignmentState.Completed: break; case LearnerAssignmentState.Final: break; default: // New status added break; } LearnerAssignmentState newStatus = LearnerAssignmentState.Active; if (Assignment.IsELearning) { ReactivateSession(); } else { saver.UpdateDropBoxPermissions(newStatus, User); } Save(newStatus, false, NonELearningStatus(AttemptStatus.Active), null, saver); Status = newStatus; if (Assignment.EmailChanges) { saver.SendReactivateEmail(User); } }