Exemplo n.º 1
0
        public RemoveUseCaseEditorParameterCommand(UseCaseEditorControlViewModel vm, ParameterDirection direction)
        {
            Initialize((input) =>
            {
                try
                {
                    var useCaseItem = direction == ParameterDirection.Input
                        ? vm.SelectedInputUseCaseParameter
                        : vm.SelectedOutputUseCaseParameter;

                    if (direction == ParameterDirection.Input)
                    {
                        var parameters = vm.UseCase.InputParameters;
                        parameters.Remove((DataParameterModel)input);
                        vm.UseCase.InputParameters = parameters;
                    }
                    else if (direction == ParameterDirection.Output)
                    {
                        var parameters = vm.UseCase.OutputParameters;
                        parameters.Remove((DataParameterModel)input);
                        vm.UseCase.OutputParameters = parameters;
                    }
                    vm.RaiseCanExecuteCommandChanged();
                }
                catch (Exception ex)
                {
                    vm.RaiseError(ex.Message);
                }
            }, data =>
            {
                return(direction == ParameterDirection.Input && vm.SelectedInputUseCaseParameter != null ||
                       direction == ParameterDirection.Output && vm.SelectedOutputUseCaseParameter != null);
            });
        }
Exemplo n.º 2
0
 public AddUseCaseEditorParameterCommand(UseCaseEditorControlViewModel vm, ParameterDirection direction)
 {
     Initialize((input) =>
     {
         try
         {
             var requestModel = new GenericFormModel("Add new parameter");
             requestModel.AddAttribute(ActionParameterDefinition.TypeValue.String,
                                       Definitions.UseCaseEditorDefinitions.UseCaseModelAttibutes.Type,
                                       "Type",
                                       "Type of the parameter",
                                       DataParameter.GetUseCaseParameterTypesList().ToArray());
             requestModel.AddAttribute(
                 ActionParameterDefinition.TypeValue.String,
                 Definitions.UseCaseEditorDefinitions.UseCaseModelAttibutes.Name,
                 "Name",
                 "Name of the parameter");
             requestModel.AddAttribute(ActionParameterDefinition.TypeValue.String,
                                       Definitions.UseCaseEditorDefinitions.UseCaseModelAttibutes.EnumerableType,
                                       "Enumerable type",
                                       "If type=Enumerable, this is the type of the enumerable",
                                       DataParameter.GetUseCaseParameterTypesList().ToArray());
             requestModel.AddAttribute(
                 ActionParameterDefinition.TypeValue.String,
                 Definitions.UseCaseEditorDefinitions.UseCaseModelAttibutes.DictionaryKeyType,
                 "Dictionary key type",
                 "If type=Dictionary, this is the type of the key",
                 DataParameter.GetUseCaseParameterTypesList().ToArray());
             requestModel.AddAttribute(ActionParameterDefinition.TypeValue.String,
                                       Definitions.UseCaseEditorDefinitions.UseCaseModelAttibutes.DictionaryValueType,
                                       "Dictionary value type",
                                       "If type=Dictionary, this is the type of the value",
                                       DataParameter.GetUseCaseParameterTypesList().ToArray());
             vm.GenericFormRequestId = Guid.NewGuid();
             if (direction == ParameterDirection.Input)
             {
                 vm.CurrentFormInputActionType = UseCaseEditorControlViewModel.ActionType.AddInputParameter;
             }
             else if (direction == ParameterDirection.Output)
             {
                 vm.CurrentFormInputActionType = UseCaseEditorControlViewModel.ActionType.AddOutputParameter;
             }
             vm.EventManager.RaiseOnGenericFormInputRequestedEvent(vm.GenericFormRequestId, requestModel);
             vm.RaiseCanExecuteCommandChanged();
         }
         catch (Exception ex)
         {
             vm.RaiseError(ex.Message);
         }
     }, data =>
     {
         return(direction == ParameterDirection.Input ||
                (direction == ParameterDirection.Output && vm.UseCase?.OutputParameters.Count == 0));
     });
 }