コード例 #1
0
        public FacilityCreateViewModel(FacilityDetailViewModel facility,
                                       IEventAggregator eventAggregator,
                                       IInvWindowManager windowManager
                                       )
            : base(eventAggregator)
        {
            Facility       = facility;
            _windowManager = windowManager;

            this.SubscribeToEvents();

            Init();
        }
コード例 #2
0
        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;
            }
        }