protected void CreateInitialLists() { var document = this.TaskRepository.RetrieveInitialLists(); if (document.Nodes().Count() == 0) { return; } var todoController = new TodoController(); todoController.ControllerContext = this.ControllerContext; foreach (var taskList in document.Descendants("TaskList")) { var taskListName = taskList.Element("Name").Value; var taskListIsPublic = bool.Parse(taskList.Element("IsPublic").Value); var createdTaskList = this.TaskRepository.CreateList(taskListName, taskListIsPublic); if (createdTaskList == null || string.IsNullOrEmpty(createdTaskList.ListId)) { return; } foreach (var task in taskList.Descendants("Task")) { var newTask = new Task { ListId = createdTaskList.ListId, Subject = task.Element("Subject").Value, DueDate = string.IsNullOrEmpty(task.Element("DueDate").Value) ? DateTime.MaxValue : DateTime.Parse(task.Element("DueDate").Value, CultureInfo.InvariantCulture), IsComplete = bool.Parse(task.Element("IsComplete").Value) }; todoController.CreateTask(newTask); } } }