private static void DoBulkUpdate(XrmCrudDialog crudDialog, string newValue, string field) { var bulkUpdateDialog = crudDialog.ChildForms.First() as BulkUpdateDialog; Assert.IsNotNull(bulkUpdateDialog); bulkUpdateDialog.LoadDialog(); var bulkUpdateEntry = bulkUpdateDialog.Controller.UiItems.First() as ObjectEntryViewModel; Assert.IsNotNull(bulkUpdateEntry); bulkUpdateEntry.LoadFormSections(); var fieldField = bulkUpdateEntry.GetRecordFieldFieldViewModel(nameof(BulkUpdateRequest.FieldToSet)); fieldField.Value = fieldField.ItemsSource.First(kv => kv.Key == field); var valueField = bulkUpdateEntry.GetStringFieldFieldViewModel(nameof(BulkUpdateRequest.ValueToSet)); valueField.Value = newValue; bulkUpdateEntry.SaveButtonViewModel.Invoke(); var completionScreen = bulkUpdateDialog.Controller.UiItems.First() as CompletionScreenViewModel; Assert.IsNotNull(completionScreen); completionScreen.CompletionDetails.LoadFormSections(); Assert.IsFalse(completionScreen.CompletionDetails.GetEnumerableFieldViewModel(nameof(BulkUpdateResponse.ResponseItems)).GetGridRecords(false).Records.Any()); completionScreen.CloseButton.Invoke(); Assert.IsFalse(crudDialog.ChildForms.Any()); }
private static void DoBulkDelete(XrmCrudDialog crudDialog, bool doExecuteMultiples = false) { var bulkDeleteDialog = crudDialog.ChildForms.First() as BulkDeleteDialog; Assert.IsNotNull(bulkDeleteDialog); bulkDeleteDialog.LoadDialog(); bulkDeleteDialog.LoadDialog(); var bulkUpdateEntry = bulkDeleteDialog.Controller.UiItems.First() as ObjectEntryViewModel; Assert.IsNotNull(bulkUpdateEntry); var setSizeField = bulkUpdateEntry.GetIntegerFieldFieldViewModel(nameof(BulkUpdateRequest.ExecuteMultipleSetSize)); setSizeField.Value = doExecuteMultiples ? 3 : 1; if (!bulkUpdateEntry.Validate()) { Assert.Fail(bulkUpdateEntry.GetValidationSummary()); } bulkUpdateEntry.SaveButtonViewModel.Invoke(); var completionScreen = bulkDeleteDialog.Controller.UiItems.First() as CompletionScreenViewModel; Assert.IsNotNull(completionScreen); completionScreen.CompletionDetails.LoadFormSections(); Assert.IsFalse(completionScreen.CompletionDetails.GetEnumerableFieldViewModel(nameof(BulkDeleteResponse.ResponseItems)).GetGridRecords(false).Records.Any()); completionScreen.CompletionDetails.CancelButtonViewModel.Invoke(); Assert.IsFalse(crudDialog.ChildForms.Any()); }
private void DoBulkCopyFieldValue(XrmCrudDialog crudDialog, string sourceField, string targetField, bool copyIfNull = false, bool overwriteIfPopulated = false, bool doExecuteMultiples = false) { var bulkUpdateDialog = crudDialog.ChildForms.First() as BulkCopyFieldValueDialog; Assert.IsNotNull(bulkUpdateDialog); bulkUpdateDialog.LoadDialog(); var bulkUpdateEntry = bulkUpdateDialog.Controller.UiItems.First() as ObjectEntryViewModel; Assert.IsNotNull(bulkUpdateEntry); bulkUpdateEntry.LoadFormSections(); var fieldField = bulkUpdateEntry.GetRecordFieldFieldViewModel(nameof(BulkCopyFieldValueRequest.SourceField)); fieldField.Value = fieldField.ItemsSource.First(kv => kv.Key == sourceField); var valueField = bulkUpdateEntry.GetRecordFieldFieldViewModel(nameof(BulkCopyFieldValueRequest.TargetField)); valueField.Value = valueField.ItemsSource.First(kv => kv.Key == targetField); var setSizeField = bulkUpdateEntry.GetIntegerFieldFieldViewModel(nameof(BulkUpdateRequest.ExecuteMultipleSetSize)); setSizeField.Value = doExecuteMultiples ? 3 : 1; bulkUpdateEntry.GetBooleanFieldFieldViewModel(nameof(BulkCopyFieldValueRequest.CopyIfNull)).Value = copyIfNull; bulkUpdateEntry.GetBooleanFieldFieldViewModel(nameof(BulkCopyFieldValueRequest.OverwriteIfPopulated)).Value = overwriteIfPopulated; if (!bulkUpdateEntry.Validate()) { Assert.Fail(bulkUpdateEntry.GetValidationSummary()); } bulkUpdateEntry.SaveButtonViewModel.Invoke(); var completionScreen = bulkUpdateDialog.Controller.UiItems.First() as CompletionScreenViewModel; Assert.IsNotNull(completionScreen); completionScreen.CompletionDetails.LoadFormSections(); Assert.IsFalse(completionScreen.CompletionDetails.GetEnumerableFieldViewModel(nameof(BulkCopyFieldValueResponse.ResponseItems)).GetGridRecords(false).Records.Any()); completionScreen.CompletionDetails.CancelButtonViewModel.Invoke(); Assert.IsFalse(crudDialog.ChildForms.Any()); }
private static void EnterNewRecord(XrmCrudDialog crudDialog) { var entryForm = crudDialog.QueryViewModel.ChildForms.First() as RecordEntryFormViewModel; Assert.IsNotNull(entryForm); entryForm.LoadFormSections(); entryForm.GetStringFieldFieldViewModel(Fields.account_.name).Value = "Test Script Record"; entryForm.SaveButtonViewModel.Invoke(); Assert.IsFalse(crudDialog.QueryViewModel.ChildForms.Any()); }
private static void DoBulkDelete(XrmCrudDialog crudDialog) { var bulkDeleteDialog = crudDialog.ChildForms.First() as BulkDeleteDialog; Assert.IsNotNull(bulkDeleteDialog); bulkDeleteDialog.LoadDialog(); bulkDeleteDialog.LoadDialog(); var bulkUpdateEntry = bulkDeleteDialog.Controller.UiItems.First() as ObjectEntryViewModel; Assert.IsNotNull(bulkDeleteDialog); bulkUpdateEntry.SaveButtonViewModel.Invoke(); var completionScreen = bulkDeleteDialog.Controller.UiItems.First() as CompletionScreenViewModel; Assert.IsNotNull(completionScreen); completionScreen.CompletionDetails.LoadFormSections(); Assert.IsFalse(completionScreen.CompletionDetails.GetEnumerableFieldViewModel(nameof(BulkDeleteResponse.ResponseItems)).GetGridRecords(false).Records.Any()); completionScreen.CloseButton.Invoke(); Assert.IsFalse(crudDialog.ChildForms.Any()); }
private static void DoBulkReplace(XrmCrudDialog crudDialog, string field, string oldValue, string newValue, bool doExecuteMultiples = false) { var bulkUpdateDialog = crudDialog.ChildForms.First() as BulkReplaceDialog; Assert.IsNotNull(bulkUpdateDialog); bulkUpdateDialog.LoadDialog(); var bulkUpdateEntry = bulkUpdateDialog.Controller.UiItems.First() as ObjectEntryViewModel; Assert.IsNotNull(bulkUpdateEntry); bulkUpdateEntry.LoadFormSections(); var fieldGrid = bulkUpdateEntry.GetEnumerableFieldViewModel(nameof(BulkReplaceRequest.FieldsToReplace)); fieldGrid.AddRow(); var fieldSelection = fieldGrid.GridRecords.First().GetRecordFieldFieldViewModel(nameof(BulkReplaceRequest.FieldToReplace.RecordField)); fieldSelection.Value = fieldSelection.ItemsSource.First(kv => kv.Key == field); var replacementsGrid = bulkUpdateEntry.GetEnumerableFieldViewModel(nameof(BulkReplaceRequest.ReplacementTexts)); replacementsGrid.AddRow(); replacementsGrid.GridRecords.First().GetStringFieldFieldViewModel(nameof(BulkReplaceRequest.ReplacementText.OldText)).Value = oldValue; replacementsGrid.GridRecords.First().GetStringFieldFieldViewModel(nameof(BulkReplaceRequest.ReplacementText.NewText)).Value = newValue; var setSizeField = bulkUpdateEntry.GetIntegerFieldFieldViewModel(nameof(BulkReplaceRequest.ExecuteMultipleSetSize)); setSizeField.Value = doExecuteMultiples ? 3 : 1; if (!bulkUpdateEntry.Validate()) { Assert.Fail(bulkUpdateEntry.GetValidationSummary()); } bulkUpdateEntry.SaveButtonViewModel.Invoke(); var completionScreen = bulkUpdateDialog.Controller.UiItems.First() as CompletionScreenViewModel; Assert.IsNotNull(completionScreen); completionScreen.CompletionDetails.LoadFormSections(); Assert.IsFalse(completionScreen.CompletionDetails.GetEnumerableFieldViewModel(nameof(BulkReplaceResponse.ResponseItems)).GetGridRecords(false).Records.Any()); completionScreen.CompletionDetails.CancelButtonViewModel.Invoke(); Assert.IsFalse(crudDialog.ChildForms.Any()); }