コード例 #1
0
 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;
     }
 }
コード例 #2
0
 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;
 }
コード例 #3
0
        public bool Insert()
        {
            bool   result = false;
            string query  = @"INSERT INTO captcha_attributes(CaptchaId,Tile1Angle,Tile2Angle,Tile3Angle,Tile4Angle, " +
                            "Tile5Angle, Tile6Angle, Tile7Angle, Tile8Angle, Tile9Angle) VALUES(@captchaId, @tile1, @tile2, @tile3, @tile4, @tile5, @tile6, @tile7, @tile8, @tile9)";

            if (database.OpenConnection())
            {
                using (MySqlCommand cmd = new MySqlCommand(query, database.Connection))
                {
                    cmd.Parameters.AddWithValue("@captchaId", CaptchaID);
                    cmd.Parameters.AddWithValue("@tile1", Tile1Angle);
                    cmd.Parameters.AddWithValue("@tile2", Tile2Angle);
                    cmd.Parameters.AddWithValue("@tile3", Tile3Angle);
                    cmd.Parameters.AddWithValue("@tile4", Tile4Angle);
                    cmd.Parameters.AddWithValue("@tile5", Tile5Angle);
                    cmd.Parameters.AddWithValue("@tile6", Tile6Angle);
                    cmd.Parameters.AddWithValue("@tile7", Tile7Angle);
                    cmd.Parameters.AddWithValue("@tile8", Tile8Angle);
                    cmd.Parameters.AddWithValue("@tile9", Tile9Angle);

                    int numberOfRows = cmd.ExecuteNonQuery();
                    if (numberOfRows >= 1)
                    {
                        result = true;
                    }
                }
            }
            database.CloseConnection();

            return(result);
        }
コード例 #4
0
        private Series GetSeriesInfo(string source)
        {
            Series series = new Series();
            Series seriesInfo;

            if (source == "XML")
            {
                seriesInfo = _tvdbAPI.GetSeriesInfo(_showID);
                btnFavourite.ImageIndex = 1;
                toolTip1.SetToolTip(btnFavourite, "Favourite");
            }
            else
            {
                _dbManager.OpenConnection();
                seriesInfo = _dbManager.GetSeriesInfo(_showID);
                _dbManager.CloseConnection();
                btnFavourite.ImageIndex = 0;
                toolTip1.SetToolTip(btnFavourite, "Unfavourite");
            }
            return(seriesInfo);
        }
コード例 #5
0
        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();
        }
コード例 #6
0
        public CaptchaSession GetCaptchaSession(int captchaId)
        {
            CaptchaSession obj = new CaptchaSession();

            string queryString = "SELECT * FROM captcha_session WHERE CaptchaId = @captchaId";

            if (database.OpenConnection())
            {
                using (MySqlCommand cmd = new MySqlCommand(queryString, database.Connection))
                {
                    cmd.Parameters.AddWithValue("@captchaId", captchaId);
                    using (MySqlDataReader dataReader = cmd.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            string tempHolder = dataReader["CaptchaId"].ToString();
                            obj.CaptchaId = Convert.ToInt32(tempHolder);

                            obj.ImageName = dataReader["ImageName"].ToString();

                            string isvalid = dataReader["IsValid"].ToString();

                            if (isvalid.Equals("0"))
                            {
                                obj.IsValid = false;
                            }
                            else
                            {
                                obj.IsValid = true;
                            }
                        }
                    }
                }
            }
            database.CloseConnection();

            return(obj);
        }
コード例 #7
0
        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();
            }
        }