private void UpdateDatabase() { // For now we just use a single Issue Group "Issues" // Create it, initially disabled DeleteNonPermanentIssueGroups(); IssueGroups2.Insert(issuesIssueGroupId, 10, false, "Issues", Empty); AppendStatusText("Global Issue Group created"); // Add the Issues DeleteNonPermanentIssues(); foreach (var kvp in _IssueDictionary) { Issues2.Insert(kvp.Value.IssueId, kvp.Value.IssueId, kvp.Value.Issue, false); } AppendStatusText($"{_IssueDictionary.Count} Issues created"); // Add the IssueGroupsIssues DeleteNonPermanentIssueGroupsIssues(); foreach (var kvp in _IssueDictionary) { IssueGroupsIssues2.Insert(issuesIssueGroupId, kvp.Value.IssueId, kvp.Value.IssueId); } AppendStatusText($"{_IssueDictionary.Count} IssueGroupsIssues created"); // Add the Questions DeleteNonPermanentQuestions(); foreach (var kvp in _TopicDictionary) { Questions2.Insert(kvp.Value.TopicId, kvp.Value.Topic, false); } AppendStatusText($"{_TopicDictionary.Count} Questions created"); // Add the QuestionJurisdictions // All are federal for now DeleteNonPermanentQuestionsJurisdictions(); foreach (var kvp in _TopicDictionary) { QuestionsJurisdictions.Insert(kvp.Value.TopicId, "B", Empty, Empty); } AppendStatusText($"{_TopicDictionary.Count} QuestionsJurisdictions created"); // Add the IssuesQuestions DeleteNonPermanentIssuesQuestions(); var iqCount = 0; foreach (var kvp in _IssueDictionary) { var value = kvp.Value; foreach (var topicId in value.TopicIds) { IssuesQuestions.Insert(value.IssueId, topicId, topicId); iqCount++; } } AppendStatusText($"{iqCount} IssuesQuestions created"); // remap existing answers RemapExistingAnswers(); }