Exemplo n.º 1
0
        private async Task <IEnumerable <RedditImage> > GetRedditImagesFromDatabaseAsync(string tableName)
        {
            var imageList = new List <RedditImage>();

            using (var connection = await GetNewOpenConnectionAsync().ConfigureAwait(false))
                using (var command = new SQLiteCommand("SELECT * " +
                                                       $"FROM {tableName} " +
                                                       "ORDER BY datetime(date) DESC", connection))
                    using (var reader = await command.ExecuteReaderAsync(CommandBehavior.SequentialAccess).ConfigureAwait(false))
                    {
                        if (!reader.HasRows)
                        {
                            return(imageList);
                        }

                        while (await reader.ReadAsync().ConfigureAwait(false))
                        {
                            var redditImage = new RedditImage
                                              (
                                await reader.GetFieldValueAsync <string>(0).ConfigureAwait(false), // thumbnail
                                await reader.GetFieldValueAsync <string>(1).ConfigureAwait(false), // title
                                await reader.GetFieldValueAsync <string>(2).ConfigureAwait(false), // threadid
                                await reader.GetFieldValueAsync <string>(3).ConfigureAwait(false), // url
                                await reader.GetFieldValueAsync <string>(4).ConfigureAwait(false)  // date
                                              );

                            imageList.Add(redditImage);
                        }
                    }

            return(imageList);
        }
 public void AddImageToHistory(RedditImage image)
 {
     if (SynchronizationContext.Current == _uiContext)
     {
         _mainForm.AddImageToHistory(image);
     }
     else
     {
         _uiContext.Post(x => AddImageToHistory(image), null);
     }
 }
Exemplo n.º 3
0
        private static Bitmap GetBitmap(RedditImage redditImage)
        {
            Bitmap bitmap;

            using (var fs = new FileStream($@"{Settings.Default.thumbnailCache}\{redditImage.ThreadId}.jpg", FileMode.Open, FileAccess.Read))
                using (var tempImage = Image.FromStream(fs))
                {
                    bitmap = new Bitmap(tempImage);
                }

            return(bitmap);
        }
Exemplo n.º 4
0
        private static void UpdateRow(DataGridView historyDataGrid, RedditImage image, int index)
        {
            Bitmap bitmap;

            if (File.Exists(Settings.Default.thumbnailCache + @"\" + image.ThreadId + ".jpg"))
            {
                bitmap = GetBitmap(image);
            }
            else
            {
                bitmap = Resources.null_thumb;
            }

            historyDataGrid.Rows[index].SetValues(bitmap, image.Title, image.ThreadId, image.Url, image.Date);
        }
Exemplo n.º 5
0
        private async Task <RedditImage> InsertWallpaperIntoDatabaseAsync(string tableName, RedditLink redditLink)
        {
            var thumbnail = await HelperMethods.GetThumbnailAsync(redditLink.Url).ConfigureAwait(false);

            var dateTime    = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.FFF");
            var redditImage = new RedditImage(thumbnail, redditLink.Title, redditLink.ThreadId, redditLink.Url, dateTime);

            redditLink.Title = redditLink.Title.Replace("'", "''");

            using (var connection = await GetNewOpenConnectionAsync().ConfigureAwait(false))
                using (var command = new SQLiteCommand($"INSERT INTO {tableName} (thumbnail, title, threadid, url, date) " +
                                                       "VALUES (@thumbnail, @title, @threadid, @url, @dateTime)", connection))
                {
                    command.Parameters.AddWithValue("@thumbnail", thumbnail);
                    command.Parameters.AddWithValue("@title", redditLink.Title);
                    command.Parameters.AddWithValue("@threadid", redditLink.ThreadId);
                    command.Parameters.AddWithValue("@url", redditLink.Url);
                    command.Parameters.AddWithValue("@dateTime", dateTime);

                    await command.ExecuteNonQueryAsync().ConfigureAwait(false);
                }

            return(redditImage);
        }
Exemplo n.º 6
0
        public static void UpdateDataGridRowValues(DataGridViewRow row, RedditImage redditImage)
        {
            var bitmap = GetBitmap(redditImage);

            row.SetValues(bitmap, redditImage.Title, redditImage.ThreadId, redditImage.Url, redditImage.Date);
        }
Exemplo n.º 7
0
 public static void AddImageToHistoryDataGrid(DataGridView historyDataGrid, RedditImage image)
 {
     UpdateRow(historyDataGrid, image, historyDataGrid.Rows.Add());
 }
Exemplo n.º 8
0
        public static void InsertImageInHistoryDataGrid(DataGridView historyDataGrid, RedditImage image)
        {
            historyDataGrid.Rows.Insert(0, 1);

            UpdateRow(historyDataGrid, image, 0);
        }