// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = // Notebooks private void SortNotebooks(SortDialog.Sortings sorting, SortDialog.Directions direction) { #region Notes /* * <one:Notebook name="Personal" nickname="Personal" ID="" path="" /> */ #endregion Notes logger.StartClock(); using (var one = new OneNote()) { var root = one.GetNotebooks(); var ns = one.GetNamespace(root); // nickname is display name whereas name is the folder name var key = sorting == SortDialog.Sortings.ByName ? "nickname" : "lastModifiedTime"; IEnumerable <XElement> books; if (direction == SortDialog.Directions.Descending) { books = root.Elements(ns + "Notebook") .OrderByDescending(s => s.Attribute(key).Value); } else { books = root.Elements(ns + "Notebook") .OrderBy(s => s.Attribute(key).Value); } root.ReplaceNodes(books); //logger.WriteLine(root.ToString()); one.UpdateHierarchy(root); } logger.WriteTime(nameof(SortNotebooks)); }