/// <summary>エレメントのセーブ /// </summary> public void SaveTmElement(XmlDocument doc, XmlElement element, ITimeTableElement obj) { element.SetAttribute("id", obj.ObjectID.ToString()); element.SetAttribute("available", (obj.Removed == null ? "TRUE" : "FALSE")); element.SetAttribute("created", obj.Created.ToString(CSaver.DATEFORMAT)); if (obj.Removed != null) { element.SetAttribute("removed", ((DateTime)obj.Removed).ToString(CSaver.DATEFORMAT)); } // プロパティ foreach (string key in obj) { //propelement.SetAttribute("value", obj.GetProperty(key)); string proptext = obj.GetProperty(key); if (proptext != "") { XmlElement propelement = doc.CreateElement("property"); propelement.SetAttribute("key", key); propelement.InnerText = proptext; element.AppendChild(propelement); } } // メモ if (obj.Notes.Trim() != "") { XmlElement noteelement = doc.CreateElement("notes"); noteelement.InnerText = obj.Notes; element.AppendChild(noteelement); } }
/// <summary>比較する /// </summary> /// <param name="obj">比較対照</param> /// <returns>1:thisが大きい,2:objが大きい,0:等しい</returns> public int CompareTo(object obj) { ITimeTableElement o = obj as ITimeTableElement; int ret = 0; if (ObjectID > o.ObjectID) { ret = 1; } else if (ObjectID < o.ObjectID) { ret = -1; } return(ret); }
/// <summary>エレメントのロード /// </summary> public void LoadTmElement(XmlElement element, ITimeTableElement obj) { obj.ObjectID = long.Parse(element.GetAttribute("id")); string availtext = element.GetAttribute("available"); if (availtext.ToUpper() == "TRUE") { obj.SetAvailable(true); } else { obj.SetAvailable(false); } obj.Created = DateTime.Parse(element.GetAttribute("created")); XmlAttribute att = element.Attributes["removed"]; if (att != null) { obj.Removed = DateTime.Parse(att.Value); } else { obj.Removed = CAbstractElement.NullDate; } XmlElement pNode = element.FirstChild as XmlElement; while (pNode != null) { if (pNode.Name == "property") { obj.SetProperty(pNode.GetAttribute("key"), pNode.InnerText); } else if (pNode.Name == "notes") { obj.Notes = pNode.InnerText; } // pNode = pNode.NextSibling as XmlElement; } }