// загрузка Авторов для правки private void loadAuthorsFromFB2Files() { foreach (FB2ItemInfo Info in m_AuthorFB2InfoList) { if (Info.FictionBook != null) { IList <Author> AuthorsList = Info.FictionBook.TIAuthors; if (AuthorsList != null) { foreach (Author a in AuthorsList) { if (a != null) { if (!WorksWithBooks.authorIsExist(AuthorsListView, a)) { ListViewItem lvi = new ListViewItem(""); if (a.LastName != null) { lvi.Text = !string.IsNullOrEmpty(a.LastName.Value) ? a.LastName.Value : string.Empty; } if (a.FirstName != null) { lvi.SubItems.Add(!string.IsNullOrEmpty(a.FirstName.Value) ? a.FirstName.Value : string.Empty); } else { lvi.SubItems.Add(string.Empty); } if (a.MiddleName != null) { lvi.SubItems.Add(!string.IsNullOrEmpty(a.MiddleName.Value) ? a.MiddleName.Value : string.Empty); } else { lvi.SubItems.Add(string.Empty); } if (a.NickName != null) { lvi.SubItems.Add(!string.IsNullOrEmpty(a.NickName.Value) ? a.NickName.Value : string.Empty); } else { lvi.SubItems.Add(string.Empty); } if (a.HomePages != null) { lvi.SubItems.Add(StringProcessing.makeStringFromListItems(a.HomePages)); } else { lvi.SubItems.Add(string.Empty); } if (a.Emails != null) { lvi.SubItems.Add(StringProcessing.makeStringFromListItems(a.Emails)); } else { lvi.SubItems.Add(string.Empty); } lvi.SubItems.Add(!string.IsNullOrEmpty(a.ID) ? a.ID : string.Empty); AuthorsListView.Items.Add(lvi); } } } } } } }
// Добавить к создаваемому файлу суффикс из {Переводчик}[Издательство](FB2 Автор) public static string GetTranslatorPublisherFB2AuthorExt(FictionBook fb2, SortingOptions sortOptions) { if (!sortOptions.IsNeedSuffixTranslator && !sortOptions.IsNeedSuffixPublisher && !sortOptions.IsNeedSuffixFB2Author) { return(string.Empty); } string Suffix = string.Empty; string TranslatorName = null; string BookPublisher = null; string FB2Autor = null; if (sortOptions.IsNeedSuffixTranslator) { IList <Author> TranslatorList = fb2.TITranslators; if (TranslatorList != null && TranslatorList.Count > 0) { Author Translator = TranslatorList[0]; if (Translator != null) { if (Translator.LastName != null) { if (Translator.LastName.Value != null) { TranslatorName = Translator.LastName.Value.Trim(); } } // если фамилия автора нет, то используем его nickname if (string.IsNullOrEmpty(TranslatorName)) { if (Translator.NickName != null) { if (Translator.NickName.Value != null) { TranslatorName = Translator.NickName.Value.Trim(); } } } } } } if (sortOptions.IsNeedSuffixPublisher) { Publisher PIBookPublisher = fb2.PIPublisher; if (PIBookPublisher != null) { if (PIBookPublisher.Value != null) { BookPublisher = PIBookPublisher.Value.Trim(); } } } if (sortOptions.IsNeedSuffixFB2Author) { IList <Author> FB2AutorList = fb2.DIAuthors; if (FB2AutorList != null && FB2AutorList.Count > 0) { Author DIFB2Autor = FB2AutorList[0]; if (DIFB2Autor != null) { if (DIFB2Autor.LastName != null) { if (DIFB2Autor.LastName.Value != null) { FB2Autor = DIFB2Autor.LastName.Value.Trim(); } } // если фамилия fb2 автора нет, то используем его nickname if (string.IsNullOrEmpty(FB2Autor)) { if (DIFB2Autor.NickName != null) { if (DIFB2Autor.NickName.Value != null) { FB2Autor = DIFB2Autor.NickName.Value.Trim(); } } } } } } // генерация суффикса if (!string.IsNullOrEmpty(TranslatorName)) { Suffix = "{" + TranslatorName + "}"; } if (!string.IsNullOrEmpty(BookPublisher)) { Suffix += "[" + StringProcessing.makeString(BookPublisher.Trim(), Convert.ToInt16(sortOptions.MaxPublisherLenght)) + "]"; } if (!string.IsNullOrEmpty(FB2Autor)) { Suffix += "(" + FB2Autor + ")"; } return(Suffix); }