コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="questTitles"></param>
        private void SetQuests(IEnumerable <string> questTitles)
        {
            // текущие вопросы
            var currentQuests = _questionDao
                                .GetByTitles(questTitles)
                                .ToDictionary(x => x.Title);

            // почистить существующие связи вопрос-ответ
            var questIds = currentQuests.Select(x => x.Value.Questid).ToArray();

            if (!questIds.IsNullOrEmpty())
            {
                _testDao.ClearQuestAnswers(questIds);
            }

            var setQuests = new List <Question>();

            foreach (var questTitle in questTitles)
            {
                Question setQuest;
                if (currentQuests.TryGetValue(questTitle, out setQuest))
                {
                    continue;
                }
                setQuest = new Question
                {
                    Title             = questTitle,
                    AnswerType        = "S",
                    LevelOfDifficulty = "S"
                };
                setQuests.Add(setQuest);
            }
            // сохранение вопросов без привязок к ответам
            _questionDao.Save(setQuests);
        }