public PersonalityTestElementStandardResult[] GetPersonalityTestElementStandardResults(PersonalityTestPaperResult[] paperResults)
        {
            var questionsSetCodes = paperResults.Select(item => item.QuestionsSetCode).Distinct().ToList();
            var ages = paperResults.Select(item => item.Age).Distinct().ToList();

            List <PersonalityTestQuestionsSet> questionsSets;
            List <PersonalityTestElementStandardParametersSet> elementStandardParametersSets;

            using (var context = new ComputingServicesContext())
            {
                questionsSets = context.PersonalityTestQuestionsSets.Include(item => item.Questions.Select(question => question.ChoiceScores)).Where(item => questionsSetCodes.Contains(item.Code)).ToList();
                elementStandardParametersSets = context.PersonalityTestElementStandardParametersSets.Include(item => item.Parameters.Select(parameter => parameter.Segments)).Where(item => ages.Any(age => age >= item.AgeMin && age <= item.AgeMax)).ToList();
            }

            List <PersonalityTestElementStandardResult> elementStandardResultList = new List <PersonalityTestElementStandardResult>();

            foreach (PersonalityTestPaperResult paperResult in paperResults)
            {
                var questionsSet = questionsSets.Single(item => item.Code == paperResult.QuestionsSetCode);

                Core.Domain.Models.Shared.Gender gender = ConvertToDomain(paperResult.Gender);

                var elementStandardParametersSet = elementStandardParametersSets.Single(item => item.Gender == gender && paperResult.Age >= item.AgeMin && paperResult.Age <= item.AgeMax);

                var elementStandardResult = GetPersonalityTestElementStandardResult(paperResult, questionsSet, elementStandardParametersSet);

                elementStandardResultList.Add(elementStandardResult);
            }

            return(elementStandardResultList.ToArray());
        }
Example #2
0
        protected void btnImportIQTestStandardParametersSet_Click(object sender, EventArgs e)
        {
            List <IQTestStandardParametersSet> parametersSetList = new List <IQTestStandardParametersSet>();

            string dataDirectoryPath = MapPath("~/App_Data/IQTest");

            string[] dataFilePaths = Directory.GetFiles(dataDirectoryPath, "IQTestStandardParametersSet*.xml");

            foreach (string dataFilePath in dataFilePaths)
            {
                XmlDocument xd = new XmlDocument();
                xd.Load(dataFilePath);

                XmlElement xeElementStandardParametersSet = (XmlElement)xd.SelectSingleNode("StandardParametersSet");
                int        ageMin = int.Parse(xeElementStandardParametersSet.GetAttribute("AgeMin"));
                int        ageMax = int.Parse(xeElementStandardParametersSet.GetAttribute("AgeMax"));

                IQTestStandardParametersSet parametersSet = new IQTestStandardParametersSet(ageMin, ageMax);

                foreach (XmlNode xnParameter in xeElementStandardParametersSet.SelectNodes("Parameter"))
                {
                    XmlElement xeParameter = (XmlElement)xnParameter;

                    int originalScore = int.Parse(xeParameter.GetAttribute("OriginalScore"));
                    int IQ            = int.Parse(xeParameter.GetAttribute("IQ"));

                    IQTestStandardParameter standardParameter = new IQTestStandardParameter(originalScore, IQ);
                    parametersSet.Parameters.Add(standardParameter);
                }

                parametersSetList.Add(parametersSet);
            }

            if (parametersSetList.Count > 0)
            {
                using (var context = new ComputingServicesContext())
                {
                    foreach (var parametersSet in parametersSetList)
                    {
                        var oldStandardParametersSet = context.IQTestStandardParametersSets.Where(item => item.AgeMin == parametersSet.AgeMin && item.AgeMax == parametersSet.AgeMax).SingleOrDefault();
                        if (oldStandardParametersSet != null)
                        {
                            context.IQTestStandardParametersSets.Remove(oldStandardParametersSet);
                        }
                        context.IQTestStandardParametersSets.Add(parametersSet);
                    }
                    context.SaveChanges();
                }

                ltlLog.Text = "成功完成。";
            }
            else
            {
                ltlLog.Text = "没有数据。";
            }
        }
