public async Task <IActionResult> Put(int id, [FromBody] TransitionViewModel transition)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Transition _transition = _unitOfWork.Transition.GetSingleOrDefault(e => e.Id == transition.Id);
                    _transition.Process     = _unitOfWork.Process.GetSingleOrDefault(e => e.Id == transition.ProcessId);
                    _transition.EtatActuel  = _unitOfWork.Etat.GetSingleOrDefault(e => e.Id == transition.EtatActuelId);
                    _transition.EtatSuivant = _unitOfWork.Etat.GetSingleOrDefault(e => e.Id == transition.EtatSuivantId);
                    _unitOfWork.Transition.Update(_transition);
                    await _unitOfWork.SaveChangesAsync();

                    return(Ok("OK"));
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Data));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
Пример #2
0
 public static TransitionToolTipViewModel CreateToolTip(this TransitionViewModel transition)
 {
     return(new TransitionToolTipViewModel()
     {
         // Condition = ToToolTip(transition.Condition, transition.Parent.Inputs.Items),
         // Actions = ToToolTip(transition.Actions, transition.Parent.Outputs.Items)
     });
 }
Пример #3
0
        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();

            if (_viewModel == null)
            {
                _viewModel = DataContext as TransitionViewModel;
            }

            _linePath = Template.FindName("PART_ArrowShaft", this) as Path;
            if (IsRecursive)
            {
                ApplyCurvedLineStyle();
            }
            else
            {
                ApplyStraightLineStyle();
            }
        }
        public void AddTransition_DeleteTransition_TransitionDeleted()
        {
            Guid guid1        = Guid.NewGuid();
            Guid guid2        = Guid.NewGuid();
            var  stateMachine = new StateMachine
            {
                Transitions = new[] { new StateMachineTransition {
                                          Name = "Name1", SourceStateId = guid1, TargetStateId = guid2
                                      } },
                States = new[] { new State {
                                     Id = guid1
                                 }, new State {
                                     Id = guid2
                                 } }
            };
            var vm = new StateMachineDialogWindowViewModel(stateMachine, Substitute.For <IViewService>());
            TransitionViewModel transition = vm.StateMachineViewModel.Transitions[0];

            transition.DeleteCommand.Execute(null);
            Assert.Empty(vm.StateMachineViewModel.Transitions);
        }
        public TransitionEditorViewModel(
            StateMachineTransition model,
            StateMachineViewModel parent,
            Action <StateMachineTransition> updateParentModel,
            IMessageBoxService messageBoxService)
        {
            _model             = model ?? throw new ArgumentNullException(nameof(model));
            _updateParentModel = updateParentModel;
            _parent            = parent ?? throw new ArgumentNullException(nameof(parent));
            _messageBoxService = messageBoxService ?? throw new ArgumentNullException(nameof(messageBoxService));

            Inputs      = new ObservableCollection <StateMachineInputViewModel>(parent.Inputs);
            Outputs     = new ObservableCollection <StateMachineOutputActionViewModel>(parent.Outputs);
            _transition = ApplicationContainer.Container.Resolve <TransitionViewModel>(
                new TypedParameter(typeof(StateMachineViewModel), parent),
                new TypedParameter(typeof(StateMachineTransition), model)
                );

            Actions = new OrderedListDesigner <StateMachineOutputActionViewModel>(NewFactory, parent.Outputs.Where(o => _transition.Actions.Contains(o.Id)));
            _actions.ListChanged += ActionsOnListChanged;

            Name = Transition.Name;

            Criteria = new CriteriaTransitionViewModel(this, _messageBoxService);

            OkCommand = new RelayCommand(Ok);
            _dirtyService.MarkClean();


            RecalculateConditionText();

            Criteria.PropertyChanged += CriteriaPropertyChanged;

            if (Criteria.RootCondition != null)
            {
                Criteria.RootCondition.ConditionChanged += RootConditionChanged;
            }
        }
        public XamlWithBindingPage()
        {
            InitializeComponent();

            BindingContext = _vm = new TransitionViewModel();
        }
Пример #7
0
 public TransitionPropertyGridSource(TransitionViewModel transitionViewModel)
 {
     _transitionViewModel = transitionViewModel ?? throw new ArgumentNullException(nameof(transitionViewModel));
 }