示例#1
0
        private InterceptorPipeline EnsurePipeline(IInvocation invocation)
        {
            var pipeline = _pipelineManager.GetPipeline(invocation.Request.Method);

            if (pipeline == InterceptorPipeline.Empty)
            {
                _pipelineManager.InitializePipeline(invocation.Request.Target.GetType(), _container);
                pipeline = _pipelineManager.GetPipeline(invocation.Request.Method);
            }
            return(pipeline);
        }
示例#2
0
        public override void Execute(object parameter)
        {
            var context = parameter as LanguageViewerContext;

            if (context == null)
            {
                return;
            }

            var selectedItem = context.LanguageViewer.LanguageList.SelectedItem as LanguageViewer.LanguageDescriptor;

            if (selectedItem == null)
            {
                return;
            }

            if (AppHost.MessageBox(string.Format(Resources.Delete_Execute_Are_you_sure_you_want_to_delete___0___, selectedItem.DisplayName), Resources.Confirmation, MessageBoxButton.OKCancel, MessageBoxImage.Exclamation) != MessageBoxResult.OK)
            {
                return;
            }

            var pipeline = PipelineManager.GetPipeline <DeleteItemPipeline>();

            pipeline.ItemUri     = selectedItem.ItemUri;
            pipeline.DeleteFiles = false;

            pipeline.Start();

            context.LanguageViewer.LoadLanguages();
        }
示例#3
0
        protected override bool Renamed(string newName)
        {
            Diagnostics.Debug.ArgumentNotNull(newName, nameof(newName));

            var pipeline = PipelineManager.GetPipeline <RenameItemPipeline>();

            pipeline.NewName = newName;
            pipeline.ItemUri = ItemUri;

            pipeline.Start();

            if (pipeline.IsRenamed)
            {
                Item.Name = newName;

                /*
                 * var itemUri = this.ItemUri;
                 * var parent = this.Parent as BaseTreeViewItem;
                 *
                 * if (parent != null)
                 * {
                 * var treeView = parent.GetAncestor<ItemTreeView>();
                 *
                 * if (treeView != null)
                 * {
                 * parent.Refresh();
                 * parent.ExpandAndWait();
                 * treeView.ExpandTo(itemUri);
                 * }
                 * }
                 */
            }

            return(pipeline.IsRenamed);
        }
示例#4
0
        void ICanDelete.Delete(bool deleteFiles)
        {
            var pipeline = PipelineManager.GetPipeline <DeleteItemPipeline>();

            pipeline.ItemUri     = ItemUri;
            pipeline.DeleteFiles = deleteFiles;

            pipeline.Start();
        }
        public void Duplicate()
        {
            var pipeline = PipelineManager.GetPipeline <DuplicateItemPipeline>();

            pipeline.TreeViewItem = this;
            pipeline.ItemUri      = ItemUri;
            pipeline.NewName      = Text;

            pipeline.Start();
        }
示例#6
0
        public T Execute <T>([NotNull] Action <T> initialize) where T : Pipeline <T>
        {
            Assert.ArgumentNotNull(initialize, nameof(initialize));

            var pipeline = PipelineManager.GetPipeline <T>();

            initialize(pipeline);

            pipeline.Start();

            return(pipeline);
        }
示例#7
0
        public void Fix(ValidationDescriptor validationDescriptor)
        {
            Assert.ArgumentNotNull(validationDescriptor, nameof(validationDescriptor));

            var name = Parse(validationDescriptor.Problem);

            if (AppHost.MessageBox(string.Format(Resources.Delete_Execute_Are_you_sure_you_want_to_delete___0___, name), Resources.Confirmation, MessageBoxButton.OKCancel, MessageBoxImage.Exclamation) != MessageBoxResult.OK)
            {
                return;
            }

            var pipeline = PipelineManager.GetPipeline <DeleteItemPipeline>();

            pipeline.ItemUri     = validationDescriptor.ItemUri.ItemUri;
            pipeline.DeleteFiles = false;

            pipeline.Start();
        }
        public void Fix(ValidationDescriptor validationDescriptor)
        {
            Assert.ArgumentNotNull(validationDescriptor, nameof(validationDescriptor));

            var itemName = ParseItemName(validationDescriptor);

            if (AppHost.MessageBox(string.Format("Are you sure you want to delete '{0}'?", itemName), "Confirmation", MessageBoxButton.OKCancel, MessageBoxImage.Exclamation) != MessageBoxResult.OK)
            {
                return;
            }

            var pipeline = PipelineManager.GetPipeline <DeleteItemPipeline>();

            pipeline.ItemUri     = validationDescriptor.ItemUri.ItemUri;
            pipeline.DeleteFiles = false;

            pipeline.Start();
        }
示例#9
0
 public T Get <T>() where T : Pipeline <T>
 {
     return(PipelineManager.GetPipeline <T>());
 }
示例#10
0
 HandlerPipeline IInterceptingProxy.GetPipeline(MethodBase method)
 {
     return(pipelines.GetPipeline(method.MetadataToken));
 }
示例#11
0
 private HandlerPipeline GetPipeline(MethodBase method)
 {
     return(_pipelineManager.GetPipeline(method));
 }
示例#12
0
        public override void Execute(object parameter)
        {
            var context = parameter as ContentTreeContext;

            if (context == null)
            {
                return;
            }

            if (!Clipboard.ContainsText())
            {
                return;
            }

            var item = context.SelectedItems.First() as ItemTreeViewItem;

            if (item == null)
            {
                return;
            }

            string text;

            try
            {
                text = Clipboard.GetText();
            }
            catch
            {
                return;
            }

            if (string.IsNullOrEmpty(text))
            {
                return;
            }

            var items = GetItems(text);

            if (items == null)
            {
                return;
            }

            if (IsCopy)
            {
                var pipeline = PipelineManager.GetPipeline <DragCopyPipeline>();

                pipeline.KeyStates = DragDropKeyStates.None;
                pipeline.Target    = item;
                pipeline.Items     = items;
                pipeline.Position  = ControlDragAdornerPosition.Over;
                pipeline.Confirm   = false;

                pipeline.Start();
            }
            else
            {
                var pipeline = PipelineManager.GetPipeline <DragMovePipeline>();

                pipeline.KeyStates = DragDropKeyStates.None;
                pipeline.Target    = item;
                pipeline.Items     = items;
                pipeline.Position  = ControlDragAdornerPosition.Over;
                pipeline.Confirm   = false;

                pipeline.Start();

                Clipboard.Clear();
            }
        }