Пример #1
0
        /// <summary>
        ///     Initialises the class for reading the XML file.
        /// </summary>
        private void Initialise()
        {
            try
            {
                Settings = new Settings();
                MissingEpisodeSettings = new MissingEpisodeSettings();

                // Check that the file exists
                if (!File.Exists(XmlFile))
                {
                    // Create the file and populate with default settings.
                    var root = new XElement(
                        "TVSorter".GetElementName(),
                        new XAttribute("version", XmlMigration.XmlVersion),
                        Settings.ToXml(),
                        MissingEpisodeSettings.ToXml(),
                        new XElement("Shows".GetElementName()));

                    var doc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"), root);

                    doc.Save(XmlFile);
                }

                GetDocument();
                LoadSettings();
                LoadMissingEpisodeSettings();
            }
            catch (Exception e)
            {
                throw new IOException("Unable to load XML file.", e);
            }
        }
Пример #2
0
 /// <summary>
 ///     Loads the specified missing episode settings from XML.
 /// </summary>
 /// <param name="settings">
 ///     The settings to load into.
 /// </param>
 /// <param name="missingEpsiodeElement">
 ///     The XML element to load from.
 /// </param>
 internal static void FromXml(this MissingEpisodeSettings settings, XElement missingEpsiodeElement)
 {
     settings.HideNotYetAired    = bool.Parse(missingEpsiodeElement.GetAttribute("hidenotaired", "false"));
     settings.HideLocked         = bool.Parse(missingEpsiodeElement.GetAttribute("hidelocked", "false"));
     settings.HidePart2          = bool.Parse(missingEpsiodeElement.GetAttribute("hidepart2", "false"));
     settings.HideSeason0        = bool.Parse(missingEpsiodeElement.GetAttribute("hideseason0", "false"));
     settings.HideMissingSeasons = bool.Parse(missingEpsiodeElement.GetAttribute("hidemissingseasons", "false"));
 }
Пример #3
0
 /// <summary>
 ///     Converts the settings to XML.
 /// </summary>
 /// <param name="settings">
 ///     The settings.
 /// </param>
 /// <returns>
 ///     The XML for the settings.
 /// </returns>
 internal static XElement ToXml(this MissingEpisodeSettings settings)
 {
     return(new XElement(
                "MissingEpisodeSettings".GetElementName(),
                new XAttribute("hidenotaired", settings.HideNotYetAired),
                new XAttribute("hidelocked", settings.HideLocked),
                new XAttribute("hidepart2", settings.HidePart2),
                new XAttribute("hideseason0", settings.HideSeason0),
                new XAttribute("hidemissingseasons", settings.HideMissingSeasons)));
 }