Пример #1
0
        /// <summary>
        /// Initialise the form
        /// </summary>
        /// <param name="_userId"></param>
        public void InitialiseForm(String _userId, ICacheProvider _provider)
        {
            //m_tvdbHandler = new Tvdb(new BinaryCacheProvider(@"cachefile.bin"), Resources.API_KEY);new XmlCacheProvider("XmlCache")

            m_tvdbHandler = new TvdbHandler(_provider, Resources.API_KEY);
            m_tvdbHandler.InitCache();

            List <TvdbLanguage> m_languages = m_tvdbHandler.Languages;

            foreach (TvdbLanguage l in m_languages)
            {
                if (l.Abbriviation.Equals("en"))
                {
                    m_currentLanguage = l;
                }
                cbLanguage.Items.Add(l);
            }
            lblCurrentLanguage.Text = "[" + m_currentLanguage.ToString() + "]";

            //enable/disable community features
            if (_userId != null)
            {
                TvdbUser user = new TvdbUser("user", _userId);
                m_tvdbHandler.UserInfo = user;
                List <TvdbSeries> favList = null;
                try
                {
                    user.UserPreferredLanguage = m_tvdbHandler.GetPreferredLanguage();
                    favList = m_tvdbHandler.GetUserFavorites(user.UserPreferredLanguage);
                }
                catch (TvdbInvalidApiKeyException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (TvdbNotAvailableException ex)
                {
                    MessageBox.Show(ex.Message);
                }

                if (favList != null)
                {
                    foreach (TvdbSeries s in favList)
                    {
                        if (s != null)
                        {
                            cbUserFavourites.Items.Add(s);
                        }
                    }
                }
            }
            else
            {
                cbUserFavourites.Text    = "No userinfo set";
                cbUserFavourites.Enabled = false;
            }

            cmdAddRemoveFavorites.Enabled = false;
            cmdSendSeriesRating.Enabled   = false;
            raterSeriesYourRating.Enabled = false;
        }
Пример #2
0
        /// <summary>
        /// Create the xml content to save a TvdbUser to file
        /// </summary>
        /// <param name="user">User to store</param>
        /// <returns>xml content</returns>
        internal String CreateUserData(TvdbUser user)
        {
            XElement xml = new XElement("Data");

            StringBuilder favBuilder = new StringBuilder();

            if (user.UserFavorites != null && user.UserFavorites.Count > 0)
            {
                foreach (int f in user.UserFavorites)
                {
                    favBuilder.Append(f);
                    favBuilder.Append(",");
                }
            }

            XElement preferred = new XElement("PreferredLanguage");

            if (user.UserPreferredLanguage != null)
            {
                preferred.Add(new XAttribute("Id", user.UserPreferredLanguage.Id));
                preferred.Add(new XAttribute("Abbreviation", user.UserPreferredLanguage.Abbriviation));
                preferred.Add(new XAttribute("Name", user.UserPreferredLanguage.Name));
            }

            xml.Add(new XElement("User",
                                 new XElement("Name", user.UserName),
                                 new XElement("Identifier", user.UserIdentifier),
                                 new XElement("Favorites", favBuilder.ToString()),
                                 preferred
                                 ));

            return(xml.ToString());
        }
Пример #3
0
 /// <summary>
 /// Saves the user data to cache
 /// </summary>
 /// <param name="_user">TvdbUser object</param>
 public void SaveToCache(TvdbUser _user)
 {
     if (_user != null)
     {
         m_xmlWriter.WriteUserData(_user, m_rootFolder + "\\user_" + _user.UserIdentifier + ".xml");
     }
 }
Пример #4
0
 /// <summary>
 /// Saves the user data to cache
 /// </summary>
 /// <param name="_user"></param>
 public void SaveToCache(TvdbUser _user)
 {
     if (_user != null)
     {
         m_filestream = new FileStream(m_rootFolder + "\\user_" + _user.UserIdentifier + ".ser", FileMode.Create);
         m_formatter.Serialize(m_filestream, _user);
         m_filestream.Close();
     }
 }
Пример #5
0
        private void cmdSetUser_Click(object sender, EventArgs e)
        {
            TvdbUser user = new TvdbUser();

            user.UserIdentifier            = txtUserId.Text;
            user.UserName                  = "******";
            m_tvdbHandler.UserInfo         = user;
            cmdGetAllSeriesRatings.Enabled = true;
            cmdGetRatingsForSeries.Enabled = true;
        }
Пример #6
0
 /// <summary>
 /// Saves the user data to cache
 /// </summary>
 /// <param name="_user">TvdbUser object</param>
 public void SaveToCache(TvdbUser _user)
 {
     if (_user != null)
     {
         if (!Directory.Exists(m_rootFolder))
         {
             Directory.CreateDirectory(m_rootFolder);
         }
         m_xmlWriter.WriteUserData(_user, m_rootFolder + Path.DirectorySeparatorChar + "user_" + _user.UserIdentifier + ".xml");
     }
 }
Пример #7
0
 /// <summary>
 /// Saves the user data to cache
 /// </summary>
 /// <param name="user">TvdbUser object</param>
 public void SaveToCache(TvdbUser user)
 {
     if (user == null)
     {
         return;
     }
     if (!Directory.Exists(_rootFolder))
     {
         Directory.CreateDirectory(_rootFolder);
     }
     _xmlWriter.WriteUserData(user, _rootFolder + Path.DirectorySeparatorChar + "user_" + user.UserIdentifier + ".xml");
 }
Пример #8
0
 /// <summary>
 /// Saves the user data to cache
 /// </summary>
 /// <param name="_user">TvdbUser</param>
 public void SaveToCache(TvdbUser _user)
 {
     if (_user != null)
     {
         if (!Directory.Exists(m_rootFolder))
         {
             Directory.CreateDirectory(m_rootFolder);
         }
         m_filestream = new FileStream(m_rootFolder + Path.DirectorySeparatorChar + "user_" + _user.UserIdentifier + ".ser", FileMode.Create);
         m_formatter.Serialize(m_filestream, _user);
         m_filestream.Close();
     }
 }
Пример #9
0
 /// <summary>
 /// Load the userinfo from the cache
 /// </summary>
 /// <param name="userId">Id of user</param>
 /// <returns>TvdbUser object</returns>
 public TvdbUser LoadUserInfoFromCache(String userId)
 {
     if (File.Exists(_rootFolder + Path.DirectorySeparatorChar + "user_" + userId + ".ser"))
     {
         try
         {
             FileStream fs       = new FileStream(_rootFolder + Path.DirectorySeparatorChar + "user_" + userId + ".ser", FileMode.Open);
             TvdbUser   retValue = (TvdbUser)_formatter.Deserialize(fs);
             fs.Close();
             return(retValue);
         }
         catch (SerializationException)
         {
             return(null);
         }
     }
     return(null);
 }
Пример #10
0
        /// <summary>
        /// Write the user data to file
        /// </summary>
        /// <param name="user">User to store</param>
        /// <param name="path">Path on disk</param>
        /// <returns>true if the file could be stored, false otherwise</returns>
        internal bool WriteUserData(TvdbUser user, String path)
        {
            String fileContent = CreateUserData(user);

            try
            {
                FileInfo info = new FileInfo(path);
                if (!info.Directory.Exists)
                {
                    info.Directory.Create();
                }
                File.WriteAllText(info.FullName, fileContent);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Пример #11
0
        /// <summary>
        /// Extract user data from
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        internal List <TvdbUser> ExtractUser(String data)
        {
            //Stopwatch watch = new Stopwatch();
            //watch.Start();
            XDocument xml      = XDocument.Parse(data);
            var       allUsers = from episode in xml.Descendants("User")
                                 select new
            {
                Identifier = episode.Element("Identifier").Value,
                Name       = episode.Element("Name").Value,
                Favorites  = episode.Element("Favorites"),
                Preferred  = episode.Element("PreferredLanguage")
            };

            List <TvdbUser> userList = new List <TvdbUser>();

            foreach (var a in allUsers)
            {
                TvdbUser user = new TvdbUser
                {
                    UserIdentifier        = a.Identifier,
                    UserName              = a.Name,
                    UserPreferredLanguage = a.Preferred.HasAttributes
                                                      ? TvDbUtils.ParseLanguage(a.Preferred.FirstAttribute.NextAttribute.Value)
                                                      : TvdbLanguage.DefaultLanguage
                };
                List <int> favList = new List <int>();
                foreach (String f in a.Favorites.Value.Split(','))
                {
                    int val;
                    if (Int32.TryParse(f, out val))
                    {
                        favList.Add(val);
                    }
                }
                user.UserFavorites = favList;
                userList.Add(user);
            }
            //watch.Stop();
            //Log.Debug("Extracted " + userList.Count + " actors in " + watch.ElapsedMilliseconds + " milliseconds");
            return(userList);
        }
Пример #12
0
 /// <summary>
 /// Load the userinfo from the cache
 /// </summary>
 /// <param name="_userId"></param>
 /// <returns></returns>
 public TvdbUser LoadUserInfoFromCache(String _userId)
 {
     if (File.Exists(m_rootFolder + "\\user_" + _userId + ".ser"))
     {
         try
         {
             FileStream fs       = new FileStream(m_rootFolder + "\\user_" + _userId + ".ser", FileMode.Open);
             TvdbUser   retValue = (TvdbUser)m_formatter.Deserialize(fs);
             fs.Close();
             return(retValue);
         }
         catch (SerializationException)
         {
             return(null);
         }
     }
     else
     {
         return(null);
     }
 }
Пример #13
0
        public ListeSeries()
        {
            TvdbHandler tvdbHandler = new TvdbHandler(new XmlCacheProvider(System.Environment.CurrentDirectory + @"\Cache\Series\"), "69C6FDC7E5F4B985");

            tvdbHandler.InitCache();
            TvdbUser user = new TvdbUser("Danone-KiD", "401D8B31F9832AA3");

            tvdbHandler.UserInfo = user;
            tvdbHandler.UserInfo.UserPreferredLanguage = tvdbHandler.GetPreferredLanguage();
            //get list of all favorites and print them to console
            List <int> favList = tvdbHandler.GetUserFavouritesList();

            foreach (int id in favList)
            {
                //TvdbSeries s = tvdbHandler.GetSeries(id, tvdbHandler.UserInfo.UserPreferredLanguage, true, true, true);
                Add(new Serie(tvdbHandler, id));
            }
            //Thumb t = new Thumb("http://thetvdb.com/banners/" + s.BannerPath);
            //this.DataContext = s;
            //lstSaisons.ItemsSource = seasonList;
            tvdbHandler.CloseCache();
        }
Пример #14
0
 public void SaveToCache(TvdbUser _user)
 {
     throw new NotImplementedException();
 }