コード例 #1
0
        private static void DeserialisiereRecordcardSet(XmlDocument xmlDocument, RecordcardSet recordcardSet)
        {
            XmlElement recordcardsetNode = xmlDocument.DocumentElement;

            recordcardSet.Fachbezeichnung = recordcardsetNode.GetAttribute("subject");
            DeserialisiereRecordCards(recordcardSet, recordcardsetNode);
        }
コード例 #2
0
        private static void ErstelleRecordCards(RecordcardSet recordcardSet, XmlDocument xmlDocument, XmlNode recordcardsetNode)
        {
            foreach (Recordcard recordcard in recordcardSet.RecordcardList)
            {
                XmlNode recordcardNode = xmlDocument.CreateElement("recordcard");

                XmlAttribute topicAttribute = xmlDocument.CreateAttribute("topic");
                topicAttribute.Value = recordcard.Thema;
                recordcardNode.Attributes.Append(topicAttribute);

                if (recordcard.content.GetType() == typeof(RecordCardTextContent))
                {
                    ErstelleRecordCardTextContent(xmlDocument, recordcard, recordcardNode);
                }

                else if (recordcard.content.GetType() == typeof(RecordCardAbbildungContent))
                {
                    ErstelleRecordCardAbbildungContent(xmlDocument, recordcard, recordcardNode);
                }

                else if (recordcard.content.GetType() == typeof(RecordCardAufzaehlungContent))
                {
                    ErstelleRecordCardAufzaehlungContent(xmlDocument, recordcard, recordcardNode);
                }

                else if (recordcard.content.GetType() == typeof(RecordCardMultipleChoiceContent))
                {
                    ErstelleRecordCardMultipleChoiceContent(xmlDocument, recordcard, recordcardNode);
                }

                recordcardsetNode.AppendChild(recordcardNode);
            }
        }
コード例 #3
0
        public string Serialize(RecordcardSet recordcardSet)
        {
            XmlSerializer xmlSerializer = new XmlSerializer(recordcardSet.GetType());

            using (StringWriter textWriter = new StringWriter())
            {
                xmlSerializer.Serialize(textWriter, recordcardSet);
                return(textWriter.ToString());
            }
        }
コード例 #4
0
        private RecordcardSet DeserializeFromXML(XmlDocument xmlDocument)
        {
            RecordcardSet recordcardSet = new RecordcardSet();

            if (xmlDocument.HasChildNodes && xmlDocument.FirstChild.Name == "recordcardset")
            {
                DeserialisiereRecordcardSet(xmlDocument, recordcardSet);
            }

            return(recordcardSet);
        }
コード例 #5
0
        public void Test_KKEditorAktuelleKK()
        {
            // Arrange
            KarteikartenEditor x = new KarteikartenEditor();

            // Act
            RecordcardSet actual = x.RecordCardSammlung;

            // Assert
            Assert.NotNull(actual);
        }
コード例 #6
0
        public string Serialize(RecordcardSet recordcardSet)
        {
            XmlDocument  xmlDocument       = new XmlDocument();
            XmlNode      recordcardsetNode = xmlDocument.CreateElement("recordcardset");
            XmlAttribute subjectAttribute  = xmlDocument.CreateAttribute("subject");

            subjectAttribute.Value = recordcardSet.Fachbezeichnung;
            recordcardsetNode.Attributes.Append(subjectAttribute);
            xmlDocument.AppendChild(recordcardsetNode);

            ErstelleRecordCards(recordcardSet, xmlDocument, recordcardsetNode);

            return(xmlDocument.InnerXml);
        }