Example #3
0
        protected void btnImportIQTestQuestionsSet_Click(object sender, EventArgs e)
        {
            List <IQTestQuestionsSet> questionsSetList = new List <IQTestQuestionsSet>();

            string dataDirectoryPath = MapPath("~/App_Data/IQTest");

            string[] dataFilePaths = Directory.GetFiles(dataDirectoryPath, "IQTestQuestionsSet*.xml");

            foreach (string dataFilePath in dataFilePaths)
            {
                XmlDocument xd = new XmlDocument();
                xd.Load(dataFilePath);

                XmlElement xeQuestionsSet   = (XmlElement)xd.SelectSingleNode("QuestionsSet");
                string     questionsSetCode = xeQuestionsSet.GetAttribute("Code");

                IQTestQuestionsSet questionsSet = new IQTestQuestionsSet(questionsSetCode);

                foreach (XmlNode xnQuestion in xeQuestionsSet.SelectNodes("Question"))
                {
                    XmlElement xeQuestion = (XmlElement)xnQuestion;

                    string group         = xeQuestion.GetAttribute("Group");
                    int    code          = int.Parse(xeQuestion.GetAttribute("Code"));
                    string correctChoice = xeQuestion.GetAttribute("CorrectChoice");

                    IQTestQuestion question = new IQTestQuestion(group, code, correctChoice);
                    questionsSet.Questions.Add(question);
                }

                questionsSetList.Add(questionsSet);
            }

            if (questionsSetList.Count > 0)
            {
                using (var context = new ComputingServicesContext())
                {
                    foreach (var questionsSet in questionsSetList)
                    {
                        var oldQuestionsSet = context.IQTestQuestionsSets.Where(item => item.Code == questionsSet.Code).SingleOrDefault();
                        if (oldQuestionsSet != null)
                        {
                            context.IQTestQuestionsSets.Remove(oldQuestionsSet);
                        }
                        context.IQTestQuestionsSets.Add(questionsSet);
                    }
                    context.SaveChanges();
                }

                ltlLog.Text = "成功完成。";
            }
            else
            {
                ltlLog.Text = "没有数据。";
            }
        }
        // GET api/certainsportabilitytestevaluationcriteriasport
        public IEnumerable <CertainSportAbilityTestEvaluationCriteriaSportDTO> Get()
        {
            IEnumerable <CertainSportAbilityTestEvaluationCriteriaSportDTO> sportDTOs;

            using (var context = new ComputingServicesContext())
            {
                sportDTOs = context.CertainSportAbilityTestEvaluationCriteriaSports.Select(item => new CertainSportAbilityTestEvaluationCriteriaSportDTO
                {
                    Id   = item.Id,
                    Code = item.Code,
                    Name = item.Name
                }).ToList();
            }

            return(sportDTOs);
        }
        // DELETE api/certainsportabilitytestevaluationcriteriasport/5
        public HttpResponseMessage Delete(int id)
        {
            using (var context = new ComputingServicesContext())
            {
                CertainSportAbilityTestEvaluationCriteriaSport sport = context.CertainSportAbilityTestEvaluationCriteriaSports.SingleOrDefault(item => item.Id == id);
                if (sport == null)
                {
                    throw new HttpResponseException(HttpStatusCode.NotFound);
                }
                context.CertainSportAbilityTestEvaluationCriteriaSports.Remove(sport);

                context.SaveChanges();
            }

            var response = Request.CreateResponse(HttpStatusCode.NoContent);

            return(response);
        }
        // PUT api/certainsportabilitytestevaluationcriteriasport/5
        public HttpResponseMessage Put(int id, [FromBody] CertainSportAbilityTestEvaluationCriteriaSportDTO sportDTO)
        {
            using (var context = new ComputingServicesContext())
            {
                CertainSportAbilityTestEvaluationCriteriaSport sport = context.CertainSportAbilityTestEvaluationCriteriaSports.SingleOrDefault(item => item.Id == id);
                if (sport == null)
                {
                    throw new HttpResponseException(HttpStatusCode.NotFound);
                }
                sport.UpdateBasicInfo(sportDTO.Code, sportDTO.Name);

                context.SaveChanges();
            }

            var response = Request.CreateResponse(HttpStatusCode.NoContent);

            return(response);
        }
        public CertainSportAbilityTestStandardResult[] GetCertainSportAbilityTestStandardResults(CertainSportAbilityTestOriginalResult[] originalResults)
        {
            var sportTypes = originalResults.Select(item => item.SportType).Distinct().ToList();

            List <CertainSportAbilityTestEvaluationCriteriaSport>    allSports;
            List <CertainSportAbilityTestEvaluationCriteriaSubSport> allSubSports;
            List <CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet> allSubSportParametersSets;

            using (var context = new ComputingServicesContext())
            {
                allSports = context.CertainSportAbilityTestEvaluationCriteriaSports.Include(item => item.Parameters).Where(item => sportTypes.Contains(item.Code)).ToList();
                var allSportIds = allSports.Select(item => item.Id).ToList();
                allSubSports = context.CertainSportAbilityTestEvaluationCriteriaSubSports.Where(item => allSportIds.Contains(item.Sport.Id)).ToList();
                var allSubSportIds = allSubSports.Select(item => item.Id).ToList();
                allSubSportParametersSets = context.CertainSportAbilityTestEvaluationCriteriaSubSportParametersSets.Include(item => item.Parameters).Where(item => allSubSportIds.Contains(item.SubSport.Id)).ToList();
            }

            Dictionary <string, CertainSportAbilityTestEvaluationCriteriaSportBundle> sportBundles = new Dictionary <string, CertainSportAbilityTestEvaluationCriteriaSportBundle>();

            foreach (var sportType in sportTypes)
            {
                var sport     = allSports.Single(item => item.Code == sportType);
                var subSports = allSubSports.Where(item => item.Sport == sport).ToList();
                var subSportParametersSets = allSubSportParametersSets.Where(item => subSports.Contains(item.SubSport)).ToList();

                CertainSportAbilityTestEvaluationCriteriaSportBundle sportBundle = new CertainSportAbilityTestEvaluationCriteriaSportBundle(sport, subSports, subSportParametersSets);

                sportBundles.Add(sportType, sportBundle);
            }

            List <CertainSportAbilityTestStandardResult> standardResultList = new List <CertainSportAbilityTestStandardResult>();

            foreach (CertainSportAbilityTestOriginalResult originalResult in originalResults)
            {
                var sportBundle = sportBundles[originalResult.SportType];

                var standardResult = GetCertainSportAbilityTestStandardResult(originalResult, sportBundle);

                standardResultList.Add(standardResult);
            }

            return(standardResultList.ToArray());
        }
        // POST api/certainsportabilitytestevaluationcriteriasport
        public HttpResponseMessage Post([FromBody] CertainSportAbilityTestEvaluationCriteriaSportDTO sportDTO)
        {
            CertainSportAbilityTestEvaluationCriteriaSport sport = new CertainSportAbilityTestEvaluationCriteriaSport(sportDTO.Code, sportDTO.Name);

            using (var context = new ComputingServicesContext())
            {
                context.CertainSportAbilityTestEvaluationCriteriaSports.Add(sport);

                context.SaveChanges();
            }

            sportDTO.Id = sport.Id;

            var    response = Request.CreateResponse(HttpStatusCode.Created, sportDTO);
            string url      = Url.Link("DefaultApi", new { sportDTO.Id });

            response.Headers.Location = new Uri(url);

            return(response);
        }
        // GET api/certainsportabilitytestevaluationcriteriasport/5
        public CertainSportAbilityTestEvaluationCriteriaSportDTO Get(int id)
        {
            CertainSportAbilityTestEvaluationCriteriaSportDTO sportDTO;

            using (var context = new ComputingServicesContext())
            {
                CertainSportAbilityTestEvaluationCriteriaSport sport = context.CertainSportAbilityTestEvaluationCriteriaSports.SingleOrDefault(item => item.Id == id);
                if (sport == null)
                {
                    throw new HttpResponseException(HttpStatusCode.NotFound);
                }
                sportDTO = new CertainSportAbilityTestEvaluationCriteriaSportDTO
                {
                    Id   = sport.Id,
                    Code = sport.Code,
                    Name = sport.Name
                };
            }

            return(sportDTO);
        }
        public IQTestStandardResult[] GetIQTestStandardResults(IQTestPaperResult[] paperResults)
        {
            foreach (IQTestPaperResult paperResult in paperResults)
            {
                if (string.IsNullOrEmpty(paperResult.QuestionsSetCode))
                {
                    paperResult.QuestionsSetCode = "Default";
                }
            }

            var questionsSetCodes = paperResults.Select(item => item.QuestionsSetCode).Distinct().ToList();
            var ages = paperResults.Select(item => item.Age).Distinct().ToList();

            List <IQTestQuestionsSet>          questionsSets;
            List <IQTestStandardParametersSet> standardParametersSets;

            using (var context = new ComputingServicesContext())
            {
                questionsSets          = context.IQTestQuestionsSets.Include(item => item.Questions).Where(item => questionsSetCodes.Contains(item.Code)).ToList();
                standardParametersSets = context.IQTestStandardParametersSets.Include(item => item.Parameters).Where(item => ages.Any(age => age >= item.AgeMin && age <= item.AgeMax)).ToList();
            }

            List <IQTestStandardResult> standardResultList = new List <IQTestStandardResult>();

            foreach (IQTestPaperResult paperResult in paperResults)
            {
                var questionsSet = questionsSets.Single(item => item.Code == paperResult.QuestionsSetCode);

                var standardParametersSet = standardParametersSets.Single(item => paperResult.Age >= item.AgeMin && paperResult.Age <= item.AgeMax);

                var standardResult = GetIQTestStandardResult(paperResult, questionsSet, standardParametersSet);

                standardResultList.Add(standardResult);
            }

            return(standardResultList.ToArray());
        }
