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); } }
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); }
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); }
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); }
public static void UpdateDataGridRowValues(DataGridViewRow row, RedditImage redditImage) { var bitmap = GetBitmap(redditImage); row.SetValues(bitmap, redditImage.Title, redditImage.ThreadId, redditImage.Url, redditImage.Date); }
public static void AddImageToHistoryDataGrid(DataGridView historyDataGrid, RedditImage image) { UpdateRow(historyDataGrid, image, historyDataGrid.Rows.Add()); }
public static void InsertImageInHistoryDataGrid(DataGridView historyDataGrid, RedditImage image) { historyDataGrid.Rows.Insert(0, 1); UpdateRow(historyDataGrid, image, 0); }