Пример #1
0
 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);
             }
         }
     }
 }
Пример #2
0
        private async Task LoadVotes(ProductHuntPost post)
        {
            BusyCounter++;
            votes = await App.ConnectionManager.GetPostVotesAsync(post.ID);

            App.Database.SaveVotesInPost(votes.VotesList, post);
            BusyCounter--;
        }
Пример #3
0
        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--;
        }
Пример #4
0
 private void LoadVotesFromDatabase(ProductHuntPost post)
 {
     BusyCounter++;
     votes = new Votes()
     {
         VotesList = App.Database.GetVotes(post.ID).ToList()
     };
     BusyCounter--;
 }
Пример #5
0
        private void LoadPostFromDatabase(ProductHuntPost post)
        {
            BusyCounter++;
            ProductHuntPost temp = App.Database.GetPost(post.ID);

            temp.Comments = App.Database.GetComments(temp.ID).ToList();
            Post          = temp;
            BusyCounter--;
        }
Пример #6
0
 public void SavePost(ProductHuntPost post)
 {
     lock (locker)
     {
         try
         {
             database.Insert(post);
         }
         catch (SQLite.SQLiteException)
         {
             database.Update(post);
         }
     }
 }
Пример #7
0
 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);
             }
         }
     }
 }
Пример #8
0
 public PostPage(ProductHuntPost post)
 {
     tempFormmatedList = new List <CommentFormatted>();
     if (App.HasInternetConnection)
     {
         LoadPost(post);
         LoadVotes(post);
     }
     else
     {
         Task.Run(() =>
         {
             LoadPostFromDatabase(post);
         });
         Task.Run(() =>
         {
             LoadVotesFromDatabase(post);
         });
     }
 }
Пример #9
0
 public PostPage(ProductHuntPost post)
 {
     InitializeComponent();
     BindingContext = new ViewModels.PostPage(post);
 }