Example #11
0
        public void TestAddCertainSportAbilityTestEvaluationCriteriaSport()
        {
            string sportCode = "sport_for_test";

            CertainSportAbilityTestEvaluationCriteriaSport sport = new CertainSportAbilityTestEvaluationCriteriaSport(sportCode, "花样游泳");

            sport.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSportParameter("优秀", 90, null, null, null));
            sport.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSportParameter("合格", 60, null, null, null));

            List <CertainSportAbilityTestEvaluationCriteriaSubSport> subSportList = new List <CertainSportAbilityTestEvaluationCriteriaSubSport>();
            List <CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet> subSportParametersSetList = new List <CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet>();

            {
                CertainSportAbilityTestEvaluationCriteriaSubSport subSport = new CertainSportAbilityTestEvaluationCriteriaSubSport("800m", "800米跑", "秒", CertainSportAbilityTestDataType.TimeSpan, CertainSportAbilityTestComparePattern.LessThanOrEqual, sport);

                subSportList.Add(subSport);

                {
                    CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet subSportParametersSet = new CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet(1, 100, Gender.Female, subSport);

                    subSportParametersSet.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSubSportParameter("4:20", 3, "及格"));
                    subSportParametersSet.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSubSportParameter("4:10", 4, "良好"));
                    subSportParametersSet.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSubSportParameter("4:00", 5, "优秀"));

                    subSportParametersSetList.Add(subSportParametersSet);
                }
            }

            {
                CertainSportAbilityTestEvaluationCriteriaSubSport subSport = new CertainSportAbilityTestEvaluationCriteriaSubSport("NeckLength", "颈长", "厘米", CertainSportAbilityTestDataType.Integer, CertainSportAbilityTestComparePattern.GreaterThanOrEqual, sport);

                subSportList.Add(subSport);

                {
                    CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet subSportParametersSet = new CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet(8, 8, null, subSport);

                    subSportParametersSet.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSubSportParameter("11", 3, "及格"));
                    subSportParametersSet.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSubSportParameter("13", 5, "优秀"));

                    subSportParametersSetList.Add(subSportParametersSet);
                }
                {
                    CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet subSportParametersSet = new CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet(9, 9, null, subSport);

                    subSportParametersSet.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSubSportParameter("12", 3, "及格"));
                    subSportParametersSet.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSubSportParameter("15", 5, "优秀"));

                    subSportParametersSetList.Add(subSportParametersSet);
                }
                {
                    CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet subSportParametersSet = new CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet(10, 10, null, subSport);

                    subSportParametersSet.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSubSportParameter("14", 3, "及格"));
                    subSportParametersSet.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSubSportParameter("17", 5, "优秀"));

                    subSportParametersSetList.Add(subSportParametersSet);
                }
                {
                    CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet subSportParametersSet = new CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet(11, 12, null, subSport);

                    subSportParametersSet.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSubSportParameter("16", 3, "及格"));
                    subSportParametersSet.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSubSportParameter("19", 5, "优秀"));

                    subSportParametersSetList.Add(subSportParametersSet);
                }
            }

            {
                CertainSportAbilityTestEvaluationCriteriaSubSport subSport = new CertainSportAbilityTestEvaluationCriteriaSubSport("Expressiveness", "表现力", null, CertainSportAbilityTestDataType.Characters, CertainSportAbilityTestComparePattern.Equal, sport);

                subSportList.Add(subSport);

                {
                    CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet subSportParametersSet = new CertainSportAbilityTestEvaluationCriteriaSubSportParametersSet(8, 12, null, subSport);

                    subSportParametersSet.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSubSportParameter("仅能表达出主题", 3, "及格"));
                    subSportParametersSet.Parameters.Add(new CertainSportAbilityTestEvaluationCriteriaSubSportParameter("具有较强的感染力", 5, "优秀"));

                    subSportParametersSetList.Add(subSportParametersSet);
                }
            }

            using (var context = new ComputingServicesContext())
            {
                var existsSport = context.CertainSportAbilityTestEvaluationCriteriaSports.SingleOrDefault(item => item.Code == sportCode);
                if (existsSport != null)
                {
                    context.CertainSportAbilityTestEvaluationCriteriaSports.Remove(existsSport);
                }

                context.CertainSportAbilityTestEvaluationCriteriaSports.Add(sport);
                context.CertainSportAbilityTestEvaluationCriteriaSubSports.AddRange(subSportList);
                context.CertainSportAbilityTestEvaluationCriteriaSubSportParametersSets.AddRange(subSportParametersSetList);
                context.SaveChanges();
            }
        }
