Example #1
0
            // ordering is an implementation detail defined by getComicQuery
            // returns null if data is invalid
            private Comic ComicFromRow(SQLiteDictionaryReader reader)
            {
                var path     = reader.GetString(key_path);
                var title    = reader.GetString(key_title);
                var author   = reader.GetString(key_author);
                var category = reader.GetString(key_category);
                var rowid    = reader.GetInt32("rowid");
                var metadata = this.ComicMetadataFromRow(reader);

                try {
                    var comic = new Comic(title, author, category, path, metadata, validate: false);
                    return(comic);
                } catch (ComicLoadException) {
                    this.InvalidateComic(rowid);
                }

                return(null);
            }
Example #2
0
            private Metadata ComicMetadataFromRow(SQLiteDictionaryReader reader)
            {
                var rowid = reader.GetInt32("rowid");

                var m = new Metadata {
                    Title           = reader.GetStringOrNull(key_display_title),
                    Author          = reader.GetStringOrNull(key_display_author),
                    Category        = reader.GetStringOrNull(key_display_category),
                    ThumbnailSource = reader.GetStringOrNull(key_thumbnail_source),
                    Loved           = reader.GetBoolean(key_loved),
                    Disliked        = reader.GetBoolean(key_disliked),
                    Tags            = new HashSet <string>(this.ReadTags(rowid)),
                    DateAdded       = reader.GetString(key_date_added)
                };

                return(m);
            }