public void OpenFacility(object context, EventArgs eventArgs) { var treeNode = context as TreeNode <object>; if (treeNode == null) { return; } if (treeNode.TreeNodeType == TreeNodeType.System) { CursorHelper.ExecuteWithWaitCursor(() => { //reload var facility = treeNode.Value as InvFacility; facility = _facilitiesService.GetFacility(facility.SYNC_ID); if (facility == null) { _windowManager.ShowError("Open Facility", "cannot load facility"); return; } var facilityInfoVm = new FacilityInfoViewModel(facility, _applicationContext, this.EventAggregator); var facilityDetailVM = new FacilityDetailViewModel(facility, facilityInfoVm, _windowManager, EventAggregator, _applicationContext, _facilitiesService); var manager = IoC.Get <IDockWindowManager>(); manager.ShowDocumentWindow(facilityDetailVM, null); }); } else if (treeNode.TreeNodeType == TreeNodeType.Component) { CursorHelper.ExecuteWithWaitCursor(() => { //reload var equipment = treeNode.Value as InvEquipment; var facility = equipment.InvFacility; facility = _facilitiesService.GetFacility(facility.SYNC_ID); if (facility == null) { _windowManager.ShowError("Open Facility", "cannot load facility"); return; } var facilityInfoVm = new FacilityInfoViewModel(facility, _applicationContext, this.EventAggregator); var facilityDetailVM = new FacilityDetailViewModel(facility, facilityInfoVm, _windowManager, EventAggregator, _applicationContext, _facilitiesService); var manager = IoC.Get <IDockWindowManager>(); manager.ShowDocumentWindow(facilityDetailVM, null); // select proper component EventAggregator.PublishOnUIThread(new EquipmentSelectedMessage() { Equipment = equipment }); }); } if (eventArgs is RoutedEventArgs) { ((RoutedEventArgs)eventArgs).Handled = true; } }
private void ReLoadFacility() { var savedFacility = _facilitiesService.GetFacility(Model.SYNC_ID); LoadFacility(savedFacility); }