private void btn_AddDevice_Tapped(object sender, TappedRoutedEventArgs e) { switch (deviceType) { case 0: Shared.Classes.Device NewDevice = new Shared.Classes.Device(); NewDevice.Name = tbx_DeviceName.Text; NewDevice.Pin = Shared.Classes.Device.PinsEnum.D0; MainPage.MyHome.Rooms[lv_Rooms.SelectedIndex].AddDevice(NewDevice); break; case 1: Shared.Classes.WindowShutter NewWindowShutter = new Shared.Classes.WindowShutter(); NewWindowShutter.Name = tbx_DeviceName.Text; NewWindowShutter.Pin = Shared.Classes.Device.PinsEnum.D0; NewWindowShutter.SecondaryPin = Shared.Classes.Device.PinsEnum.D1; MainPage.MyHome.Rooms[lv_Rooms.SelectedIndex].AddWindowShutter(NewWindowShutter); break; case 2: Shared.Classes.Sensor NewSensor = new Shared.Classes.Sensor(); NewSensor.Name = tbx_DeviceName.Text; NewSensor.Pin = Shared.Classes.Sensor.PinsEnum.D0; MainPage.MyHome.Rooms[lv_Rooms.SelectedIndex].AddSensor(NewSensor); break; } // Only update device listbox UpdateListBox(2); }
private void btn_down_Click(object sender, RoutedEventArgs e) { Button clicked = (Button)sender; SelectedWindowShutter = (Shared.Classes.WindowShutter)clicked.DataContext; Task.Factory.StartNew(() => { SelectedWindowShutter.moveDown(); }).Wait(1000); }
private void UpdateSensorListView() { lv_Sensors.Items.Clear(); foreach (var Sensor in SelectedRoom.Sensors) { Shared.Classes.WindowShutter _SenInfo = new Shared.Classes.WindowShutter(); _SenInfo.Id = Sensor.Id; _SenInfo.ImagePath = Sensor.ImagePath; _SenInfo.Name = Sensor.Name; _SenInfo.Pin = Sensor.Pin; _SenInfo.Status = Sensor.Status; _SenInfo.I2C_Slave_Address = Sensor.I2C_Slave_Address; lv_Sensors.Items.Add(_SenInfo); } grd_Sensors.Visibility = lv_Sensors.Items.Count() > 0 ? Visibility.Visible : Visibility.Collapsed; }
private void UpdateWindowShutterListView() { lv_WindowShutters.Items.Clear(); foreach (var WindowShutter in SelectedRoom.WindowShutters) { Shared.Classes.WindowShutter _WSInfo = new Shared.Classes.WindowShutter(); _WSInfo.Id = WindowShutter.Id; _WSInfo.ImagePath = WindowShutter.ImagePath; _WSInfo.Name = WindowShutter.Name; _WSInfo.Pin = WindowShutter.Pin; _WSInfo.SecondaryPin = WindowShutter.SecondaryPin; _WSInfo.Status = WindowShutter.Status; _WSInfo.I2C_Slave_Address = WindowShutter.I2C_Slave_Address; lv_WindowShutters.Items.Add(_WSInfo); } grd_WindowShutters.Visibility = lv_WindowShutters.Items.Count() > 0 ? Visibility.Visible : Visibility.Collapsed; }
private void UpdateDeviceDetailPane(Shared.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) { lv_Devices.Items.Add(_Device); } } catch { } try { foreach (var _Sensor in SelectedRoom.Sensors) { lv_Devices.Items.Add(_Sensor); } } catch { } try { foreach (var _WindowShutter in SelectedRoom.WindowShutters) { lv_Devices.Items.Add(_WindowShutter); } } catch { } } if (SelectFirst) { lv_Devices.SelectedIndex = 0; } var type = lv_Devices.SelectedItem.GetType(); if (type == typeof(Shared.Classes.Device)) { Shared.Classes.Device SelectedDevice = (Shared.Classes.Device)lv_Devices.SelectedItem; try { deviceType_Device(); tbx_DeviceName.Text = SelectedDevice.Name; fv_DevicePin.SelectedItem = SelectedDevice.Pin.ToString(); } catch { tbx_DeviceName.Text = ""; fv_DevicePin.SelectedItem = "D0"; } } else if (type == typeof(Shared.Classes.WindowShutter)) { Shared.Classes.WindowShutter SelectedDevice = (Shared.Classes.WindowShutter)lv_Devices.SelectedItem; try { deviceType_WindowShutter(); tbx_DeviceName.Text = SelectedDevice.Name; fv_DevicePin.SelectedItem = SelectedDevice.Pin.ToString(); fv_DevicePinSec.SelectedItem = SelectedDevice.SecondaryPin.ToString(); } catch { tbx_DeviceName.Text = ""; fv_DevicePin.SelectedItem = "D0"; fv_DevicePinSec.SelectedItem = "D1"; } } else if (type == typeof(Shared.Classes.Sensor)) { Shared.Classes.Sensor SelectedDevice = (Shared.Classes.Sensor)lv_Devices.SelectedItem; try { deviceType_Sensor(); tbx_DeviceName.Text = SelectedDevice.Name; fv_DevicePin.SelectedItem = SelectedDevice.Pin.ToString(); } catch { tbx_DeviceName.Text = ""; fv_DevicePin.SelectedItem = "A2"; } } } }
private void btn_Save_Tapped(object sender, TappedRoutedEventArgs e) { if (lv_Rooms.Items.Count > 0 && lv_Rooms.SelectedIndex != -1) { // Update Room Detail Shared.Classes.Room SelectedRoom = (Shared.Classes.Room)lv_Rooms.SelectedItem; SelectedRoom.Name = tbx_RoomName.Text.ToString(); int NewAddress = 0; IFormatProvider _Culture = new CultureInfo("en-US"); int.TryParse(tbx_I2CAdress.Text.Replace("0x", ""), System.Globalization.NumberStyles.HexNumber, _Culture, out NewAddress); SelectedRoom.I2C_SlaveAdress = NewAddress; // Update Device Detail if (lv_Devices.Items.Count > 0) { if (lv_Devices.SelectedIndex != -1) { System.Type type = lv_Devices.SelectedItem.GetType(); if (type == typeof(Shared.Classes.Device)) { Shared.Classes.Device SelectedDevice = (Shared.Classes.Device)lv_Devices.SelectedItem; SelectedDevice.Name = tbx_DeviceName.Text.ToString(); try { SelectedDevice.Pin = (Shared.Classes.Device.PinsEnum)Enum.Parse(typeof(Shared.Classes.Device.PinsEnum), fv_DevicePin.SelectedItem.ToString()); } catch { SelectedDevice.Pin = (Shared.Classes.Device.PinsEnum)Enum.Parse(typeof(Shared.Classes.Device.PinsEnum), "D0"); } } else if (type == typeof(Shared.Classes.WindowShutter)) { Shared.Classes.WindowShutter SelectedDevice = (Shared.Classes.WindowShutter)lv_Devices.SelectedItem; SelectedDevice.Name = tbx_DeviceName.Text.ToString(); try { SelectedDevice.Pin = (Shared.Classes.Device.PinsEnum)Enum.Parse(typeof(Shared.Classes.Device.PinsEnum), fv_DevicePin.SelectedItem.ToString()); SelectedDevice.SecondaryPin = (Shared.Classes.Device.PinsEnum)Enum.Parse(typeof(Shared.Classes.Device.PinsEnum), fv_DevicePinSec.SelectedItem.ToString()); } catch { SelectedDevice.Pin = (Shared.Classes.Device.PinsEnum)Enum.Parse(typeof(Shared.Classes.Device.PinsEnum), "D0"); SelectedDevice.SecondaryPin = (Shared.Classes.Device.PinsEnum)Enum.Parse(typeof(Shared.Classes.Device.PinsEnum), "D1"); } } else if (type == typeof(Shared.Classes.Sensor)) { Shared.Classes.Sensor SelectedDevice = (Shared.Classes.Sensor)lv_Devices.SelectedItem; SelectedDevice.Name = tbx_DeviceName.Text.ToString(); try { SelectedDevice.Pin = (Shared.Classes.Device.PinsEnum)Enum.Parse(typeof(Shared.Classes.Device.PinsEnum), fv_DevicePin.SelectedItem.ToString()); } catch { SelectedDevice.Pin = (Shared.Classes.Device.PinsEnum)Enum.Parse(typeof(Shared.Classes.Device.PinsEnum), "A1"); } } } } } // Save Shared.Classes.Home.SaveHome(MainPage.MyHome); }