예제 #1
0
        private void InitializeCommands()
        {
            EditCommand = new RelayCommandHandled((input) =>
            {
                var finderRecord = new GenericRecordFinderWindow(GenericManager, Domain.LogicalName, Guid.Empty, UseCase.LogicalName);
                finderRecord.ShowDialog();
                if (finderRecord.Response == DD.Lab.Wpf.Windows.WindowResponse.OK)
                {
                    var record  = finderRecord.ResponseValue;
                    var useCase = Entity.DictionartyToEntity <UseCase>(record.Values);
                    UpdatedExecuteUseCaseSentence(useCase);
                }
            });

            ManageInputsCommand = new RelayCommandHandled((input) =>
            {
                var parameters = GenericManager.ParserService.Clone <List <MethodParameterReferenceValueViewModel> >
                                     (BasicSentence.ReferencedInputParametersValues);

                var window = new InputParameterSelectorWindow(
                    GenericManager,
                    BasicSentence.InputParameters,
                    ParentInputParameters,
                    parameters);
                window.ShowDialog();
                if (window.Response == DD.Lab.Wpf.Windows.WindowResponse.OK)
                {
                    var response = window.OutputMethodInputParametersReferenceValues;
                    UpdatedExecuteUseCaseSentenceInputParameters(response);
                }
            });

            RegisterCommand(ManageInputsCommand);
            RegisterCommand(EditCommand);
        }
예제 #2
0
 private void InitializeCommands()
 {
     ListViewModeCommand = new RelayCommandHandled((data) =>
     {
         CurrentViewType = ViewType.List;
         SetGridMode(CurrentEntity);
     },
                                                   (data) =>
     {
         return(CurrentViewType == ViewType.Detail);
     });
     RegisterCommand(ListViewModeCommand);
 }
예제 #3
0
        private void InitializeCommands()
        {
            SaveCommand = new RelayCommandHandled((data) =>
            {
                if (Mode == DetailMode.Creating)
                {
                    var id = GenericManager.Create(Entity.LogicalName, Values);
                    //var newData = GenericManager.Retrieve(Entity.LogicalName, id);
                    //Id = id;
                    //Values = newData.Values;
                    //Mode = DetailMode.Updating;
                    GenericEventManager.RaiseOnCreatedEntity(Entity, id);
                }
                else if (Mode == DetailMode.Updating)
                {
                    GenericManager.Update(Entity.LogicalName, Id, Values);
                    GenericEventManager.RaiseOnUpdatedEntity(Entity, Id, Values);
                }
            },
                                                  (data) =>
            {
                return(IsCompleted);
            });

            DeleteCommand = new RelayCommandHandled((data) =>
            {
                var dialog = new OkCancelMessageBox("Confirm the delete? This operation cannot be undone", "Delete operation");
                dialog.ShowDialog();
                if (dialog.Response == OkCancelMessageBox.InputTextBoxResponse.OK)
                {
                    GenericManager.Delete(Entity.LogicalName, Id);
                    GenericEventManager.RaiseOnDeletedEntity(Entity, Id);
                }
            },
                                                    (data) =>
            {
                return(Mode == DetailMode.Updating);
            });

            RegisterCommand(SaveCommand);
            RegisterCommand(DeleteCommand);
        }
예제 #4
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);
        }
예제 #5
0
        private void InitializeCommands()
        {
            CreateCommand = new RelayCommandHandled((data) =>
            {
                GenericEventManager.RaiseOnCreateRequested(Entity);
            });

            AddNewRelatedCommand = new RelayCommandHandled((data) =>
            {
                var initialValues = new Dictionary <string, object>();
                initialValues.Add(FilterRelationship.RelatedAttribute, new EntityReferenceValue()
                {
                    Id          = FilterRelationshipId,
                    LogicalName = FilterRelationship.RelatedEntity,
                    DisplayName = FilterRelationshipRecordDisplayName,
                });
                GenericEventManager.RaiseOnCreateRequested(Entity, initialValues);
            });

            AssociateCommand = new RelayCommandHandled((data) =>
            {
                var availableValues            = GenericManager.RetrieveAll(FirstEntityAssociation);
                var availablesEntityReferences = availableValues
                                                 .Values
                                                 .Select(k => new EntityReferenceValue()
                {
                    Id = k.Id, LogicalName = FirstEntityAssociation, DisplayName = (string)k.Values["Name"]
                })
                                                 .ToList();

                var initialEntityReferences = DataSetModel
                                              .Values
                                              .Select(k => new EntityReferenceValue()
                {
                    Id = k.Id, LogicalName = FirstEntityAssociation, DisplayName = (string)k.Values["Name"]
                })
                                              .ToList();

                var associateWindow = new MultipleAssociationWindow(
                    $"Associate {FirstEntityAssociation}(s) to this {SecondEntityAssociation}",
                    "Association",
                    availablesEntityReferences,
                    initialEntityReferences);

                associateWindow.ShowDialog();
                var response = associateWindow.Response;
                if (response == MultipleAssociationWindow.MultipleAssociationResponse.OK)
                {
                    var firstRecordEntityLogicalName  = Entity.LogicalName;
                    var secondRecordEntityLogicalName = firstRecordEntityLogicalName == FilterRelationship.MainEntity
                        ? FilterRelationship.RelatedEntity
                        : FilterRelationship.MainEntity;

                    var selectedValues = associateWindow.SelectedValues;
                    foreach (var item in initialEntityReferences)
                    {
                        GenericManager.Disassociate(secondRecordEntityLogicalName, FilterRelationshipId, FilterRelationship.IntersectionName, firstRecordEntityLogicalName, item.Id);
                    }
                    foreach (var item in selectedValues)
                    {
                        GenericManager.Associate(secondRecordEntityLogicalName, FilterRelationshipId, FilterRelationship.IntersectionName, firstRecordEntityLogicalName, item.Id);
                    }
                    GetValues();
                }
            });

            RegisterCommand(AddNewRelatedCommand);
            RegisterCommand(CreateCommand);
            RegisterCommand(AssociateCommand);
        }