/// <summary> /// 题目转换 /// </summary> public static QuestionContract ConvertQuestion(Ques.Core.Models.Question question, float questionRefScore = 0, bool isConvertRefInfo = true) { if (null == question) { return(null); } var questionContract = new QuestionContract(); questionContract.Id = question.QuestionID; questionContract.VersionId = question.Version; questionContract.Type = (int)question.qType; questionContract.CurriculumID = (int)question.CurriculumID; questionContract.Stem = null == question.Stem ? string.Empty : TemplateConverter.Instance.ConvertToHtml(question.Stem, TemplateConverter.Mathml, TemplateConverter.Mathlate, TemplateConverter.MathmlBlank, TemplateConverter.Math); questionContract.IsObjective = question.IsObjective; questionContract.QuestionRefSorce = questionRefScore; questionContract.ParentVersion = question.ParentOfVersion; questionContract.Opions = question.Option.Select(t => ConvertOption(t)).ToList(); questionContract.Attachments = question.Attachments.Where(t => t.Type == AttachmentType.Problem).Select(t => ConvertAttachment(t)).ToList(); questionContract.KnowledgePoints = question.Point.Select(t => new KnowledgePoint() { PointCode = t.Code ?? string.Empty, PointName = t.Name ?? string.Empty }); if (isConvertRefInfo) { questionContract.RefInfo = ConvertRefInfo(question); } return(questionContract); }
/// <summary> /// 题目参考信息(答案)转换 /// </summary> private static QuestionRefInfo ConvertRefInfo(Ques.Core.Models.Question question) { if (question.Answer.Count > 1 && question.Answer[0].Answer == "") { question.Answer.RemoveAt(0); } return(new QuestionRefInfo() { Answers = question.Answer.OrderBy(t => t.Sort).Select(t => TemplateConverter.Instance.ConvertToHtml(t.Answer, TemplateConverter.Mathml, TemplateConverter.Mathlate, TemplateConverter.MathmlBlank, TemplateConverter.Math)).ToArray(), SolvingIdea = question.WayOfObtain ?? string.Empty, Attachments = question.Attachments.Where(t => t.Type == AttachmentType.Ideas).Select(t => ConvertAttachment(t)).ToList() }); }