public RedactorView SaveXmlQuestion(RedactorView view)
        {
            var question = cx.Questions.Find(view.Question.Id);

            question.Text      = view.Question.Text;
            question.Value     = view.Question.Value;
            question.TypeName  = view.Model.GetType().Name;
            question.XmlObject = XmlBase.SerializeAbstract(view.Model);

            cx.SaveChanges();

            view.Question = question;
            view.Quiz     = question.Quiz;
            view.Section  = question.Section;

            return(view);
        }
        public Answer ExamineQuestion(Question question, XmlBase xmlAnswer)
        {
            var answer = new Answer()
            {
                Question  = question,
                XmlObject = XmlBase.SerializeAbstract(xmlAnswer),
            };

            XmlBase questionXml = XmlBase.Deserialize(question.XmlObject, question.TypeName);

            if (((IParseAnswer)xmlAnswer).IsValid())
            {
                answer.Mark = ((IXmlTask)questionXml).Compare(xmlAnswer, question.Value);
            }

            answer.TypeName = ((IAnswerName)questionXml).GetTypeName();

            return(answer);
        }