public void SaveVotesInPost(IEnumerable <Vote> votes, ProductHuntPost post) { lock (locker) { foreach (Vote v in votes) { try { database.Insert(v); } catch (SQLite.SQLiteException) { database.Update(v); } try { database.Insert(v.User); } catch (SQLite.SQLiteException) { database.Update(v.User); } } } }
private async Task LoadVotes(ProductHuntPost post) { BusyCounter++; votes = await App.ConnectionManager.GetPostVotesAsync(post.ID); App.Database.SaveVotesInPost(votes.VotesList, post); BusyCounter--; }
private async Task LoadPost(ProductHuntPost post) { BusyCounter++; Post = await App.ConnectionManager.GetPostDetailsAsync(post.ID); App.Database.SavePost(Post); App.Database.SaveCommentsInPost(Post.Comments, Post); BusyCounter--; }
private void LoadVotesFromDatabase(ProductHuntPost post) { BusyCounter++; votes = new Votes() { VotesList = App.Database.GetVotes(post.ID).ToList() }; BusyCounter--; }
private void LoadPostFromDatabase(ProductHuntPost post) { BusyCounter++; ProductHuntPost temp = App.Database.GetPost(post.ID); temp.Comments = App.Database.GetComments(temp.ID).ToList(); Post = temp; BusyCounter--; }
public void SavePost(ProductHuntPost post) { lock (locker) { try { database.Insert(post); } catch (SQLite.SQLiteException) { database.Update(post); } } }
public void SaveCommentsInPost(IEnumerable <Comment> comments, ProductHuntPost post) { lock (locker) { foreach (Comment com in comments) { com.PostID = post.ID; try { database.Insert(com); } catch (SQLite.SQLiteException) { database.Update(com); } } } }
public PostPage(ProductHuntPost post) { tempFormmatedList = new List <CommentFormatted>(); if (App.HasInternetConnection) { LoadPost(post); LoadVotes(post); } else { Task.Run(() => { LoadPostFromDatabase(post); }); Task.Run(() => { LoadVotesFromDatabase(post); }); } }
public PostPage(ProductHuntPost post) { InitializeComponent(); BindingContext = new ViewModels.PostPage(post); }