private TagsData convertTagsDataFrom(IDataReader reader) { Guid metaDataGuid = new Guid(Convert.ToString(reader[METADATA_ID])); List <Tag> tags = _tagsTable.GetAllTagsOf(metaDataGuid); TagsData result = new TagsData(metaDataGuid, tags); result.ShowInPreview = Convert.ToBoolean(reader[METADATA_SHOWINPREVIEW]); return(result); }
private TagsData extractTags(PdfDocumentInfo info) { string[] tags = separate(info.GetKeywords()); if (tags.Length == 0) { return(null); } TagsData result = _metaDataFactory.CreateNew(MetaDataType.Tags) as TagsData; foreach (string tag in tags) { result.AddTag(new Tag(Guid.NewGuid(), tag)); } return(result); }
public Result Extract() { PdfDocumentInfo info; using (FileStream fileStream = File.OpenRead(_path)) { PdfReader reader = new PdfReader(fileStream); PdfDocument pdfDocument = new PdfDocument(reader); info = pdfDocument.GetDocumentInfo(); } TitleData title = extractTitle(info); AuthorData authors = extractAuthors(info); TagsData tags = extractTags(info); return(new Result(title, authors, tags)); }
public void DeleteAllTagsOf(TagsData tagsData) { string command = "DELETE FROM " + TABLE_NAME + " WHERE " + TAG_META_ID + " = '" + tagsData.ID.ToString() + "'"; executeNonQuery(command); }
public void AddOrReplace(MetaData metaData, Guid entryID) { string inhalt; switch (metaData.Type) { case MetaDataType.CreationDate: CreationDateData cdd = (CreationDateData)metaData; inhalt = cdd.Date.ToString(); break; case MetaDataType.LastChangedDate: LastChangeDateData lcd = (LastChangeDateData)metaData; inhalt = lcd.Date.ToString(); break; case MetaDataType.Title: TitleData td = (TitleData)metaData; inhalt = td.Content; break; case MetaDataType.Author: AuthorData ad = (AuthorData)metaData; inhalt = string.Empty; List <Author> authors = ad.AuthorsCopy; foreach (Author author in authors) { _authorTable.AddOrReplace(author, metaData.ID); } break; case MetaDataType.Tags: TagsData tad = (TagsData)metaData; inhalt = string.Empty; List <Tag> tags = tad.TagsCopy; foreach (Tag tag in tags) { _tagsTable.AddOrReplace(tag, metaData); } break; case MetaDataType.Comment: CommentData commentData = (CommentData)metaData; inhalt = commentData.Content; break; case MetaDataType.Description: DescriptionData descriptionData = (DescriptionData)metaData; inhalt = descriptionData.Content; break; case MetaDataType.PreviewImage: PreviewImageData previewData = (PreviewImageData)metaData; inhalt = previewData.IsEmpty ? string.Empty : previewData.Uri.AbsoluteUri; break; default: throw new NotImplementedException(); } string command = createAddOrReplaceMetaDataCommand(metaData, inhalt, entryID); executeNonQuery(command); }
public Result(TitleData title, AuthorData authors, TagsData tags) { Title = title; Authors = authors; Tags = tags; }