Esempio n. 1
0
        private void RegisterCommands()
        {
            AddNewParameterCommand = new RelayCommandHandled((input) =>
            {
                var instance = new MethodParameterViewModel();
                var model    = instance.ToGenericInputModel("Add new parmeter", _typesAttribute.ToArray());
                var window   = new GenericInputFormWindow(model);
                window.ShowDialog();
                if (window.Response == WindowResponse.OK)
                {
                    instance.UpdateDataFromDictionary(window.Values);
                    Parameters.Add(instance);
                    UpdateListToCollection(Parameters, ParametersCollection);
                    _view.RaiseOnModifiedListEvent(Parameters);
                }
            });

            ModifyNewParameterCommand = new RelayCommandHandled((input) =>
            {
                var instance = SelectedParameter;
                var model    = instance.ToGenericInputModel("Modify parmeter", _typesAttribute.ToArray());
                var window   = new GenericInputFormWindow(model);
                window.ShowDialog();
                if (window.Response == WindowResponse.OK)
                {
                    instance.UpdateDataFromDictionary(window.Values);
                    UpdateListToCollection(Parameters, ParametersCollection);
                    _view.RaiseOnModifiedListEvent(Parameters);
                }
            }, (input) => { return(SelectedParameter != null); });

            RemoveParameterCommand = new RelayCommandHandled((input) =>
            {
                RaiseOkCancelDialog("Confirm the remove?", "Remove", () =>
                {
                    Parameters.Remove(SelectedParameter);
                    UpdateListToCollection(Parameters, ParametersCollection);
                });
                _view.RaiseOnModifiedListEvent(Parameters);
            }, (input) => { return(SelectedParameter != null); });

            MoveUpParameterCommand = new RelayCommandHandled((input) =>
            {
                var oldSelectedParameter = SelectedParameter;
                var items  = Parameters;
                Parameters = Parameters.MoveItemUp(SelectedParameter).ToList();
                UpdateListToCollection(Parameters, ParametersCollection);
                SelectedParameter = ParametersCollection.First(k => k.Name == oldSelectedParameter.Name);
                _view.RaiseOnModifiedListEvent(Parameters);
            }, (input) => { return(SelectedParameter != null && SelectedParameter != ParametersCollection.First()); });

            MoveDownParameterCommand = new RelayCommandHandled((input) =>
            {
                var oldSelectedParameter = SelectedParameter;
                var items  = Parameters;
                Parameters = Parameters.MoveItemDown(SelectedParameter).ToList();
                UpdateListToCollection(Parameters, ParametersCollection);
                SelectedParameter = ParametersCollection.First(k => k.Name == oldSelectedParameter.Name);
                _view.RaiseOnModifiedListEvent(Parameters);
            }, (input) => { return(SelectedParameter != null && SelectedParameter != ParametersCollection.Last()); });


            RegisterCommand(AddNewParameterCommand);
            RegisterCommand(ModifyNewParameterCommand);
            RegisterCommand(RemoveParameterCommand);
            RegisterCommand(MoveUpParameterCommand);
            RegisterCommand(MoveDownParameterCommand);
        }
Esempio n. 2
0
 public void Initialize(GenericInputFormWindow view, GenericFormModel model)
 {
     Model = model ?? throw new ArgumentNullException(nameof(model));
     _view = view;
 }