public MainWindow() { InitializeComponent(); RequiredDirectories = new string[] { "Data", "Cache" }; if (File.Exists(ConfigurationFileName)) { AppConfiguration = (ApplicationConfiguration)SerializationHelper.DeserializeObject <ApplicationConfiguration>(ConfigurationFileName); } if (File.Exists(IOTDevicesFileName)) { IOTDevices = (List <IOT.IOTDevice>)SerializationHelper.DeserializeObject <List <IOT.IOTDevice> >(IOTDevicesFileName); } #if DEBUG if (IOTDevices == null || IOTDevices.Count == 0) { IOTDevices.Add(new IOT.IOTDevice() { Name = "ESP8266_0", IPAddress = "10.1.0.101" }); } #endif RGBWWLED = new IOT.API.RGBWWLED.RGBWWLEDControl(IOTDevices?.Where(o => o.Name == "ESP8266_0").ToList()[0]); InitializeUI(); RGBWWLED_TabPage.AutoScroll = true; VuLoops_SliderWithLabel.ScrollEnd += VuLoops_SliderWithLabel_ScrollEnd; Vumin_SliderWithLabel.ScrollEnd += Vumin_SliderWithLabel_ScrollEnd; Vumax_SliderWithLabel.ScrollEnd += Vumax_SliderWithLabel_ScrollEnd; this.FormClosing += MainWindow_FormClosing; }
private void MainWindow_FormClosing(object sender, FormClosingEventArgs e) { AppConfiguration = new ApplicationConfiguration() { AutoSaveConfiguration = AutoSave_CheckBox.Checked, }; if (AppConfiguration.AutoSaveConfiguration) { AppConfiguration.RGBWWLEDConfiguration = new IOT.API.RGBWWLED.RGBWWLEDConfiguration() { PWMValues = colorSliders.Select(o => o.Value).ToArray(), VumeterConfiguration = new IOT.API.RGBWWLED.VumeterConfiguration() { LoopSkip = VuLoops_SliderWithLabel.Value, Maximum = Vumax_SliderWithLabel.Value, Minimum = Vumin_SliderWithLabel.Value } }; } AppConfiguration.SerializeObject(ConfigurationFileName); IOTDevices.SerializeObject(IOTDevicesFileName); }