GetValues() public method

public GetValues ( ) : object>.Dictionary
return object>.Dictionary
Ejemplo n.º 1
0
        public override void Execute(object parameter)
        {
            patchModel.ClearQueryError();

            AskUser.ConfirmationAsync("Patch Documents", "Are you sure you want to apply this patch to all selected documents?")
            .ContinueWhenTrueInTheUIThread(() =>
            {
                var values = patchModel.GetValues();
                if (values == null)
                {
                    return;
                }
                var request = new ScriptedPatchRequest {
                    Script = patchModel.Script.CurrentSnapshot.Text, Values = values
                };
                var selectedItems = patchModel.QueryResults.ItemSelection.GetSelectedItems();
                var commands      = new ICommandData[selectedItems.Count()];
                var counter       = 0;

                foreach (var item in selectedItems)
                {
                    commands[counter] = new ScriptedPatchCommandData
                    {
                        Patch = request,
                        Key   = item.Item.Id
                    };

                    counter++;
                }

                ApplicationModel.Database.Value.AsyncDatabaseCommands
                .BatchAsync(commands)
                .ContinueOnUIThread(t => { if (t.IsFaulted)
                                           {
                                               patchModel.HandlePatchError(t.Exception);
                                           }
                                    })
                .ContinueOnSuccessInTheUIThread(() => ApplicationModel.Database.Value
                                                .AsyncDatabaseCommands
                                                .GetAsync(patchModel.SelectedItem)
                                                .ContinueOnSuccessInTheUIThread(doc =>
                {
                    if (doc != null)
                    {
                        patchModel.OriginalDoc.SetText(doc.ToJson().ToString());
                        patchModel.NewDoc.SetText("");
                        patchModel.ShowAfterPrompt = true;
                    }
                    else
                    {
                        patchModel.OriginalDoc.SetText("");
                        patchModel.NewDoc.SetText("");
                        patchModel.ShowAfterPrompt          = true;
                        patchModel.ShowBeforeAndAfterPrompt = true;
                    }
                }));
            });
        }
Ejemplo n.º 2
0
        public override void Execute(object parameter)
        {
            AskUser.ConfirmationAsync("Patch Documents", "Are you sure you want to apply this patch to all matching documents?")
            .ContinueWhenTrueInTheUIThread(() =>
            {
                var values = patchModel.GetValues();
                if (values == null)
                {
                    return;
                }
                var request = new ScriptedPatchRequest {
                    Script = patchModel.Script.CurrentSnapshot.Text, Values = values
                };

                switch (patchModel.PatchOn)
                {
                case PatchOnOptions.Document:
                    var commands = new ICommandData[1];
                    commands[0]  = new ScriptedPatchCommandData
                    {
                        Patch = request,
                        Key   = patchModel.SelectedItem
                    };

                    ApplicationModel.Database.Value.AsyncDatabaseCommands.BatchAsync(commands).Catch().
                    ContinueOnSuccessInTheUIThread(
                        () => ApplicationModel.Database.Value.AsyncDatabaseCommands.GetAsync(patchModel.SelectedItem).
                        ContinueOnSuccessInTheUIThread(
                            doc =>
                    {
                        patchModel.OriginalDoc.SetText(doc.ToJson().ToString());
                        patchModel.NewDoc.SetText("");
                        patchModel.ShowAfterPrompt = true;
                    }));
                    break;

                case PatchOnOptions.Collection:
                    ApplicationModel.Database.Value.AsyncDatabaseCommands.UpdateByIndex(PatchModel.CollectionsIndex,
                                                                                        new IndexQuery {
                        Query = "Tag:" + patchModel.SelectedItem
                    }, request)
                    .ContinueOnSuccessInTheUIThread(() => patchModel.UpdateCollectionSource())
                    .Catch();
                    break;

                case PatchOnOptions.Index:
                    ApplicationModel.Database.Value.AsyncDatabaseCommands.UpdateByIndex(patchModel.SelectedItem, new IndexQuery()
                    {
                        Query = patchModel.QueryDoc.CurrentSnapshot.Text
                    },
                                                                                        request)
                    .ContinueOnSuccessInTheUIThread(() => patchModel.UpdateCollectionSource())
                    .Catch();
                    break;
                }
            });
        }
Ejemplo n.º 3
0
        public override void Execute(object parameter)
        {
            var values = patchModel.GetValues();

            if (values == null)
            {
                return;
            }
            var request = new ScriptedPatchRequest {
                Script = patchModel.Script.CurrentSnapshot.Text, Values = values
            };
            var commands = new ICommandData[1];

            switch (patchModel.PatchOn)
            {
            case PatchOnOptions.Document:
                ApplicationModel.Database.Value.AsyncDatabaseCommands.GetAsync(patchModel.SelectedItem).
                ContinueOnSuccessInTheUIThread(doc => patchModel.OriginalDoc.SetText(doc.ToJson().ToString()));

                commands[0] = new ScriptedPatchCommandData
                {
                    Patch     = request,
                    Key       = patchModel.SelectedItem,
                    DebugMode = true
                };

                ApplicationModel.Database.Value.AsyncDatabaseCommands.BatchAsync(commands)
                .ContinueOnSuccessInTheUIThread(batch => patchModel.NewDoc.SetText(batch[0].AdditionalData.ToString())).Catch();
                break;

            case PatchOnOptions.Collection:
            case PatchOnOptions.Index:
                var selectedItem = patchModel.QueryResults.ItemSelection.GetSelectedItems().FirstOrDefault();
                if (selectedItem == null || !selectedItem.IsRealized)
                {
                    return;
                }

                patchModel.OriginalDoc.SetText(selectedItem.Item.Document.ToJson().ToString());
                var docId = selectedItem.Item.Document.Key;

                commands[0] = new ScriptedPatchCommandData
                {
                    Patch     = request,
                    Key       = docId,
                    DebugMode = true
                };

                ApplicationModel.Database.Value.AsyncDatabaseCommands.BatchAsync(commands)
                .ContinueOnSuccessInTheUIThread(batch => patchModel.NewDoc.SetText(batch[0].AdditionalData.ToString())).Catch();
                break;
            }

            patchModel.ShowBeforeAndAfterPrompt = false;
            patchModel.ShowAfterPrompt          = false;
        }