private void btn_AddRoom_Tapped(object sender, TappedRoutedEventArgs e) { Core.Classes.Room NewRoom = new Core.Classes.Room(); NewRoom.I2C_SlaveAdress = 0x40; NewRoom.Color = ""; NewRoom.Name = tbx_RoomName.Text.ToString(); MainPage.MyHome.Rooms.Add(NewRoom); UpdateListBox(1); }
private void lv_Rooms_Tapped(object sender, TappedRoutedEventArgs e) { SelectedRoom = (Core.Classes.Room)lv_Rooms.SelectedItem; UpdateDeviceListView(); UpdateWindowShutterListView(); }
private void UpdateRoomDetailPane(Core.Classes.Room SelectedRoom) { tbx_RoomName.Text = SelectedRoom.Name; tbx_I2CslaveAddress.Text = "0x" + SelectedRoom.I2C_SlaveAdress.ToString("X"); }
private void UpdateDeviceDetailPane(Core.Classes.Room SelectedRoom, bool SelectFirst = false, bool SkipClear = false) { if (SkipClear == false) { ClearDeviceDetailPane(); } if (SelectedRoom.Devices.Count > 0 || SelectedRoom.Sensors.Count > 0 || SelectedRoom.WindowShutters.Count > 0) { if (SkipClear == false) { try { foreach (var _Device in SelectedRoom.Devices) { lb_Devices.Items.Add(_Device); } } catch { } try { foreach (var _Sensor in SelectedRoom.Sensors) { lb_Devices.Items.Add(_Sensor); } } catch { } try { foreach (var _WindowShutter in SelectedRoom.WindowShutters) { lb_Devices.Items.Add(_WindowShutter); } } catch { } } if (SelectFirst) { lb_Devices.SelectedIndex = 0; } var type = lb_Devices.SelectedItem.GetType(); if (type == typeof(Core.Classes.Device)) { Core.Classes.Device SelectedDevice = (Core.Classes.Device)lb_Devices.SelectedItem; try { tbx_DeviceName.Text = SelectedDevice.Name; cbx_DevicePin.SelectedItem = SelectedDevice.Pin.ToString(); } catch { tbx_DeviceName.Text = ""; cbx_DevicePin.SelectedItem = "D0"; } } else if (type == typeof(Core.Classes.WindowShutter)) { Core.Classes.WindowShutter SelectedDevice = (Core.Classes.WindowShutter)lb_Devices.SelectedItem; try { tbx_DeviceName.Text = SelectedDevice.Name; cbx_DevicePin.SelectedItem = SelectedDevice.Pin.ToString(); cbx_DevicePinSec.SelectedItem = SelectedDevice.SecondaryPin.ToString(); } catch { tbx_DeviceName.Text = ""; cbx_DevicePin.SelectedItem = "D0"; cbx_DevicePin.SelectedItem = "D1"; } } else if (type == typeof(Core.Classes.Sensor)) { Core.Classes.Sensor SelectedDevice = (Core.Classes.Sensor)lb_Devices.SelectedItem; try { tbx_DeviceName.Text = SelectedDevice.Name; cbx_DevicePin.SelectedItem = SelectedDevice.Pin.ToString(); } catch { tbx_DeviceName.Text = ""; cbx_DevicePin.SelectedItem = "A2"; } } } }
private void btn_Save_Tapped(object sender, TappedRoutedEventArgs e) { if (lb_Rooms.Items.Count > 0 && lb_Rooms.SelectedIndex != -1) { // Update Room Detail Core.Classes.Room SelectedRoom = (Core.Classes.Room)lb_Rooms.SelectedItem; SelectedRoom.Name = tbx_RoomName.Text.ToString(); int NewAddress = 0; IFormatProvider _Culture = new CultureInfo("en-US"); int.TryParse(tbx_I2CslaveAddress.Text.Replace("0x", ""), System.Globalization.NumberStyles.HexNumber, _Culture, out NewAddress); SelectedRoom.I2C_SlaveAdress = NewAddress; // Update Device Detail if (lb_Devices.Items.Count > 0) { if (lb_Devices.SelectedIndex != -1) { System.Type type = lb_Devices.SelectedItem.GetType(); if (type == typeof(Core.Classes.Device)) { Core.Classes.Device SelectedDevice = (Core.Classes.Device)lb_Devices.SelectedItem; SelectedDevice.Name = tbx_DeviceName.Text.ToString(); try { SelectedDevice.Pin = (Core.Classes.Device.PinsEnum)Enum.Parse(typeof(Core.Classes.Device.PinsEnum), cbx_DevicePin.SelectedItem.ToString()); } catch { SelectedDevice.Pin = (Core.Classes.Device.PinsEnum)Enum.Parse(typeof(Core.Classes.Device.PinsEnum), "D0"); } } else if (type == typeof(Core.Classes.WindowShutter)) { Core.Classes.WindowShutter SelectedDevice = (Core.Classes.WindowShutter)lb_Devices.SelectedItem; SelectedDevice.Name = tbx_DeviceName.Text.ToString(); try { SelectedDevice.Pin = (Core.Classes.Device.PinsEnum)Enum.Parse(typeof(Core.Classes.Device.PinsEnum), cbx_DevicePin.SelectedItem.ToString()); SelectedDevice.SecondaryPin = (Core.Classes.Device.PinsEnum)Enum.Parse(typeof(Core.Classes.Device.PinsEnum), cbx_DevicePinSec.SelectedItem.ToString()); } catch { SelectedDevice.Pin = (Core.Classes.Device.PinsEnum)Enum.Parse(typeof(Core.Classes.Device.PinsEnum), "D0"); SelectedDevice.SecondaryPin = (Core.Classes.Device.PinsEnum)Enum.Parse(typeof(Core.Classes.Device.PinsEnum), "D1"); } } else if (type == typeof(Core.Classes.Sensor)) { Core.Classes.Sensor SelectedDevice = (Core.Classes.Sensor)lb_Devices.SelectedItem; SelectedDevice.Name = tbx_DeviceName.Text.ToString(); try { SelectedDevice.Pin = (Core.Classes.Device.PinsEnum)Enum.Parse(typeof(Core.Classes.Device.PinsEnum), cbx_DevicePin.SelectedItem.ToString()); } catch { SelectedDevice.Pin = (Core.Classes.Device.PinsEnum)Enum.Parse(typeof(Core.Classes.Device.PinsEnum), "A1"); } } } } } // Save Core.Classes.Home.SaveHome(MainPage.MyHome); }