private void frmMain_Load(object sender, EventArgs e) { string localAppFolder = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Personal TV Organiser"; _dbManager.DataSource = localAppFolder + "\\db.sqlite"; if (!File.Exists(localAppFolder + "\\db.sqlite")) { if (!Directory.Exists(localAppFolder)) { Directory.CreateDirectory(localAppFolder); } try { _dbManager.CreateDatabase(); _dbManager.InitializeConnection(); _dbManager.OpenConnection(); _dbManager.BeginTransaction(); InitializeDatabase(); _dbManager.Commit(); } catch (Exception ex) { MessageBox.Show("There was a problem creating the database"); } finally { if (_dbManager.TheTransaction != null) { _dbManager.Rollback(); } _dbManager.CloseConnection(); } } else { prgMain.Value = 0; prgMain.Visible = true; lblStatus.Visible = true; lblStatus.Text = "Getting Updates..."; _dbManager.InitializeConnection(); bgwUpdate.RunWorkerAsync(); StartTimer(); } try { _dbManager.OpenConnection(); _favourites = _dbManager.GetFavourites(); } catch (Exception ex) { MessageBox.Show("Couldn't read favoutites"); } finally { _dbManager.CloseConnection(); } PopulateUpcomingEpisodes(); PopulateMissedEpisodes(); }
private void frmCalendar_Load(object sender, EventArgs e) { _dbManager.DataSource = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Personal TV Organiser" + "\\db.sqlite"; _dbManager.InitializeConnection(); _dbManager.OpenConnection(); _episodes = _dbManager.GetEpisodesWithDates(false); _dbManager.CloseConnection(); foreach (Episode episode in _episodes.Values) { DateTime startDate = episode.FirstAired; if (episode.TimeAirs > Convert.ToDateTime("01/01/0001")) { string airDate = episode.FirstAired.ToString("dd MMM yyyy"); string airTime = episode.TimeAirs.ToString("HH:mm"); startDate = Convert.ToDateTime(airDate + " " + airTime); } DateTime endDate = episode.Runtime <= 0 ? startDate.AddHours(1) : startDate.AddMinutes(episode.Runtime); CalendarItem calendarItem = new CalendarItem(calendar1, startDate, endDate, episode.ToString()); calendarItem.Tag = episode.EpisodeID; if (episode.Watched) { calendarItem.ApplyColor(Color.FromArgb(0, 192, 192, 192)); } else if (episode.FirstAired <= DateTime.Now) { calendarItem.ApplyColor(Color.FromArgb(0, 255, 0, 0)); } _items.Add(episode.EpisodeID, calendarItem); } calendar1.MaximumFullDays = 7; SetCalendarView(); lblMonth.Text = DateTime.Today.ToString("MMMM yyyy"); lineShape1.X2 = Width - calendar1.Width - 35; }
private void frmFavourites_Load(object sender, EventArgs e) { _dbManager.DataSource = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Personal TV Organiser\\" + "db.sqlite"; try { _dbManager.InitializeConnection(); _dbManager.OpenConnection(); _favourites = _dbManager.GetFavourites(); } catch (Exception ex) { MessageBox.Show("Couldn't read favoutites"); } finally { _dbManager.CloseConnection(); } if (_favourites.Count > 0) { PopulateFavoutitesPanel(); } else { lblAddFavourites.Visible = true; } }
private void frmTVShow_Load(object sender, EventArgs e) { _dbManager.DataSource = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Personal TV Organiser" + "\\db.sqlite"; _dbManager.InitializeConnection(); _series = GetSeriesInfo(_seriesSource); lblOverview.MaximumSize = new Size(Width - 280, Height - 380); PopulateSeriesInfo(_series); InitializeEpisodesGrid(_series); cmbSeasons.SelectedIndexChanged += new EventHandler(cmbSeasons_SelectedIndexChanged); }
private void bgwUpdate_DoWork(object sender, DoWorkEventArgs e) { Thread.Sleep(100); DatabaseManager.DatabaseManager databaseManager = new DatabaseManager.DatabaseManager(); string localAppFolder = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Personal TV Organiser"; databaseManager.DataSource = localAppFolder + "\\db.sqlite"; databaseManager.InitializeConnection(); Update update = new Update(); List <Series> seriesToUpdate = new List <Series>(); List <Episode> episodesToUpdate = new List <Episode>(); try { databaseManager.OpenConnection(); Dictionary <string, string> settings = databaseManager.GetSettings("previousServerTime"); databaseManager.CloseConnection(); Update updates = _tvdbAPI.GetUpdates(settings["previousServerTime"]); int totalUpdates = _favourites.Count + updates.EpisodeUpdates.Count; int percentProgress = 0; double progress = 0; bgwUpdate.ReportProgress(percentProgress); foreach (int seriesID in _favourites.Keys) { if (updates.SeriesUpdates.Contains(seriesID)) { Series seriesUpdates = _tvdbAPI.GetSeriesUpdates(seriesID); if (seriesUpdates != null) { seriesToUpdate.Add(seriesUpdates); } } ++progress; bgwUpdate.ReportProgress((int)Math.Round(progress / totalUpdates * 100.0)); } foreach (int episodeID in updates.EpisodeUpdates) { Episode episodeUpdates = _tvdbAPI.GetEpisodeUpdates(episodeID); if (episodeUpdates != null) { if (_favourites.Keys.Contains(episodeUpdates.SeriesID)) { episodesToUpdate.Add(episodeUpdates); } } ++progress; bgwUpdate.ReportProgress((int)Math.Round(progress / totalUpdates * 100.0)); } databaseManager.OpenConnection(); databaseManager.BeginTransaction(); foreach (Series series in seriesToUpdate) { databaseManager.UpdateSeries(series); } string seriesName = ""; foreach (Episode episode in episodesToUpdate) { seriesName = _favourites[episode.SeriesID].SeriesName; databaseManager.UpdateEpisode(episode, seriesName); } databaseManager.UpdateSetting("previousServerTime", updates.Time); databaseManager.Commit(); bgwUpdate.ReportProgress(100); } catch (Exception ex) { } finally { if (databaseManager.TheTransaction != null) { databaseManager.Rollback(); } databaseManager.CloseConnection(); } }