public XmlWriter Export(ApplicationDataModel.ADM.ApplicationDataModel applicationDataModel, string taskDataPath, TaskDocumentWriter writer) { var isoTaskData = writer.Write(taskDataPath, applicationDataModel); if (applicationDataModel != null) { var numberOfExistingTasks = GetNumberOfExistingTasks(isoTaskData, writer); var tasks = applicationDataModel.Documents == null ? null : _taskMapper.Map(applicationDataModel.Documents.LoggedData, applicationDataModel.Catalog, taskDataPath, numberOfExistingTasks, writer, false); if (tasks != null) { var taskList = tasks.ToList(); taskList.ForEach(t => t.WriteXML(isoTaskData)); } } //Close the root element with </ISO11783_TaskData> isoTaskData.WriteEndElement(); isoTaskData.Close(); return(isoTaskData); }