private void DeleteRoom(MultiRoomLineGraphInfo roomInfo) { RoomsCollection.Remove(roomInfo); roomInfo.ActiveDevice.IsAdded = false; _activeDeviceRepository.DeatachDevice(roomInfo.ActiveDevice).Wait(); roomInfo?.Dispose(); }
private void DeviceUpdateEventHandler(DeviceEventModel device) { var d = RoomsCollection.FirstOrDefault(x => x.ActiveDevice.IPAddress == device.OldValue.IPAddress); if (d != null) { d.ActiveDevice.Set(device.NewValue); } }
private void OpenReportView() { var selectedDevices = RoomsCollection .Where(x => x.ActiveDevice.IsSelected) .Select(x => x.ActiveDevice); var args = new DialogParameters(); args.Add("model", selectedDevices); _dialogService.ShowDialog("CreateReportView", args, x => { if (x.Result == ButtonResult.OK) { selectedDevices.Select(z => z.IsSelected = false).ToList(); } }); }
private void OpenSwapDeviceView(RoomLineGraphInfo roomLineGraphInfo) { var dialog = new DialogParameters(); dialog.Add("model", roomLineGraphInfo); _dialogService.ShowModal("DeviceSwapView", dialog, callback => { if (callback.Parameters.TryGetValue("model", out ActiveDevice activeDevice)) { roomLineGraphInfo.ActiveDevice.Report = null; roomLineGraphInfo.ActiveDevice.ReportId = 0; var room = RoomsCollection.FirstOrDefault(x => x.ActiveDevice.IPAddress == activeDevice.IPAddress); room.ActiveDevice.Report = new Report(activeDevice.Report); room.ActiveDevice.ReportId = activeDevice.Report.Id; } }); }
public virtual void OpenNewDevcieView() { ActiveDevice newDevice = null; _dialogService.ShowModal("SelectionDeviceViewOld", x => { if (x.Result == ButtonResult.OK) { newDevice = x.Parameters.GetValue <ActiveDevice>("model"); } }); if (newDevice != null) { var room = RoomsCollection.FirstOrDefault(x => x.ActiveDevice.IPAddress == newDevice.IPAddress); if (room == null) { TRoomLine roomLine = Activator.CreateInstance(typeof(TRoomLine), newDevice, true) as TRoomLine; roomLine.AddToCollectionEvent += DeviceInformationViewModel_AddToCollectionEvent; RoomsCollection.Add(roomLine); Task.Run(async() => { newDevice.DeviceType = _deviceType; await _activeDeviceRepository.CheckDevice(newDevice); _logger.Information("Added new device to listen {0}", newDevice.IPAddress); await roomLine.InitializeDeviceAsync(); }).ContinueWith(t => { _logger.Error(t.Exception.Message); _logger.Error(t.Exception?.InnerException?.Message); }, TaskContinuationOptions.OnlyOnFaulted); } } }
private void Button_Clicked(object sender, EventArgs e) { RoomsCollection.Add(CurrentRoom); }