예제 #1
0
        SerializableSnippet HandleSnippet(XmlElement xmlElement)
        {
            SerializableSnippet retVal = new SerializableSnippet();
            foreach (XmlElement child in xmlElement.ChildNodes)
            {
                if (child.Name.Equals("Text"))
                {
                    string text = GetTextBelow(child);
                    retVal.Text = text;
                }
                else if (child.Name.Equals("Title"))
                {
                    string text = GetTextBelow(child);
                    retVal.Title = text;
                }
                else if (child.Name.Equals("Created"))
                {
                    string text = GetTextBelow(child);
                    retVal.Created = deserializeDateTime(text);
                }
                else if (child.Name.Equals("Color"))
                {
                    string text = GetTextBelow(child);
                    retVal.Color = text;
                }
                else if (child.Name.Equals("Icon"))
                {
                    string text = GetTextBelow(child);
                    retVal.Icon = text;
                }
                else if (child.Name.Equals("Id"))
                {
                    string text = GetTextBelow(child);
                    retVal.Id = Convert.ToInt32(text);
                }
                else if (child.Name.Equals("Child"))
                {
                    string text = GetTextBelow(child);
                    retVal.children.Add(Convert.ToInt32(text));
                }
                else if (child.Name.Equals("Criterion"))
                {
                    string text = GetTextBelow(child);
                    SerializableCriterion criterion = new SerializableCriterion(text);
                    retVal.Criteria.Add(criterion);
                }

            }

            return retVal;
        }
예제 #2
0
        private XmlElement makeSnippetXmlAndAppend(XmlDocument doc, XmlElement parent, 
            SerializableSnippet snippet)
        {
            XmlElement snippetNode = doc.CreateElement("Snippet");
            makeTextAndAppend(doc,snippetNode,"Text",snippet.Text);
            makeTextAndAppend(doc,snippetNode,"Title",snippet.Title);
            makeTextAndAppend(doc,snippetNode,"Created",serialize(snippet.Created));
            makeTextAndAppend(doc,snippetNode,"Id",Convert.ToString(snippet.Id));
            makeTextAndAppend(doc,snippetNode,"Color",snippet.Color);
            makeTextAndAppend(doc,snippetNode,"Icon",Convert.ToString(snippet.Icon));
            foreach (int child in snippet.children) {
                makeChildXmlAndAppend(doc,snippetNode,child);
            }

            foreach (SerializableCriterion criterion in snippet.Criteria)
            {
                makeCriterionXmlAndAppend(doc, snippetNode, criterion);
            }

            parent.AppendChild(snippetNode);
            return snippetNode;
        }
예제 #3
0
 /// <summary>
 /// first time around, goes to the to level snippets, otherwise it goes to normal snippets
 /// </summary>
 /// <param name="snippet"></param>
 /// <param name="storeWhere"></param>
 public void Handle(Snippet snippet)
 {
     if (!snippets.ContainsKey(snippet.Id))
     {
         SerializableSnippet sSnippet = new SerializableSnippet(snippet);
         snippets.Add(sSnippet.Id, sSnippet);
         foreach (Snippet child in snippet.Children)
         {
             Handle(child);
         }
     }
 }