Example #12
0
        protected void btnImportPersonalityTestElementStandardParametersSet_Click(object sender, EventArgs e)
        {
            List <PersonalityTestElementStandardParametersSet> parametersSetList = new List <PersonalityTestElementStandardParametersSet>();

            string dataDirectoryPath = MapPath("~/App_Data/PersonalityTest");

            string[] dataFilePaths = Directory.GetFiles(dataDirectoryPath, "ElementStandardParametersSet*.xml");

            foreach (string dataFilePath in dataFilePaths)
            {
                XmlDocument xd = new XmlDocument();
                xd.Load(dataFilePath);

                XmlElement xeElementStandardParametersSet = (XmlElement)xd.SelectSingleNode("ElementStandardParametersSet");
                string     name   = xeElementStandardParametersSet.GetAttribute("Name");
                int        ageMin = int.Parse(xeElementStandardParametersSet.GetAttribute("AgeMin"));
                int        ageMax = int.Parse(xeElementStandardParametersSet.GetAttribute("AgeMax"));
                Core.Domain.Models.Shared.Gender gender = (Core.Domain.Models.Shared.Gender)Enum.Parse(typeof(Core.Domain.Models.Shared.Gender), xeElementStandardParametersSet.GetAttribute("Gender"));

                PersonalityTestElementStandardParametersSet parametersSet = new PersonalityTestElementStandardParametersSet(name, ageMin, ageMax, gender);

                foreach (XmlNode xnParameter in xeElementStandardParametersSet.SelectNodes("Parameter"))
                {
                    XmlElement xeParameter = (XmlElement)xnParameter;

                    string             parameterElement = xeParameter.GetAttribute("Element");
                    PersonalityElement element          = (PersonalityElement)Enum.Parse(typeof(PersonalityElement), parameterElement);
                    decimal            parameterX       = decimal.Parse(xeParameter.GetAttribute("X"));
                    decimal            parameterS       = decimal.Parse(xeParameter.GetAttribute("S"));

                    PersonalityTestElementStandardParameter elementStandardParameter = new PersonalityTestElementStandardParameter(element, parameterX, parameterS);

                    foreach (XmlNode xnSegment in xeParameter.SelectNodes("Segment"))
                    {
                        XmlElement xeSegment = (XmlElement)xnSegment;

                        int originalScoreMin = int.Parse(xeSegment.GetAttribute("OriginalScoreMin"));
                        int originalScoreMax = int.Parse(xeSegment.GetAttribute("OriginalScoreMax"));
                        int standardScore    = int.Parse(xeSegment.GetAttribute("StandardScore"));

                        PersonalityTestElementStandardParameterSegment parameterSegment = new PersonalityTestElementStandardParameterSegment(originalScoreMin, originalScoreMax, standardScore);

                        elementStandardParameter.Segments.Add(parameterSegment);
                    }

                    parametersSet.Parameters.Add(elementStandardParameter);
                }

                parametersSetList.Add(parametersSet);
            }

            if (parametersSetList.Count > 0)
            {
                using (var context = new ComputingServicesContext())
                {
                    foreach (var parametersSet in parametersSetList)
                    {
                        var oldPersonalityTestElementStandardParametersSet = context.PersonalityTestElementStandardParametersSets.Where(item => item.AgeMin == parametersSet.AgeMin && item.AgeMax == parametersSet.AgeMax).ToList().SingleOrDefault(item => item.Gender == parametersSet.Gender);
                        if (oldPersonalityTestElementStandardParametersSet != null)
                        {
                            context.PersonalityTestElementStandardParametersSets.Remove(oldPersonalityTestElementStandardParametersSet);
                        }
                        context.PersonalityTestElementStandardParametersSets.Add(parametersSet);
                    }
                    context.SaveChanges();
                }

                ltlLog.Text = "成功完成。";
            }
            else
            {
                ltlLog.Text = "没有数据。";
            }
        }
