public BookmarkCollection Import(string path) { var bookmarksTxt = TxtToListConverter.Convert(path); bookmarksTxt.RemoveAll(x => BadTexts(x)); var result = new BookmarkCollection { FullPath = path, Bookmarks = new List <Bookmark>() }; for (int bookmarksTxtIndex = 0; bookmarksTxtIndex < bookmarksTxt.Count - 1; bookmarksTxtIndex += 2) { var bookmarkTxt = bookmarksTxt[bookmarksTxtIndex]; if (!IsMetadataLine(bookmarkTxt)) { throw new InvalidOperationException($"{bookmarkTxt} wasn't metadata."); } BookmarkMetadata metadata = VoiceBookmarkMetadataConverter.Convert(bookmarkTxt); bookmarkTxt = bookmarksTxt[bookmarksTxtIndex + 1]; result.Bookmarks.Add(new Bookmark { Text = bookmarkTxt, Metadata = metadata }); } return(result); }
public VoiceBookmarksImporter(VoiceBookmarkMetadataConverter voiceBookmarkMetadataConverter, TxtToListConverter txtToListConverter) { VoiceBookmarkMetadataConverter = voiceBookmarkMetadataConverter; TxtToListConverter = txtToListConverter; }