コード例 #7
0
        private static void DeserialisiereRecordCards(RecordcardSet recordcardSet, XmlElement recordcardsetNode)
        {
            foreach (XmlElement recordcardnode in recordcardsetNode.GetElementsByTagName("recordcard"))
            {
                if (recordcardnode.Name == "recordcard")
                {
                    Recordcard recordcard = new Recordcard();
                    recordcard.Thema = recordcardnode.GetAttribute("topic");
                    String type = recordcardnode.GetAttribute("type");

                    if (type == "Text")
                    {
                        RecordCardTextContent recordCardContentText = new RecordCardTextContent();

                        XmlNodeList questionNodes = recordcardnode.GetElementsByTagName("questionText");
                        XmlNodeList answerNodes = recordcardnode.GetElementsByTagName("answerText");
                        XmlElement  questionNode = null, answerNode = null;

                        if (questionNodes.Count > 0)
                        {
                            questionNode = (XmlElement)questionNodes.Item(0);
                            recordCardContentText.QuestionText = questionNode.InnerText;
                        }

                        if (answerNodes.Count > 0)
                        {
                            answerNode = (XmlElement)answerNodes.Item(0);
                            recordCardContentText.AnswerText = answerNode.InnerText;
                        }

                        recordcard.content = recordCardContentText;
                    }
                    else if (type == "Abbildung")
                    {
                        RecordCardAbbildungContent content = new RecordCardAbbildungContent();

                        XmlNodeList questionNodes = recordcardnode.GetElementsByTagName("questionAbbildung");
                        XmlNodeList answerNodes = recordcardnode.GetElementsByTagName("answerAbbildung");
                        XmlElement  questionNode = null, answerNode = null;

                        if (questionNodes.Count > 0)
                        {
                            questionNode = (XmlElement)questionNodes.Item(0);
                            content.QuestionAbbildung = questionNode.InnerText;
                        }

                        if (answerNodes.Count > 0)
                        {
                            answerNode        = (XmlElement)answerNodes.Item(0);
                            content.ImagePath = answerNode.InnerText;
                        }

                        recordcard.content = content;
                    }
                    else if (type == "Aufzaehlung")
                    {
                        RecordCardAufzaehlungContent content = new RecordCardAufzaehlungContent();


                        XmlNodeList questionNodes = recordcardnode.GetElementsByTagName("questionAufzaehlung");
                        XmlNodeList answerNodes = recordcardnode.GetElementsByTagName("answerAufzaehlung");
                        XmlElement  questionNode = null, answerNode = null;

                        if (questionNodes.Count > 0)
                        {
                            questionNode = (XmlElement)questionNodes.Item(0);
                            content.QuestionAufzaehlung = questionNode.InnerText;
                        }

                        if (answerNodes.Count > 0)
                        {
                            answerNode = (XmlElement)answerNodes.Item(0);
                            foreach (XmlElement answerItem in answerNode.GetElementsByTagName("item"))
                            {
                                content.FuegeAntwortHinzu(answerItem.InnerText);
                            }
                        }

                        recordcard.content = content;
                    }
                    else if (type == "MultipleChoice")
                    {
                        RecordCardMultipleChoiceContent content = new RecordCardMultipleChoiceContent();

                        XmlNodeList questionNodes = recordcardnode.GetElementsByTagName("questionMultipleChoice");
                        XmlNodeList choicesNodes = recordcardnode.GetElementsByTagName("choicesMultipleChoice");
                        XmlNodeList answerNodes = recordcardnode.GetElementsByTagName("answerMultipleChoice");
                        XmlElement  questionNode = null, answerNode = null, choiceNode = null;

                        if (questionNodes.Count > 0)
                        {
                            questionNode = (XmlElement)questionNodes.Item(0);
                            content.QuestionMultipleChoice = questionNode.InnerText;
                        }

                        if (choicesNodes.Count > 0)
                        {
                            choiceNode = (XmlElement)choicesNodes.Item(0);
                            foreach (XmlElement choiceItem in choiceNode.GetElementsByTagName("item"))
                            {
                                content.FuegeMultipleChoiceWertHinzu(choiceItem.InnerText);
                            }
                        }

                        if (answerNodes.Count > 0)
                        {
                            answerNode = (XmlElement)answerNodes.Item(0);
                            content.AnswerMultipleChoice = answerNode.InnerText;
                        }
                        recordcard.content = content;
                    }

                    recordcardSet.RecordcardList.Add(recordcard);
                }
            }
        }
コード例 #8
0
 public static void SpeichereKarteikartenSammlung(FileHandler fileHandler, FileFormatHandler fileFormatHandler, RecordcardSet recordCardSet, string path)
 {
     fileHandler.Schreibe(fileFormatHandler.Serialize(recordCardSet), path);
 }
コード例 #9
0
 public Pruefmodus(RecordCardListRandomizer randomizer, RecordcardSet recordcardSet)
 {
     this.randomizer       = randomizer;
     originalRecordcardSet = recordcardSet;
 }