private void SaveQuestionGroup(QuestionGroup group) { object parent = group.ParentQuestionGroup as object ?? group.ParentTicket as object; databaseController.Insert(group, parent); int i; for (i = 0; i < group.ChildQuestionGroups.Count; i++) { SaveQuestionGroup(group.ChildQuestionGroups[i]); } for (i = 0; i < group.Questions.Count; i++) { QuestionData questionData = new QuestionData(group.Questions[i]); databaseController.Insert(questionData, group, group.Questions[i].Theme); if (questionData.Answer != null) { databaseController.Insert(questionData.Answer, questionData); } questionDataDictionary.TryAdd(questionData, group.Questions[i]); } }