public void CanRemoveArea() { Account account = new Account(); Area area = new Area(); account.AddArea(area); Assert.AreEqual(1, account.Areas.Count); Assert.AreNotEqual(null, area.Account); account.RemoveArea(area); Assert.AreEqual(0, account.Areas.Count); Assert.AreEqual(null, area.Account); }
public void Delete(Area area, Account account) { if (!area.BelongsToAccount(account)) throw new ApplicationException("The area does not belong to the account."); // Delete all task lists in area. int startingIndex = area.TaskLists.Count - 1; for (int i = startingIndex; i > -1; i--) { TaskList taskList = area.TaskLists[i]; _taskListService.Delete(taskList, account); } // Remove area from account. account.RemoveArea(area); // Delete the area. _repository.Delete(area); }