Пример #1
0
        private async Task <object?> PublishIdempotentAsync(SchemaCommand command)
        {
            var result = await PublishAsync(command);

            var previousSnapshot = sut.Snapshot;
            var previousVersion  = sut.Snapshot.Version;

            await PublishAsync(command);

            Assert.Same(previousSnapshot, sut.Snapshot);
            Assert.Equal(previousVersion, sut.Snapshot.Version);

            return(result);
        }
Пример #2
0
        private async Task <object?> PublishAsync(SchemaCommand command)
        {
            var result = await sut.ExecuteAsync(CreateCommand(command));

            return(result.Value);
        }
Пример #3
0
        private void CreateCommands()
        {
            DocumentCommands.Clear();

            // Commands to ToolStrip
            ICommand copyCommand    = new CopyCommand(this);
            ICommand pasteCommand   = new PasteCommand(this);
            ICommand cutCommand     = new CutCommand(this);
            ICommand bindingCommand = new CommonBindingCommand(this);

            var blankBitmap = new System.Drawing.Bitmap(10, 10);

            // Commands to ToolStrip
            DocumentCommands.Add(new CommandInfo(new NullCommand((int)CommandManager.Priorities.EditCommands),
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); // Separator
            DocumentCommands.Add(new CommandInfo(_undoCommand = new UndoCommand(this),
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar }));
            DocumentCommands.Add(new CommandInfo(_redoCommand = new RedoCommand(this),
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar }));
            DocumentCommands.Add(new CommandInfo(new NullCommand((int)CommandManager.Priorities.EditCommands),
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); // Separator
            DocumentCommands.Add(new CommandInfo(cutCommand,
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar }));
            DocumentCommands.Add(new CommandInfo(copyCommand,
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar }));
            DocumentCommands.Add(new CommandInfo(pasteCommand,
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar }));
            DocumentCommands.Add(new CommandInfo(new NullCommand((int)CommandManager.Priorities.EditCommands),
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); // Separator
            DocumentCommands.Add(new CommandInfo(new XamlViewCommand(this),
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar }));
            DocumentCommands.Add(new CommandInfo(new GroupCommand(this),
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar }));
            DocumentCommands.Add(new CommandInfo(new UngroupCommand(this),
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar }));
            DocumentCommands.Add(new CommandInfo(new NullCommand((int)CommandManager.Priorities.EditCommands),
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); // Separator

            DocumentCommands.Add(new CommandInfo(new ZMoveTopCommand(this),
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar }));
            DocumentCommands.Add(new CommandInfo(new ZMoveBottomCommand(this),
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar }));
            DocumentCommands.Add(new CommandInfo(new NullCommand((int)CommandManager.Priorities.EditCommands),
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar })); // Separator
            DocumentCommands.Add(new CommandInfo(bindingCommand,
                                                 new string[] { "DocumentContext", PredefinedContexts.GlobalToolbar }));


            DocumentCommands.Add(new CommandInfo(new NullCommand((int)CommandManager.Priorities.ViewCommands),
                                                 new string[] { "ViewContext" }));
            DocumentCommands.Add(new CommandInfo(new ZoomLevelCommand(this),
                                                 new string[] { "ViewContext" }));
            DocumentCommands.Add(new CommandInfo(new ZoomOutCommand(this),
                                                 new string[] { "ViewContext" }));
            DocumentCommands.Add(new CommandInfo(new ZoomInCommand(this),
                                                 new string[] { "ViewContext" }));

            /*DocumentCommands.Add(new CommandInfo(cutCommand, _documentMenuContext));
             * DocumentCommands.Add(new CommandInfo(copyCommand, _documentMenuContext));
             * DocumentCommands.Add(new CommandInfo(pasteCommand, _documentMenuContext));
             * DocumentCommands.Add(new CommandInfo(bindingCommand, _documentMenuContext));
             * */
            DocumentCommands.Add(new CommandInfo(new ImportElementCommand(this),
                                                 new string[] { "FileContext" }));


            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.ToolSelection,
                                                     StringResources.ToolEditorGroupName,
                                                     global::FreeSCADA.Designer.Resources.cursor,
                                                     typeof(SelectionTool)),
                                     new string[] { "ToolboxContext" }));

            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.ToolRectangle,
                                                     StringResources.ToolGrphicsGroupName,
                                                     global::FreeSCADA.Designer.Resources.shape_square_add,
                                                     typeof(RectangleTool)),
                                     new string[] { "ViewContext" }));

            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.ToolEllipse,
                                                     StringResources.ToolGrphicsGroupName,
                                                     global::FreeSCADA.Designer.Resources.shape_ellipse_add,
                                                     typeof(EllipseTool)),
                                     new string[] { "ToolboxContext" }));

            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.ToolTextbox,
                                                     StringResources.ToolGrphicsGroupName,
                                                     global::FreeSCADA.Designer.Resources.textfield_add,
                                                     typeof(TextBoxTool)),
                                     new string[] { "ToolboxContext" }));

            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.ToolPolyline,
                                                     StringResources.ToolGrphicsGroupName,
                                                     global::FreeSCADA.Designer.Resources.shape_line_add,
                                                     typeof(PolylineTool)),
                                     new string[] { "ToolboxContext" }));
            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.ToolPolygon,
                                                     StringResources.ToolGrphicsGroupName,
                                                     global::FreeSCADA.Designer.Resources.shape_line_add,
                                                     typeof(PolygonTool)),
                                     new string[] { "ToolboxContext" }));

            /*DocumentCommands.Add(new CommandInfo(
             *  new ToolCommand(this,
             *      StringResources.ToolActionEdit,
             *      StringResources.ToolEditorGroupName,
             *      global::FreeSCADA.Designer.Resources.cog_edit,
             *      typeof(ActionEditTool)),
             *      CommandManager.toolboxContext));*/

            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.ToolButton,
                                                     StringResources.ToolControlsGroupName,
                                                     blankBitmap,
                                                     typeof(ControlCreateTool <System.Windows.Controls.Button>)),
                                     new string[] { "ToolboxContext" }));

            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.ToolToggleButton,
                                                     StringResources.ToolControlsGroupName,
                                                     blankBitmap,
                                                     typeof(ControlCreateTool <System.Windows.Controls.Primitives.ToggleButton>)),
                                     new string[] { "ToolboxContext" }));

            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.ToolProgressbar,
                                                     StringResources.ToolControlsGroupName,
                                                     blankBitmap,
                                                     typeof(ControlCreateTool <System.Windows.Controls.ProgressBar>)),
                                     new string[] { "ToolboxContext" }));

            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.ToolScrollbar,
                                                     StringResources.ToolControlsGroupName,
                                                     blankBitmap,
                                                     typeof(ControlCreateTool <System.Windows.Controls.Primitives.ScrollBar>)),
                                     new string[] { "ToolboxContext" }));

            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.ToolImageControl,
                                                     StringResources.ToolControlsGroupName,
                                                     blankBitmap,
                                                     typeof(ControlCreateTool <FreeSCADA.Common.Schema.AnimatedImage>)),
                                     new string[] { "ToolboxContext" }));

            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.ToolSlider,
                                                     StringResources.ToolControlsGroupName,
                                                     blankBitmap,
                                                     typeof(ControlCreateTool <System.Windows.Controls.Slider>)),
                                     new string[] { "ToolboxContext" }));

            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.CheckBox,
                                                     StringResources.ToolControlsGroupName,
                                                     blankBitmap,
                                                     typeof(ControlCreateTool <System.Windows.Controls.CheckBox>)),
                                     new string[] { "ToolboxContext" }));

            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.TextBox,
                                                     StringResources.ToolControlsGroupName,
                                                     blankBitmap,
                                                     typeof(ControlCreateTool <System.Windows.Controls.TextBox>)),
                                     new string[] { "ToolboxContext" }));

            DocumentCommands.Add(new CommandInfo(
                                     new ToolCommand(this,
                                                     StringResources.ToolChart,
                                                     StringResources.ToolControlsGroupName,
                                                     blankBitmap,
                                                     typeof(ControlCreateTool <TimeChartControl>)),
                                     new string[] { "ToolboxContext" }));
        }