Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / DeleteHelper.cs / 1305376 / DeleteHelper.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation { using System.Activities.Presentation.Model; using System.Activities.Presentation.View; using System.Collections.Generic; using System.Linq; static class DeleteHelper { public static bool CanDelete(EditingContext context) { if (context == null) { throw FxTrace.Exception.AsError(new ArgumentNullException("context")); } bool canExecute = false; Selection selection = context.Items.GetValue(); if (null != selection && selection.SelectionCount > 0) { DesignerView designerView = context.Services.GetService (); canExecute = selection.SelectedObjects.All( p => (null != p.View && p.View is WorkflowViewElement && !p.View.Equals(designerView.RootDesigner))); } return canExecute; } public static void Delete(EditingContext context) { if (context == null) { throw FxTrace.Exception.AsError(new ArgumentNullException("context")); } Selection selection = context.Items.GetValue (); if (null != selection) { bool selectRoot = false; DesignerView designerView = context.Services.GetService (); var toDelete = selection.SelectedObjects.Where(p => null != p.View && p.View is WorkflowViewElement && !p.View.Equals(designerView.RootDesigner)); if (toDelete.Count() > 0) { using (EditingScope es = (EditingScope)toDelete.FirstOrDefault().BeginEdit(SR.DeleteOperationEditingScopeDescription)) { Dictionary > containerToModelItemsDict = new Dictionary >(); List modelItemsPerContainer; foreach (var item in toDelete) { ICompositeView container = (ICompositeView)DragDropHelper.GetCompositeView((WorkflowViewElement)item.View); if (null != item.Parent && typeof(ActivityAction).IsAssignableFrom(item.Parent.ItemType)) { item.Parent.Properties["Handler"].ClearValue(); selectRoot = true; } else if (null != container) { if (!containerToModelItemsDict.TryGetValue(container, out modelItemsPerContainer)) { modelItemsPerContainer = new List (); containerToModelItemsDict.Add(container, modelItemsPerContainer); } modelItemsPerContainer.Add(item); } } foreach (ICompositeView container in containerToModelItemsDict.Keys) { container.OnItemsDelete(containerToModelItemsDict[container]); selectRoot = true; } if (selectRoot) { DesignerView view = context.Services.GetService (); if (null != view) { WorkflowViewElement rootView = view.RootDesigner as WorkflowViewElement; if (rootView != null) { Selection.SelectOnly(context, rootView.ModelItem); } } } es.Complete(); } } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CompilerGeneratedAttribute.cs
- TextTrailingCharacterEllipsis.cs
- RemotingConfigParser.cs
- SourceSwitch.cs
- ItemCollectionEditor.cs
- FontCollection.cs
- GC.cs
- MediaElementAutomationPeer.cs
- Clipboard.cs
- Literal.cs
- WebPartDisplayModeCancelEventArgs.cs
- AesCryptoServiceProvider.cs
- MetadataItem.cs
- TimeSpanFormat.cs
- TextDecoration.cs
- TimelineCollection.cs
- ClientBuildManager.cs
- TableProvider.cs
- SchemaImporterExtensionElement.cs
- DocumentEventArgs.cs
- EmptyEnumerator.cs
- AsymmetricSignatureFormatter.cs
- ObsoleteAttribute.cs
- ColumnMapVisitor.cs
- ToolStripContainer.cs
- DeclarativeCatalogPart.cs
- OrderPreservingPipeliningSpoolingTask.cs
- UpdatePanelTriggerCollection.cs
- SafeProcessHandle.cs
- SHA512Managed.cs
- InfoCardTrace.cs
- GeneralTransformGroup.cs
- GridViewRowEventArgs.cs
- SchemaName.cs
- CachedRequestParams.cs
- ActivityDesignerAccessibleObject.cs
- TemplatedWizardStep.cs
- VectorAnimationUsingKeyFrames.cs
- DbConnectionPoolGroupProviderInfo.cs
- PromptBuilder.cs
- InfoCardRSACryptoProvider.cs
- SiteMembershipCondition.cs
- Vector3DCollectionValueSerializer.cs
- PolyBezierSegmentFigureLogic.cs
- OleDbParameter.cs
- VersionedStreamOwner.cs
- ExpressionTable.cs
- RootContext.cs
- EditorZoneBase.cs
- RequestSecurityTokenResponse.cs
- Compiler.cs
- RegexCode.cs
- GeneralTransform.cs
- ValidationHelpers.cs
- DataGridViewComboBoxEditingControl.cs
- SignerInfo.cs
- AuthStoreRoleProvider.cs
- _WebProxyDataBuilder.cs
- DataServiceKeyAttribute.cs
- RowsCopiedEventArgs.cs
- SendKeys.cs
- FocusTracker.cs
- ElementHostAutomationPeer.cs
- SecureConversationVersion.cs
- ComplexPropertyEntry.cs
- Inline.cs
- UdpDiscoveryEndpointElement.cs
- ReaderWriterLockWrapper.cs
- CursorInteropHelper.cs
- PermissionSetTriple.cs
- DocumentsTrace.cs
- KeyProperty.cs
- CacheMemory.cs
- ArraySegment.cs
- MetafileHeaderWmf.cs
- UiaCoreTypesApi.cs
- DataSourceCacheDurationConverter.cs
- Animatable.cs
- ReadOnlyDataSource.cs
- RuntimeConfigLKG.cs
- ConfigurationManagerHelper.cs
- UIElementIsland.cs
- AsymmetricKeyExchangeDeformatter.cs
- Win32MouseDevice.cs
- StringDictionaryCodeDomSerializer.cs
- LoadRetryAsyncResult.cs
- mediaclock.cs
- TypeUtils.cs
- AuthenticationConfig.cs
- ParseChildrenAsPropertiesAttribute.cs
- PrintControllerWithStatusDialog.cs
- NumberFormatInfo.cs
- CultureInfoConverter.cs
- XPathSelectionIterator.cs
- TextAction.cs
- DataErrorValidationRule.cs
- DbParameterCollectionHelper.cs
- HtmlHead.cs
- PropertyMetadata.cs
- AnnotationStore.cs