Exemple #1
0
        public void Verify_that_constructor_does_expected_setup()
        {
            var vm = new CategoryDomainParameterTypeSelectorDialogViewModel(this.parameterTypes, this.categories, this.domains);

            CollectionAssert.AreEquivalent(this.categories, vm.PossibleCategories);
            CollectionAssert.AreEquivalent(this.domains, vm.PossibleOwner);
            CollectionAssert.AreEquivalent(this.parameterTypes, vm.PossibleParameterTypes);

            Assert.That(vm.OkCommand.CanExecute(null), Is.False);
            Assert.That(vm.CancelCommand.CanExecute(null), Is.True);
        }
Exemple #2
0
        public void Verify_that_when_a_selection_is_made_canok_can_execute()
        {
            var vm = new CategoryDomainParameterTypeSelectorDialogViewModel(this.parameterTypes, this.categories, this.domains);

            Assert.That(vm.OkCommand.CanExecute(null), Is.False);

            vm.SelectedCategories.Add(this.categories.First());
            vm.SelectedOwners.Add(this.domains.First());
            vm.SelectedParameterTypes.Add(this.parameterTypes.First());

            Assert.That(vm.OkCommand.CanExecute(null), Is.True);
        }
Exemple #3
0
        public void Verify_that_when_CancelCommand_is_executed_the_Result_is_as_expected()
        {
            var vm = new CategoryDomainParameterTypeSelectorDialogViewModel(this.parameterTypes, this.categories, this.domains);

            vm.SelectedCategories.Add(this.categories.First());
            vm.SelectedOwners.Add(this.domains.First());
            vm.SelectedParameterTypes.Add(this.parameterTypes.First());

            vm.CancelCommand.Execute(null);
            var dialogResult = vm.DialogResult;

            Assert.That(dialogResult.Result.HasValue, Is.True);

            Assert.That(dialogResult.Result, Is.False);
        }
Exemple #4
0
        public void Verify_that_when_OkCommand_is_executed_the_Result_is_as_expected()
        {
            var vm = new CategoryDomainParameterTypeSelectorDialogViewModel(this.parameterTypes, this.categories, this.domains);

            vm.SelectedCategories.Add(this.categories.First());
            vm.SelectedOwners.Add(this.domains.First());
            vm.SelectedParameterTypes.Add(this.parameterTypes.First());

            vm.OkCommand.Execute(null);
            var dialogResult = vm.DialogResult;

            Assert.That(dialogResult.Result.HasValue, Is.True);

            var subscriptionFilterSelectionResult = dialogResult as CategoryDomainParameterTypeSelectorResult;

            CollectionAssert.AreEquivalent(vm.SelectedCategories, subscriptionFilterSelectionResult.Categories);
            CollectionAssert.AreEquivalent(vm.SelectedOwners, subscriptionFilterSelectionResult.DomainOfExpertises);
            CollectionAssert.AreEquivalent(vm.SelectedParameterTypes, subscriptionFilterSelectionResult.ParameterTypes);
        }
Exemple #5
0
        /// <summary>
        /// Execute the <see cref="BatchUpdateParameterCommand"/>
        /// </summary>
        /// <returns>
        /// an awaitable <see cref="Task"/>
        /// </returns>
        private async Task ExecuteBatchUpdateParameterCommand()
        {
            var actualFiniteStateListRowViewModel = this.SelectedThing as ActualFiniteStateListRowViewModel;

            if (actualFiniteStateListRowViewModel == null)
            {
                return;
            }

            var model = (EngineeringModel)this.Thing.Container;

            var requiredRls           = model.RequiredRdls;
            var allowedCategories     = requiredRls.SelectMany(rdl => rdl.DefinedCategory).Where(c => c.PermissibleClass.Contains(ClassKind.ElementDefinition));
            var allowedParameterTypes = requiredRls.SelectMany(rdl => rdl.ParameterType);

            var categoryDomainParameterTypeSelectorDialogViewModel = new CategoryDomainParameterTypeSelectorDialogViewModel(allowedParameterTypes, allowedCategories, model.EngineeringModelSetup.ActiveDomain);
            var result = this.DialogNavigationService.NavigateModal(categoryDomainParameterTypeSelectorDialogViewModel) as CategoryDomainParameterTypeSelectorResult;

            if (result == null || !result.Result.HasValue || !result.Result.Value)
            {
                return;
            }

            try
            {
                this.IsBusy = true;

                await this.parameterActualFiniteStateListApplicationBatchService.Update(this.Session, this.Thing, actualFiniteStateListRowViewModel.Thing, result.IsUncategorizedIncluded, result.Categories, result.DomainOfExpertises, result.ParameterTypes);
            }
            catch (Exception exception)
            {
                logger.Error(exception, "An error occured when applying an ActualFiniteState to multiple Parameters in a batch operation");
            }
            finally
            {
                this.IsBusy = false;
            }
        }