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(); }