internal PageContext(OneNote.IApplication application, PageTitleEnum pageTitle)
            : this(application)
        {
            var today        = DateTime.Today;
            var sectionGroup = today.Year.ToString();
            var section      = today.ToString("MMMM");

            NotebookId     = _Application.GetNotebookId(Component.FriendlyName);
            SectionGroupId = _Application.GetSectionGroupId(sectionGroup, NotebookId);
            SectionId      = _Application.GetSectionId(section, SectionGroupId);
            PageName       = today.Format(pageTitle);
            PageId         = _Application.GetPageId(PageName, SectionId);
        }
        /// <summary>
        /// Formats a DateTime value using a format specified by the PageTitleEnum
        /// XmlEnumAttribute decorator value.
        /// </summary>
        internal static string Format(this DateTime dt, PageTitleEnum pageTitle)
        {
            var result = dt.ToString(pageTitle.XmlEnumValue());

            switch (pageTitle)
            {
            case PageTitleEnum.DayOfMonthDate_DDD_DD:
            case PageTitleEnum.DayOfMonthDate_DDDD_DD:
            case PageTitleEnum.DayOfMonthDate_MMMM_DD:
                return(string.Concat(result, dt.OrdinalDaySuffix()));

            default:
                return(result);
            }
        }