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); }
private void InitializeCommands() { ListViewModeCommand = new RelayCommandHandled((data) => { CurrentViewType = ViewType.List; SetGridMode(CurrentEntity); }, (data) => { return(CurrentViewType == ViewType.Detail); }); RegisterCommand(ListViewModeCommand); }
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); }
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); }
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); }