public List<Bookmarks> GetBookmarks(bool loadTags, BoomarkSortOrder sortOrder)
 {
     var bookmarks = dbConnection.Table<Bookmarks>();
     switch (sortOrder)
     {
         case BoomarkSortOrder.Location:
             bookmarks = bookmarks.OrderBy(b => b.Page).OrderBy(b => b.Surah).OrderBy(b => b.Ayah);
             break;
         default:
             bookmarks = bookmarks.OrderByDescending(b => b.AddedDate);
             break;
     }
     var result = bookmarks.ToList();
     if (loadTags)
     {
         var tags = GetTags().ToDictionary(t=>t.Id);
         var bookmarkTags = GetBookmarkTags();
         foreach (var bt in bookmarkTags)
         {
             var bookmark = result.FirstOrDefault(b => b.Id == bt.BookmarkId);
             var tag = tags[bt.TagId];
             if (bookmark != null)
             {
                 if (bookmark.Tags == null)
                     bookmark.Tags = new List<Tags>();
                 bookmark.Tags.Add(new Tags {Id = bt.TagId, Name = tag.Name});
             }
         }
     }
     return result;
 }
        public List <Tags> GetTags(BoomarkSortOrder sortOrder)
        {
            var tags = dbConnection.Table <Tags>();

            switch (sortOrder)
            {
            case BoomarkSortOrder.Location:
                tags = tags.OrderBy(t => t.Name);
                break;

            default:
                tags = tags.OrderByDescending(t => t.AddedDate);
                break;
            }
            return(tags.ToList());
        }
        public List <Bookmarks> GetBookmarks(bool loadTags, BoomarkSortOrder sortOrder)
        {
            var bookmarks = dbConnection.Table <Bookmarks>();

            switch (sortOrder)
            {
            case BoomarkSortOrder.Location:
                bookmarks = bookmarks.OrderBy(b => b.Page).OrderBy(b => b.Surah).OrderBy(b => b.Ayah);
                break;

            default:
                bookmarks = bookmarks.OrderByDescending(b => b.AddedDate);
                break;
            }
            var result = bookmarks.ToList();

            if (loadTags)
            {
                var tags         = GetTags().ToDictionary(t => t.Id);
                var bookmarkTags = GetBookmarkTags();
                foreach (var bt in bookmarkTags)
                {
                    var bookmark = result.FirstOrDefault(b => b.Id == bt.BookmarkId);
                    var tag      = tags[bt.TagId];
                    if (bookmark != null)
                    {
                        if (bookmark.Tags == null)
                        {
                            bookmark.Tags = new List <Tags>();
                        }
                        bookmark.Tags.Add(new Tags {
                            Id = bt.TagId, Name = tag.Name
                        });
                    }
                }
            }
            return(result);
        }
 public List<Tags> GetTags(BoomarkSortOrder sortOrder)
 {
     var tags = dbConnection.Table<Tags>();
     switch (sortOrder)
     {
         case BoomarkSortOrder.Location:
             tags = tags.OrderBy(t => t.Name);
             break;
         default:
             tags = tags.OrderByDescending(t => t.AddedDate);
             break;
     }
     return tags.ToList();
 }