Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Serializer / CompositeActivityMarkupSerializer.cs / 1305376 / CompositeActivityMarkupSerializer.cs
namespace System.Workflow.ComponentModel.Serialization
{
using System;
using System.Reflection;
using System.Collections;
using System.Collections.Generic;
using System.Workflow.ComponentModel.Design;
using System.Xml;
#region Class CompositeActivityMarkupSerializer
public class CompositeActivityMarkupSerializer : ActivityMarkupSerializer
{
internal override void OnBeforeSerializeContents(WorkflowMarkupSerializationManager serializationManager, object obj)
{
base.OnBeforeSerializeContents(serializationManager, obj);
//For root activity we will go through all the nested activities and put the namespaces at the top level
CompositeActivity compositeActivity = obj as CompositeActivity;
XmlWriter writer = serializationManager.WorkflowMarkupStack[typeof(XmlWriter)] as XmlWriter;
if (compositeActivity.Parent == null && writer != null)
{
Dictionary writtenMappings = new Dictionary();
string prefix = String.Empty;
XmlQualifiedName xmlQualifiedName = serializationManager.GetXmlQualifiedName(compositeActivity.GetType(), out prefix);
writtenMappings.Add(xmlQualifiedName.Namespace, compositeActivity);
foreach (Activity containedActivity in Helpers.GetNestedActivities(compositeActivity))
{
prefix = String.Empty;
xmlQualifiedName = serializationManager.GetXmlQualifiedName(containedActivity.GetType(), out prefix);
if (!writtenMappings.ContainsKey(xmlQualifiedName.Namespace))
{
writer.WriteAttributeString("xmlns", prefix, null, xmlQualifiedName.Namespace);
writtenMappings.Add(xmlQualifiedName.Namespace, containedActivity);
}
}
}
}
}
#endregion
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
namespace System.Workflow.ComponentModel.Serialization
{
using System;
using System.Reflection;
using System.Collections;
using System.Collections.Generic;
using System.Workflow.ComponentModel.Design;
using System.Xml;
#region Class CompositeActivityMarkupSerializer
public class CompositeActivityMarkupSerializer : ActivityMarkupSerializer
{
internal override void OnBeforeSerializeContents(WorkflowMarkupSerializationManager serializationManager, object obj)
{
base.OnBeforeSerializeContents(serializationManager, obj);
//For root activity we will go through all the nested activities and put the namespaces at the top level
CompositeActivity compositeActivity = obj as CompositeActivity;
XmlWriter writer = serializationManager.WorkflowMarkupStack[typeof(XmlWriter)] as XmlWriter;
if (compositeActivity.Parent == null && writer != null)
{
Dictionary writtenMappings = new Dictionary();
string prefix = String.Empty;
XmlQualifiedName xmlQualifiedName = serializationManager.GetXmlQualifiedName(compositeActivity.GetType(), out prefix);
writtenMappings.Add(xmlQualifiedName.Namespace, compositeActivity);
foreach (Activity containedActivity in Helpers.GetNestedActivities(compositeActivity))
{
prefix = String.Empty;
xmlQualifiedName = serializationManager.GetXmlQualifiedName(containedActivity.GetType(), out prefix);
if (!writtenMappings.ContainsKey(xmlQualifiedName.Namespace))
{
writer.WriteAttributeString("xmlns", prefix, null, xmlQualifiedName.Namespace);
writtenMappings.Add(xmlQualifiedName.Namespace, containedActivity);
}
}
}
}
}
#endregion
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NumberFunctions.cs
- AssemblyAttributesGoHere.cs
- MessageAction.cs
- latinshape.cs
- CodeEntryPointMethod.cs
- LogicalExpr.cs
- CompilerWrapper.cs
- ExpressionCopier.cs
- ErrorTableItemStyle.cs
- XPathNodeHelper.cs
- GPRECTF.cs
- DesignerAdapterUtil.cs
- UnknownBitmapEncoder.cs
- ToggleButtonAutomationPeer.cs
- SamlAuthorizationDecisionStatement.cs
- ExceptionValidationRule.cs
- DataGridToolTip.cs
- CheckBoxBaseAdapter.cs
- Byte.cs
- SqlNode.cs
- XmlWrappingReader.cs
- TextDecorationUnitValidation.cs
- CompoundFileIOPermission.cs
- WindowsSysHeader.cs
- MiniCustomAttributeInfo.cs
- XPathAxisIterator.cs
- DelimitedListTraceListener.cs
- PagerSettings.cs
- MatrixTransform.cs
- StringReader.cs
- EntityDataSourceEntityTypeFilterItem.cs
- FormViewDeleteEventArgs.cs
- DataReaderContainer.cs
- ArrayList.cs
- AdPostCacheSubstitution.cs
- ToolCreatedEventArgs.cs
- NullableDoubleMinMaxAggregationOperator.cs
- ImportContext.cs
- BamlLocalizabilityResolver.cs
- HtmlTitle.cs
- HMACMD5.cs
- IPGlobalProperties.cs
- MimeTypeMapper.cs
- DynamicILGenerator.cs
- ColumnWidthChangedEvent.cs
- ToolboxCategoryItems.cs
- DefaultAssemblyResolver.cs
- FormViewPagerRow.cs
- ToolStripDropDownClosedEventArgs.cs
- XPathNodeInfoAtom.cs
- SignatureHelper.cs
- BinaryReader.cs
- SerializationObjectManager.cs
- TableItemPatternIdentifiers.cs
- ToolStripDropDownMenu.cs
- BamlRecordWriter.cs
- XpsSerializationManagerAsync.cs
- TypeHelpers.cs
- MetadataException.cs
- GZipStream.cs
- metadatamappinghashervisitor.cs
- ItemChangedEventArgs.cs
- ContextMenuStrip.cs
- StringToken.cs
- CancellationScope.cs
- FormsAuthenticationEventArgs.cs
- EntitySet.cs
- TabItem.cs
- AssemblyCache.cs
- InfoCardArgumentException.cs
- XmlObjectSerializerReadContextComplex.cs
- TextEditor.cs
- ContractCodeDomInfo.cs
- Inline.cs
- DeclaredTypeValidatorAttribute.cs
- CatalogPartChrome.cs
- WebPageTraceListener.cs
- DataKeyArray.cs
- MenuTracker.cs
- DiscoveryClientRequestChannel.cs
- RequestResizeEvent.cs
- TabPage.cs
- FixedPageAutomationPeer.cs
- XmlWriter.cs
- FixedTextSelectionProcessor.cs
- DisplayMemberTemplateSelector.cs
- ExtensibleClassFactory.cs
- RenderingEventArgs.cs
- MappingMetadataHelper.cs
- InboundActivityHelper.cs
- DictionarySectionHandler.cs
- SrgsGrammar.cs
- IISMapPath.cs
- SqlBuffer.cs
- BindableTemplateBuilder.cs
- Parameter.cs
- BehaviorEditorPart.cs
- DynamicDiscoSearcher.cs
- CodeAccessPermission.cs
- HebrewNumber.cs