예제 #1
0
        public static SettingModel LoadSettings(bool retry)
        {
            // default values
            SettingModel settings = new SettingModel();
            settings.MASUrl = "auto://127.0.0.1:4322";
            settings.TASUrl = "auto://127.0.0.1:4322";

            try
            {
                using(XmlReader reader = XmlReader.Create(Configuration.GetPath("WebMediaPortal.xml")))
                {
                    DataContractSerializer serializer = new DataContractSerializer(typeof(SettingModel));
                    settings = (SettingModel)serializer.ReadObject(reader);
                }
            }
            catch (Exception ex)
            {
                if (retry)
                {
                    Log.Warn("Exception in LoadSettings (due to old configuration file?), overwriting with default file and retrying", ex);
                    File.Copy(Configuration.GetDefaultPath("WebMediaPortal.xml"), Configuration.GetPath("WebMediaPortal.xml"), true);
                    return LoadSettings(false);
                }
                else
                {
                    Log.Warn("Exception in LoadSettings, bailing out", ex);

                }
            }

            return settings;
        }
예제 #2
0
        public static SettingModel LoadSettings()
        {
            SettingModel loadedObj = new SettingModel();

            try
            {
                // load from file using XmlSerializer
                XmlSerializer SerializerObj = new XmlSerializer(typeof(SettingModel));
                FileStream ReadFileStream = new FileStream(Configuration.GetPath("WebMediaPortal.xml"), FileMode.Open, FileAccess.Read, FileShare.Read);
                loadedObj = (SettingModel)SerializerObj.Deserialize(ReadFileStream);

                // cleanup
                ReadFileStream.Close();
                ReadFileStream.Dispose();
                return loadedObj;
            }
            catch (Exception ex)
            {
                Log.Debug("Exception in LoadSettings", ex);
            }

            // set some default values
            loadedObj.MASUrl = "auto://127.0.0.1:4322";
            loadedObj.TASUrl = "auto://127.0.0.1:4322";
            return loadedObj;
        }
예제 #3
0
        public ActionResult Update(string SelectedProfile, string SelectedGroup)
        {
            SettingModel settings = new SettingModel();
            settings.DefaultGroup = Int32.Parse(SelectedGroup);
            settings.TranscodingProfile = SelectedProfile;
            Settings.GlobalSettings = settings;

            return RedirectToAction("Index");
        }
예제 #4
0
 public SettingModel ToSettingModel(SettingModel changeModel)
 {
     changeModel.DefaultGroup        = SelectedGroup;
     changeModel.DefaultMediaProfile = SelectedMediaProfile;
     changeModel.DefaultAudioProfile = SelectedAudioProfile;
     changeModel.DefaultTVProfile    = SelectedTVProfile;
     changeModel.TVShowProvider      = TVShowProvider;
     changeModel.MusicProvider       = MusicProvider;
     changeModel.MovieProvider       = MovieProvider;
     return(changeModel);
 }
예제 #5
0
 private static void SaveSettings(SettingModel settings)
 {
     XmlWriterSettings writerSettings = new XmlWriterSettings();
     writerSettings.CloseOutput = true;
     writerSettings.Indent = true;
     writerSettings.OmitXmlDeclaration = false;
     using (XmlWriter writer = XmlWriter.Create(Configuration.GetPath("WebMediaPortal.xml"), writerSettings))
     {
         DataContractSerializer serializer = new DataContractSerializer(typeof(SettingModel));
         serializer.WriteObject(writer, settings);
     }
 }
예제 #6
0
        private static void SaveSettings(SettingModel settings)
        {
            // Create a new XmlSerializer instance with the type of the test class
            XmlSerializer SerializerObj = new XmlSerializer(typeof(SettingModel));

            // Create a new file stream to write the serialized object to a file
            TextWriter WriteFileStream = new StreamWriter(Configuration.GetPath("WebMediaPortal.xml"));
            SerializerObj.Serialize(WriteFileStream, settings);

            // Cleanup
            WriteFileStream.Close();
            WriteFileStream.Dispose();
        }
예제 #7
0
        public SettingsViewModel(SettingModel model)
        {
            SelectedGroup        = model.DefaultGroup;
            SelectedMediaProfile = model.DefaultMediaProfile;
            SelectedAudioProfile = model.DefaultAudioProfile;
            SelectedTVProfile    = model.DefaultTVProfile;

            if (ShowMASConfiguration)
            {
                var serviceDesc = MPEServices.MAS.GetServiceDescription();
                MovieProvider  = GetCurrentProvider(model.MovieProvider, serviceDesc.DefaultMovieLibrary);
                MusicProvider  = GetCurrentProvider(model.MusicProvider, serviceDesc.DefaultMusicLibrary);
                TVShowProvider = GetCurrentProvider(model.TVShowProvider, serviceDesc.DefaultTvShowLibrary);
            }
        }
