예제 #1
0
        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();
        }