/// <summary> /// Конструктор класса SortingOptions: индивидуальные настройки обоих Сортировщиков, в зависимости от режима (непрерывная сортировка или возобновление сортировки) /// </summary> /// <param name="sortingTypeEnum">Тип сортировки: Полная Сортировка или Избранная Сортировка</param> /// <param name="FromXmlFile">null - Непрерывная Сортировка; Путь - Возобновление Сортировки из xml файла</param> public SortingOptions(SortingTypeEnum sortingTypeEnum, string FromXmlFile) { m_FromXmlFile = FromXmlFile; _sortingTypeEnum = sortingTypeEnum; if (m_FromXmlFile == null) { // Непрерывная Сортировка loadSettingsForNotBreakSort(_sortingTypeEnum); } else { // Возобновление Сортировки if (File.Exists(m_FromXmlFile)) { m_xmlTree = XElement.Load(m_FromXmlFile); if (m_xmlTree != null) { try { // загрузка данных из xml-файла восстановления сортировки loadSettingsForReNewSort(); if (_sortingTypeEnum == SortingTypeEnum.SelectedSort) // загрузка критериев Избранной Сортировки при возобновлении сортировки { loadCriteriasForSelReNewSort(); } } catch { return; } } } } }
/// <summary> /// Конструктор класса SortingOptions: индивидуальные настройки обоих Сортировщиков, в зависимости от режима (непрерывная сортировка или возобновление сортировки) /// </summary> /// <param name="sortingTypeEnum">Тип сортировки: Полная Сортировка или Избранная Сортировка</param> /// <param name="FromXmlFile">null - Непрерывная Сортировка; Путь - Возобновление Сортировки из xml файла</param> public SortingOptions(SortingTypeEnum sortingTypeEnum, string FromXmlFile) { m_FromXmlFile = FromXmlFile; _sortingTypeEnum = sortingTypeEnum; if (m_FromXmlFile == null) { // Непрерывная Сортировка loadSettingsForNotBreakSort(_sortingTypeEnum); } else { // Возобновление Сортировки if (File.Exists(m_FromXmlFile)) { m_xmlTree = XElement.Load(m_FromXmlFile); if (m_xmlTree != null) { try { // загрузка данных из xml-файла восстановления сортировки loadSettingsForReNewSort(); if (_sortingTypeEnum == SortingTypeEnum.SelectedSort) { // загрузка критериев Избранной Сортировки при возобновлении сортировки loadCriteriasForSelReNewSort(); } } catch (Exception ex) { Debug.DebugMessage( null, ex, "SortingOptions.(Конструктор): Идивидуальные настройки обоих Сортировщиков, в зависимости от режима (непрерывная сортировка или возобновление сортировки)." ); return; } } } } }
// ===================================================================================================== // Загрузка индивидуальных настроек сортировки // ===================================================================================================== #region Закрытые методы класса: загрузка данных по-умолчанию, в зависимости от Сортировщика (Непрерывная Сортировка) /// <summary> /// Данные из xml-файла Сортировщика для непрерывной сортировки /// </summary> private void loadSettingsForNotBreakSort(SortingTypeEnum sortingTypeEnum) { if (sortingTypeEnum == SortingTypeEnum.FullSort) { // Полная Сортировка : данные из xml-файла Сортировщика #region Обработка файлов m_SourceDir = SorterSettings.ReadFullSortSourceDir(); m_TargetDir = SorterSettings.ReadFullSortTargetDir(); m_ScanSubDirs = SorterSettings.ReadFullSortScanSubDirs(); m_ToZip = SorterSettings.ReadFullSortToZip(); m_NotDelOriginalFiles = SorterSettings.ReadFullSortNotDelFB2Files(); #endregion m_Template = SorterSettings.ReadFullSortTemplate(); } else { // Избранная Сортировка : данные из xml-файла Сортировщика #region Обработка файлов m_SourceDir = SorterSettings.ReadSelSortSourceDir(); m_TargetDir = SorterSettings.ReadSelSortTargetDir(); m_ScanSubDirs = SorterSettings.ReadSelSortScanSubDirs(); m_ToZip = SorterSettings.ReadSelSortToZip(); m_NotDelOriginalFiles = SorterSettings.ReadSelSortNotDelFB2Files(); #endregion m_Template = SorterSettings.ReadSelSortTemplate(); } #region Обработка имени файлов m_RegisterAsIs = SorterSettings.ReadRegisterAsIs(); m_RegisterLower = SorterSettings.ReadRegisterLower(); m_RegisterUpper = SorterSettings.ReadRegisterUpper(); m_RegisterAsSentence = SorterSettings.ReadRegisterAsSentence(); m_Translit = SorterSettings.ReadTranslit(); m_Strict = SorterSettings.ReadStrict(); m_Space = SorterSettings.ReadSpaceProcess(); m_FileExistMode = SorterSettings.ReadFileExist(); #endregion #region Сортировка файлов m_SortTypeAllFB2 = SorterSettings.ReadSortAllFB2(); m_SortTypeOnlyValidFB2 = SorterSettings.ReadSortOnlyValidFB2(); #endregion #region аскладка файлов по папкам m_AuthorsToDirsAuthorOne = SorterSettings.ReadAuthorOne(); m_AuthorsToDirsAuthorAll = SorterSettings.ReadAuthorAll(); m_GenresToDirsGenreOne = SorterSettings.ReadGenreOne(); m_GenresToDirsGenreAll = SorterSettings.ReadGenreAll(); m_GenresTypeGenreSchema = SorterSettings.ReadGenreSchema(); m_GenresTypeGenreText = SorterSettings.ReadGenreText(); #endregion #region Названия папок для шаблонных тэгов, которые не имеют данных // названия папки для тэга, у которого нет данных m_BookInfoNoGenreGroup = SorterSettings.ReadFMNoGenreGroup(); m_BookInfoNoGenre = SorterSettings.ReadFMNoGenre(); m_BookInfoNoLang = SorterSettings.ReadFMNoLang(); m_BookInfoNoFirstName = SorterSettings.ReadFMNoFirstName(); m_BookInfoNoMiddleName = SorterSettings.ReadFMNoMiddleName(); m_BookInfoNoLastName = SorterSettings.ReadFMNoLastName(); m_BookInfoNoNickName = SorterSettings.ReadFMNoNickName(); m_BookInfoNoBookTitle = SorterSettings.ReadFMNoBookTitle(); m_BookInfoNoSequence = SorterSettings.ReadFMNoSequence(); m_BookInfoNoNSequence = SorterSettings.ReadFMNoNSequence(); m_BookInfoNoDateText = SorterSettings.ReadFMNoDateText(); m_BookInfoNoDateValue = SorterSettings.ReadFMNoDateValue(); // Издательство m_PublishInfoNoPublisher = SorterSettings.ReadFMNoPublisher(); m_PublishInfoNoYear = SorterSettings.ReadFMNoYear(); m_PublishInfoNoCity = SorterSettings.ReadFMNoCity(); // Данные о создателе fb2 файла m_FB2InfoNoFB2FirstName = SorterSettings.ReadFMNoFB2FirstName(); m_FB2InfoNoFB2MiddleName = SorterSettings.ReadFMNoFB2MiddleName(); m_FB2InfoNoFB2LastName = SorterSettings.ReadFMNoFB2LastName(); m_FB2InfoNoFB2NickName = SorterSettings.ReadFMNoFB2NickName(); #endregion }