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
- MessageHeaderDescription.cs
- SettingsProperty.cs
- DataFormats.cs
- QueryContinueDragEvent.cs
- ErrorsHelper.cs
- ListSortDescription.cs
- PairComparer.cs
- HostedTransportConfigurationManager.cs
- DbParameterCollectionHelper.cs
- PolyLineSegment.cs
- StorageBasedPackageProperties.cs
- PriorityItem.cs
- ListBindingHelper.cs
- FillRuleValidation.cs
- UriTemplateMatchException.cs
- IsolatedStorageException.cs
- Icon.cs
- ImageListDesigner.cs
- Comparer.cs
- FocusWithinProperty.cs
- SQlBooleanStorage.cs
- SrgsElementList.cs
- ButtonBase.cs
- SQlBooleanStorage.cs
- XmlSchemaAttributeGroup.cs
- Matrix.cs
- HideDisabledControlAdapter.cs
- MetadataPropertyCollection.cs
- SafePEFileHandle.cs
- ThreadPoolTaskScheduler.cs
- CodeCatchClauseCollection.cs
- XmlSchemaObjectTable.cs
- ScriptServiceAttribute.cs
- FileDialog_Vista_Interop.cs
- CoTaskMemHandle.cs
- XmlElementAttribute.cs
- CacheRequest.cs
- CompiledXpathExpr.cs
- Material.cs
- ConvertBinder.cs
- FixedLineResult.cs
- TextServicesHost.cs
- SQLResource.cs
- NavigatingCancelEventArgs.cs
- Tokenizer.cs
- CallbackTimeoutsBehavior.cs
- WindowsListViewScroll.cs
- SqlConnectionStringBuilder.cs
- OneOfTypeConst.cs
- _AcceptOverlappedAsyncResult.cs
- Claim.cs
- InvalidComObjectException.cs
- ObjectNotFoundException.cs
- NativeMethodsCLR.cs
- InfoCardAsymmetricCrypto.cs
- odbcmetadatacollectionnames.cs
- DataTableMappingCollection.cs
- ContentPosition.cs
- DependencyPropertyAttribute.cs
- ConfigsHelper.cs
- LinearGradientBrush.cs
- WindowsMenu.cs
- WbmpConverter.cs
- XmlNullResolver.cs
- XDRSchema.cs
- TextBox.cs
- BinaryOperationBinder.cs
- ResourceReferenceExpressionConverter.cs
- RequestQueryParser.cs
- Decoder.cs
- CodeRegionDirective.cs
- BooleanExpr.cs
- CurrencyWrapper.cs
- OleDbDataReader.cs
- RegexParser.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- ListParaClient.cs
- PriorityRange.cs
- LinqDataSourceSelectEventArgs.cs
- AxWrapperGen.cs
- ListQueryResults.cs
- ObjectDataSourceStatusEventArgs.cs
- SyndicationItemFormatter.cs
- HttpPostedFile.cs
- Evidence.cs
- OrderByBuilder.cs
- SkipStoryboardToFill.cs
- PageCatalogPart.cs
- DurableEnlistmentState.cs
- SQLInt32Storage.cs
- MemoryPressure.cs
- TemplateControl.cs
- MarkupObject.cs
- SiteMapNodeItemEventArgs.cs
- DataGridViewMethods.cs
- SessionState.cs
- HttpStreamMessageEncoderFactory.cs
- milexports.cs
- GenericUI.cs
- XmlSchemaElement.cs