Example #13
0
        protected void btnImportPersonalityTestQuestionsSet_Click(object sender, EventArgs e)
        {
            var questionsSetList = new List <PersonalityTestQuestionsSet>();

            string dataDirectoryPath = MapPath("~/App_Data/PersonalityTest");

            string[] dataFilePaths = Directory.GetFiles(dataDirectoryPath, "QuestionsSet*.xml");
            foreach (string dataFilePath in dataFilePaths)
            {
                XmlDocument xd = new XmlDocument();
                xd.Load(dataFilePath);

                XmlElement xeQuestionsSet   = (XmlElement)xd.SelectSingleNode("QuestionsSet");
                string     questionsSetCode = xeQuestionsSet.GetAttribute("Code");

                PersonalityTestQuestionsSet questionsSet = new PersonalityTestQuestionsSet(questionsSetCode);

                foreach (XmlNode xnQuestion in xeQuestionsSet.SelectNodes("Question"))
                {
                    XmlElement xeQuestion = (XmlElement)xnQuestion;

                    int                questionCode    = int.Parse(xeQuestion.GetAttribute("Code"));
                    string             questionElement = xeQuestion.GetAttribute("Element");
                    PersonalityElement element         = (PersonalityElement)Enum.Parse(typeof(PersonalityElement), questionElement);

                    PersonalityTestQuestion question = new PersonalityTestQuestion(questionCode, element);

                    foreach (XmlNode xnChoiceScore in xeQuestion.SelectNodes("ChoiceScore"))
                    {
                        XmlElement xeChoiceScore = (XmlElement)xnChoiceScore;

                        string choice = xeChoiceScore.GetAttribute("Choice");
                        int    score  = int.Parse(xeChoiceScore.GetAttribute("Score"));

                        PersonalityTestQuestionChoiceScore choiceScore = new PersonalityTestQuestionChoiceScore(choice, score);
                        question.ChoiceScores.Add(choiceScore);
                    }

                    questionsSet.Questions.Add(question);
                }

                questionsSetList.Add(questionsSet);
            }

            if (questionsSetList.Count > 0)
            {
                using (var context = new ComputingServicesContext())
                {
                    foreach (var questionsSet in questionsSetList)
                    {
                        PersonalityTestQuestionsSet oldQuestionsSet = context.PersonalityTestQuestionsSets.SingleOrDefault(item => item.Code == questionsSet.Code);
                        if (oldQuestionsSet != null)
                        {
                            context.PersonalityTestQuestionsSets.Remove(oldQuestionsSet);
                        }
                        context.PersonalityTestQuestionsSets.Add(questionsSet);
                    }
                    context.SaveChanges();
                }

                ltlLog.Text = "成功完成。";
            }
            else
            {
                ltlLog.Text = "没有数据。";
            }
        }