Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        public void DeleteAllTagsOf(TagsData tagsData)
        {
            string command = "DELETE FROM " + TABLE_NAME + " WHERE " + TAG_META_ID + " = '" + tagsData.ID.ToString() + "'";

            executeNonQuery(command);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
 public Result(TitleData title, AuthorData authors, TagsData tags)
 {
     Title   = title;
     Authors = authors;
     Tags    = tags;
 }