예제 #8
0
        public static SettingModel LoadSettings()
        {
            // default values
            SettingModel settings = new SettingModel();
            settings.MASUrl = "auto://127.0.0.1:4322";
            settings.TASUrl = "auto://127.0.0.1:4322";

            try
            {
                using(XmlReader reader = XmlReader.Create(Configuration.GetPath("WebMediaPortal.xml")))
                {
                    DataContractSerializer serializer = new DataContractSerializer(typeof(SettingModel));
                    settings = (SettingModel)serializer.ReadObject(reader);
                }
            }
            catch (Exception ex)
            {
                Log.Debug("Exception in LoadSettings", ex);
            }

            return settings;
        }
예제 #9
0
        public SettingsViewModel(SettingModel model)
        {
            SelectedGroup = model.DefaultGroup;
            SelectedMediaProfile = model.DefaultMediaProfile;
            SelectedAudioProfile = model.DefaultAudioProfile;
            SelectedTVProfile = model.DefaultTVProfile;

            if (ShowMASConfiguration)
            {
                var serviceDesc = MPEServices.MAS.GetServiceDescription();
                MovieProvider = GetCurrentProvider(model.MovieProvider, serviceDesc.DefaultMovieLibrary);
                MusicProvider = GetCurrentProvider(model.MusicProvider, serviceDesc.DefaultMusicLibrary);
                TVShowProvider = GetCurrentProvider(model.TVShowProvider, serviceDesc.DefaultTvShowLibrary);
            }
        }
예제 #10
0
 public SettingModel ToSettingModel(SettingModel changeModel)
 {
     changeModel.MASUrl = MASUrl;
     changeModel.TASUrl = TASUrl;
     return changeModel;
 }
예제 #11
0
 public ServiceSettingsViewModel(SettingModel model)
 {
     MASUrl = model.MASUrl;
     TASUrl = model.TASUrl;
 }
예제 #12
0
        private static void SaveSettings(SettingModel settings)
        {
            // Create a new XmlSerializer instance with the type of the test class
            XmlSerializer SerializerObj = new XmlSerializer(typeof(SettingModel));

            // Create a new file stream to write the serialized object to a file
            TextWriter WriteFileStream = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + @"\WebMediaPortal\Settings.xml");
            SerializerObj.Serialize(WriteFileStream, settings);

            // Cleanup
            WriteFileStream.Close();
            WriteFileStream.Dispose();
        }
예제 #13
0
        public static SettingModel LoadSettings()
        {
            SettingModel loadedObj = null;

            try
            {
                XmlSerializer SerializerObj = new XmlSerializer(typeof(SettingModel));

                // Create a new file stream for reading the XML file
                FileStream ReadFileStream = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + @"\WebMediaPortal\Settings.xml", FileMode.Open, FileAccess.Read, FileShare.Read);

                // Load the object saved above by using the Deserialize function
                loadedObj = (SettingModel)SerializerObj.Deserialize(ReadFileStream);

                // Cleanup
                ReadFileStream.Close();
                ReadFileStream.Dispose();

            }
            catch (Exception ex)
            {
                Log.Debug("Exception in LoadSettings", ex);
            }
            if (loadedObj == null)
            {
                loadedObj = new SettingModel();
                loadedObj.DefaultGroup = 1;
                loadedObj.TranscodingProfile = "Flash HQ";
            }
            return loadedObj;
        }
예제 #14
0
        public SettingModel ToSettingModel(SettingModel changeModel)
        {
            changeModel.StreamType = StreamType;
            changeModel.EnableDeinterlace = EnableDeinterlace;
            changeModel.DefaultGroup = SelectedGroup;
            changeModel.DefaultMediaProfile = SelectedMediaProfile;
            changeModel.DefaultAudioProfile = SelectedAudioProfile;
            changeModel.DefaultTVProfile = SelectedTVProfile;

            changeModel.TVShowProvider = TVShowProvider;
            changeModel.MusicProvider = MusicProvider;
            changeModel.MovieProvider = MovieProvider;
            changeModel.Skin = Skin;
            return changeModel;
        }
예제 #15
0
 public ServiceSettingsViewModel(SettingModel model)
 {
     MASUrl = model.MASUrl;
     TASUrl = model.TASUrl;
 }
예제 #16
0
 public SettingModel ToSettingModel(SettingModel changeModel)
 {
     changeModel.MASUrl = MASUrl;
     changeModel.TASUrl = TASUrl;
     return(changeModel);
 }
예제 #17
0
 public SettingModel ToSettingModel(SettingModel changeModel)
 {
     changeModel.DefaultGroup = SelectedGroup;
     changeModel.DefaultMediaProfile = SelectedMediaProfile;
     changeModel.DefaultAudioProfile = SelectedAudioProfile;
     changeModel.DefaultTVProfile = SelectedTVProfile;
     changeModel.TVShowProvider = TVShowProvider;
     changeModel.MusicProvider = MusicProvider;
     changeModel.MovieProvider = MovieProvider;
     return changeModel;
 }