Example #1
0
        private void SceneDocument_EditTransactionCompleting(object sender, EventArgs e)
        {
            SceneElement rootElement = this.sceneViewModel.RootNode as SceneElement;

            if (rootElement == null)
            {
                return;
            }
            Enumerable.ToList <AnnotationSceneNode>(Enumerable.Distinct <AnnotationSceneNode>(Enumerable.SelectMany <SceneElement, AnnotationSceneNode>(Enumerable.Select(Enumerable.Where(Enumerable.Select(Enumerable.Where <DocumentNodeChange>(this.sceneViewModel.Damage.CollapsedChangeList, (Func <DocumentNodeChange, bool>)(docChange => docChange.Action == DocumentNodeChangeAction.Remove)), docChange => new
            {
                docChange = docChange,
                element   = this.sceneViewModel.GetSceneNode(docChange.OldChildNode) as SceneElement
            }), param0 => param0.element != null), param0 => param0.element), (Func <SceneElement, IEnumerable <AnnotationSceneNode> >)(elementDeleted => Enumerable.Cast <AnnotationSceneNode>((IEnumerable)this.annotationsSearchPath.Query((SceneNode)elementDeleted)))))).ForEach((Action <AnnotationSceneNode>)(annotation => AnnotationManagerSceneNode.CloneAnnotation(annotation, (SceneNode)rootElement)));
        }