/// <summary>Deletes the assignment.</summary> public void Delete(SPWeb web) { Store.DeleteAssignment(Id); if (EmailChanges) { using (AssignmentEmailer emailer = new AssignmentEmailer(this, Store.Settings.EmailSettings, web)) { emailer.SendCancelEmail(Learners); } } //Delete corresponding assignment folder from the drop box if exists if (IsNonELearning) { DropBoxManager dropBoxManager = new DropBoxManager(this); dropBoxManager.DeleteAssignmentFolder(); } }
void UpdateAssignment(SPWeb web) { AssignmentProperties oldProperties = Store.LoadAssignmentProperties(Id, SlkRole.Instructor); CopyInvariantProperties(oldProperties); bool corePropertiesChanged = false; if (Title != oldProperties.Title || StartDate != oldProperties.StartDate || DueDate != oldProperties.DueDate || PointsPossible != oldProperties.PointsPossible || Description != oldProperties.Description || AutoReturn != oldProperties.AutoReturn || ShowAnswersToLearners != oldProperties.ShowAnswersToLearners || EmailChanges != oldProperties.EmailChanges) { corePropertiesChanged = true; } SlkUserCollectionChanges instructorChanges = new SlkUserCollectionChanges(oldProperties.Instructors, Instructors); SlkUserCollectionChanges learnerChanges = new SlkUserCollectionChanges(oldProperties.Learners, Learners); if (corePropertiesChanged || instructorChanges.HasChanges || learnerChanges.HasChanges) { Store.UpdateAssignment(this, corePropertiesChanged, instructorChanges, learnerChanges); if (IsNonELearning) { // Update the assignment folder in the Drop Box DropBoxManager dropBoxMgr = new DropBoxManager(this); dropBoxMgr.UpdateAssignment(oldProperties); } if (EmailChanges) { using (AssignmentEmailer emailer = new AssignmentEmailer(this, Store.Settings.EmailSettings, web)) { emailer.SendNewEmail(learnerChanges.Additions); emailer.SendCancelEmail(learnerChanges.Removals); } } } }