public LibraryPage(Library parent, bool isHome = false) { Parent = parent; _name = isHome ? "Page 1" : string.Format("Page {0}", Parent.Pages.Count + 1); Identifier = Guid.NewGuid(); Folders = new List<LibraryFolder>(); ColumnTitles = new List<ColumnTitle>(); var column = new ColumnTitle(this); column.Name = "Column 1"; column.ColumnOrder = 0; ColumnTitles.Add(column); column = new ColumnTitle(this); column.Name = "Column 2"; column.ColumnOrder = 1; ColumnTitles.Add(column); column = new ColumnTitle(this); column.Name = "Column 3"; column.ColumnOrder = 2; ColumnTitles.Add(column); }
public void Deserialize(XmlNode node) { foreach (XmlNode childNode in node.ChildNodes) { bool tempBool; switch (childNode.Name) { case "Name": _name = childNode.InnerText; break; case "Identifier": Guid tempGuid; if (Guid.TryParse(childNode.InnerText, out tempGuid)) Identifier = tempGuid; break; case "Order": int tempInt = 0; if (int.TryParse(childNode.InnerText, out tempInt)) _order = tempInt; break; case "EnableColumnTitles": if (bool.TryParse(childNode.InnerText, out tempBool)) _enableColumnTitles = tempBool; break; case "ApplyForAllColumnTitles": if (bool.TryParse(childNode.InnerText, out tempBool)) _applyForAllColumnTitles = tempBool; break; case "LastChanged": DateTime tempDateTime; if (DateTime.TryParse(childNode.InnerText, out tempDateTime)) LastChanged = tempDateTime; break; case "Folders": Folders.Clear(); foreach (XmlNode folderNode in childNode.ChildNodes) { var folder = new LibraryFolder(this); folder.Deserialize(folderNode); Folders.Add(folder); } break; case "ColumnTitles": ColumnTitles.Clear(); foreach (XmlNode columnTitleNode in childNode.ChildNodes) { var columnTitle = new ColumnTitle(this); columnTitle.Deserialize(columnTitleNode); ColumnTitles.Add(columnTitle); } break; } } }