コード例 #1
0
        public ResolveOperationViewModel(
            string resolveOperationId,
            IHistoricalItemStore <ResolveOperation> historicalItemStore,
            IDispatcher dispatcher)
        {
            if (resolveOperationId == null)
            {
                throw new ArgumentNullException("resolveOperationId");
            }
            if (historicalItemStore == null)
            {
                throw new ArgumentNullException("historicalItemStore");
            }

            dispatcher.Background(() =>
            {
                ResolveOperation resolveOperation;
                if (historicalItemStore.TryGetItem(resolveOperationId, out resolveOperation))
                {
                    var subOperations = Traverse.PreOrder(resolveOperation, r => r.SubOperations)
                                        .Select(o => new SubResolveOperationViewModel(o))
                                        .ToList();

                    dispatcher.Foreground(() =>
                    {
                        foreach (var subResolveOperationViewModel in subOperations)
                        {
                            _subOperations.Add(subResolveOperationViewModel);
                        }
                    });
                }
            });
        }
コード例 #2
0
        public ResolveOperationViewModel(
            string resolveOperationId,
            IHistoricalItemStore<ResolveOperation> historicalItemStore,
            IDispatcher dispatcher)
        {
            if (resolveOperationId == null) throw new ArgumentNullException("resolveOperationId");
            if (historicalItemStore == null) throw new ArgumentNullException("historicalItemStore");

            dispatcher.Background(() =>
            {
                ResolveOperation resolveOperation;
                if (historicalItemStore.TryGetItem(resolveOperationId, out resolveOperation))
                {
                    var subOperations = Traverse.PreOrder(resolveOperation, r => r.SubOperations)
                        .Select(o => new SubResolveOperationViewModel(o))
                        .ToList();
                    
                    dispatcher.Foreground(() =>
                    {
                        foreach (var subResolveOperationViewModel in subOperations)
                            _subOperations.Add(subResolveOperationViewModel);
                    });
                }
            });
        }
コード例 #3
0
        public ComponentsViewModel(
            INavigator navigator,
            IHistoricalItemStore <Component> components,
            IHistoricalItemStore <RegistrationSource> registrationSources,
            IApplicationEventBus applicationEventBus,
            IDispatcher dispatcher)
        {
            _navigator                = navigator;
            _applicationEventBus      = applicationEventBus;
            _dispatcher               = dispatcher;
            _filteredSortedComponents = new ListCollectionView(_components);
            _filteredSortedComponents.SortDescriptions.Add(new SortDescription("Description", ListSortDirection.Ascending));

            dispatcher.Background(() =>
            {
                _applicationEventBus.Subscribe(this);
                var vms = new List <object>();
                vms.AddRange(components.GetItems().Select(CreateViewModel));
                vms.AddRange(registrationSources.GetItems().Select(CreateViewModel));
                dispatcher.Foreground(() =>
                {
                    foreach (var vm in vms)
                    {
                        _components.Add(vm);
                    }
                });
            });
        }