Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Core.Presentation / System / Activities / Presentation / ActivityDesignerHelper.cs / 1305376 / ActivityDesignerHelper.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation { using System.ComponentModel; using System.Activities.Statements; using System.Activities.Presentation.Metadata; using System.Activities.Presentation.Model; using System.Activities.Presentation.View; using System.Activities.Core.Presentation.Themes; using System.Linq; using System.Activities.Core.Presentation; using System.Diagnostics.CodeAnalysis; using System.ServiceModel.Activities; using System.Windows; using System.Runtime; using System.Globalization; static class ActivityDesignerHelper { public const string ChannelBasedCorrelationKey = "ChannelBasedCorrelation"; [SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters", Justification = "This is a TryGet pattern that requires out parameters")] public static bool IsItemInSequence(this ModelItem item, out ModelItem sequence) { if (null == item) { throw FxTrace.Exception.AsError(new ArgumentNullException("item")); } bool result = false; int level = 0; FuncisInSequencePredicate = (p) => { switch (level) { case 0: ++level; return (p is ModelItemCollection); case 1: ++level; result = typeof(Sequence).IsAssignableFrom(p.ItemType); return result; default: return false; }; }; ModelItem container = item.GetParentEnumerator(isInSequencePredicate).LastOrDefault(); sequence = result ? container : null; return result; } [SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters", Justification = "This is a TryGet pattern that requires out parameters")] public static bool IsItemInFlowchart(this ModelItem item, out ModelItem flowchart, out ModelItem flowStep) { if (null == item) { throw FxTrace.Exception.AsError(new ArgumentNullException("item")); } bool result = false; int level = 0; ModelItem flowStepContainer = null; flowchart = null; flowStep = null; Func isInFlowchartPredicate = (p) => { switch (level) { case 0: ++level; flowStepContainer = typeof(FlowStep).IsAssignableFrom(p.ItemType) ? p : null; return null != flowStepContainer; case 1: ++level; return (p is ModelItemCollection); case 2: ++level; result = (typeof(Flowchart).IsAssignableFrom(p.ItemType)); return result; default: return false; } }; ModelItem container = item.GetParentEnumerator(isInFlowchartPredicate).LastOrDefault(); if (result) { flowchart = container; flowStep = flowStepContainer; } return result; } public static bool IsMessagingActivity( this ModelItem item) { if (null == item) { throw FxTrace.Exception.ArgumentNull("item"); } bool result = item.IsAssignableFrom () || item.IsAssignableFrom () || item.IsAssignableFrom () || item.IsAssignableFrom (); return result; } public static string GenerateUniqueVariableNameForContext(DependencyObject context, string prefix) { if (null == context) { throw FxTrace.Exception.ArgumentNull("context"); } var viewElement = context as WorkflowViewElement; if (null == viewElement) { var msg = StringResourceDictionary.Instance.GetString("activityFactoryWrongTarget"); throw FxTrace.Exception.Argument("target", msg); } string name; var scope = VariableHelper.FindCommonVariableScope(viewElement.ModelItem, viewElement.ModelItem); if (null == scope) { name = string.Format(CultureInfo.CurrentUICulture, "{0}{1}", prefix, 1); } else { name = scope.GetVariableCollection().CreateUniqueVariableName(prefix, 1); } return name; } } } // 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
- SkinBuilder.cs
- SoapAttributeOverrides.cs
- SiteMapNodeCollection.cs
- BitmapInitialize.cs
- Int64Storage.cs
- WindowHideOrCloseTracker.cs
- ApplicationManager.cs
- DataServiceRequest.cs
- TerminateDesigner.cs
- Color.cs
- AttributeData.cs
- Config.cs
- Scene3D.cs
- StylusPointPropertyInfo.cs
- WebRequestModuleElementCollection.cs
- MethodBuilderInstantiation.cs
- Soap11ServerProtocol.cs
- HttpException.cs
- FileCodeGroup.cs
- Debug.cs
- AsymmetricKeyExchangeFormatter.cs
- ProxyHwnd.cs
- TitleStyle.cs
- SupportsPreviewControlAttribute.cs
- CryptographicAttribute.cs
- RemotingException.cs
- FileRecordSequence.cs
- InternalException.cs
- DispatchOperationRuntime.cs
- TextFormatterHost.cs
- EntryPointNotFoundException.cs
- COM2EnumConverter.cs
- MailMessageEventArgs.cs
- IdentifierService.cs
- MissingFieldException.cs
- DataServiceHostFactory.cs
- XmlElementAttribute.cs
- MethodCallExpression.cs
- FindCompletedEventArgs.cs
- CommandManager.cs
- CultureSpecificStringDictionary.cs
- TextContainerHelper.cs
- PenThread.cs
- SettingsPropertyIsReadOnlyException.cs
- Keyboard.cs
- CfgRule.cs
- XmlNamedNodeMap.cs
- RequiredFieldValidator.cs
- EntityDataSourceDesignerHelper.cs
- XmlNavigatorFilter.cs
- ResizingMessageFilter.cs
- ResourcesBuildProvider.cs
- AdornerLayer.cs
- KnownTypes.cs
- ShaperBuffers.cs
- NotifyParentPropertyAttribute.cs
- AnimationLayer.cs
- PassportAuthentication.cs
- DataMemberConverter.cs
- QueryProcessor.cs
- BlockCollection.cs
- PDBReader.cs
- ChangeBlockUndoRecord.cs
- Menu.cs
- XsdCachingReader.cs
- ArgumentsParser.cs
- ProcessThreadCollection.cs
- mediaeventargs.cs
- Int32Converter.cs
- ProfileSettings.cs
- StylusPointProperty.cs
- GenericXmlSecurityToken.cs
- AutomationPatternInfo.cs
- SizeValueSerializer.cs
- WebBrowser.cs
- WebPartZoneCollection.cs
- PartManifestEntry.cs
- GridViewPageEventArgs.cs
- String.cs
- ClientRuntimeConfig.cs
- ToolStripControlHost.cs
- MatcherBuilder.cs
- FrameworkTemplate.cs
- SamlAssertion.cs
- SplitterEvent.cs
- infer.cs
- Point4DValueSerializer.cs
- OracleDataAdapter.cs
- GetReadStreamResult.cs
- BevelBitmapEffect.cs
- TreeNode.cs
- InputProviderSite.cs
- AssemblyNameProxy.cs
- DatePickerTextBox.cs
- SettingsPropertyValueCollection.cs
- PrimitiveXmlSerializers.cs
- basecomparevalidator.cs
- DataGridViewCellConverter.cs
- xdrvalidator.cs
- DataGridViewHeaderCell.cs