Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Behaviors / WorkflowTransactionOptions.cs / 1305376 / WorkflowTransactionOptions.cs
namespace System.Workflow.ComponentModel { using System; using System.Xml; using System.Collections.Generic; using System.Text; using System.Globalization; using System.ComponentModel; using System.Transactions; using System.Reflection; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.ComponentModel.Design.Serialization; using System.Collections; using System.CodeDom; using System.Collections.Specialized; using System.Workflow.ComponentModel.Compiler; using System.Workflow.ComponentModel.Serialization; [Browsable(true)] [DesignerSerializer(typeof(DependencyObjectCodeDomSerializer), typeof(CodeDomSerializer))] public sealed class WorkflowTransactionOptions : DependencyObject { public static readonly DependencyProperty TimeoutDurationProperty = DependencyProperty.Register("TimeoutDuration", typeof(TimeSpan), typeof(WorkflowTransactionOptions), new PropertyMetadata(new TimeSpan(0,0,30), DependencyPropertyOptions.Metadata)); public static readonly DependencyProperty IsolationLevelProperty = DependencyProperty.Register("IsolationLevel", typeof(IsolationLevel), typeof(WorkflowTransactionOptions), new PropertyMetadata(IsolationLevel.Serializable,DependencyPropertyOptions.Metadata)); [SRDescription(SR.TimeoutDescr)] [SRCategory(SR.Activity)] [MergableProperty(false)] [DefaultValue(typeof(TimeSpan), "0:0:30")] [TypeConverter(typeof(TimeoutDurationConverter))] public TimeSpan TimeoutDuration { get { return (TimeSpan)base.GetValue(TimeoutDurationProperty); } set { base.SetValue(TimeoutDurationProperty, value); } } [SRDescription(SR.IsolationLevelDescr)] [SRCategory(SR.Activity)] [MergableProperty(false)] public IsolationLevel IsolationLevel { get { return (IsolationLevel)base.GetValue(IsolationLevelProperty); } set { base.SetValue(IsolationLevelProperty, value); } } } internal sealed class TimeoutDurationConverter : TypeConverter { public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(string)) return true; return base.CanConvertTo(context, destinationType); } public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(string) && value is TimeSpan) { TimeSpan timespan = (TimeSpan)value; return timespan.ToString(); } return base.ConvertTo(context, culture, value, destinationType); } public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { if (sourceType == typeof(string)) return true; return base.CanConvertFrom(context, sourceType); } public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { TimeSpan parsedTimespan = TimeSpan.Zero; string timeSpan = value as string; if (!String.IsNullOrEmpty(timeSpan)) { //If this fails then an exception is thrown and the property set would fail try { parsedTimespan = TimeSpan.Parse(timeSpan, CultureInfo.InvariantCulture); } catch { } if (parsedTimespan.Ticks < 0) { throw new Exception(string.Format(System.Globalization.CultureInfo.CurrentCulture, SR.GetString(SR.Error_NegativeValue), value.ToString(), "TimeoutDuration")); } } return parsedTimespan; } public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return true; } public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { ArrayList standardValuesCollection = new ArrayList(); standardValuesCollection.Add(new TimeSpan(0, 0, 0)); standardValuesCollection.Add(new TimeSpan(0, 0, 15)); standardValuesCollection.Add(new TimeSpan(0, 1, 0)); return new StandardValuesCollection(standardValuesCollection); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Workflow.ComponentModel { using System; using System.Xml; using System.Collections.Generic; using System.Text; using System.Globalization; using System.ComponentModel; using System.Transactions; using System.Reflection; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.ComponentModel.Design.Serialization; using System.Collections; using System.CodeDom; using System.Collections.Specialized; using System.Workflow.ComponentModel.Compiler; using System.Workflow.ComponentModel.Serialization; [Browsable(true)] [DesignerSerializer(typeof(DependencyObjectCodeDomSerializer), typeof(CodeDomSerializer))] public sealed class WorkflowTransactionOptions : DependencyObject { public static readonly DependencyProperty TimeoutDurationProperty = DependencyProperty.Register("TimeoutDuration", typeof(TimeSpan), typeof(WorkflowTransactionOptions), new PropertyMetadata(new TimeSpan(0,0,30), DependencyPropertyOptions.Metadata)); public static readonly DependencyProperty IsolationLevelProperty = DependencyProperty.Register("IsolationLevel", typeof(IsolationLevel), typeof(WorkflowTransactionOptions), new PropertyMetadata(IsolationLevel.Serializable,DependencyPropertyOptions.Metadata)); [SRDescription(SR.TimeoutDescr)] [SRCategory(SR.Activity)] [MergableProperty(false)] [DefaultValue(typeof(TimeSpan), "0:0:30")] [TypeConverter(typeof(TimeoutDurationConverter))] public TimeSpan TimeoutDuration { get { return (TimeSpan)base.GetValue(TimeoutDurationProperty); } set { base.SetValue(TimeoutDurationProperty, value); } } [SRDescription(SR.IsolationLevelDescr)] [SRCategory(SR.Activity)] [MergableProperty(false)] public IsolationLevel IsolationLevel { get { return (IsolationLevel)base.GetValue(IsolationLevelProperty); } set { base.SetValue(IsolationLevelProperty, value); } } } internal sealed class TimeoutDurationConverter : TypeConverter { public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(string)) return true; return base.CanConvertTo(context, destinationType); } public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(string) && value is TimeSpan) { TimeSpan timespan = (TimeSpan)value; return timespan.ToString(); } return base.ConvertTo(context, culture, value, destinationType); } public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { if (sourceType == typeof(string)) return true; return base.CanConvertFrom(context, sourceType); } public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { TimeSpan parsedTimespan = TimeSpan.Zero; string timeSpan = value as string; if (!String.IsNullOrEmpty(timeSpan)) { //If this fails then an exception is thrown and the property set would fail try { parsedTimespan = TimeSpan.Parse(timeSpan, CultureInfo.InvariantCulture); } catch { } if (parsedTimespan.Ticks < 0) { throw new Exception(string.Format(System.Globalization.CultureInfo.CurrentCulture, SR.GetString(SR.Error_NegativeValue), value.ToString(), "TimeoutDuration")); } } return parsedTimespan; } public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return true; } public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { ArrayList standardValuesCollection = new ArrayList(); standardValuesCollection.Add(new TimeSpan(0, 0, 0)); standardValuesCollection.Add(new TimeSpan(0, 0, 15)); standardValuesCollection.Add(new TimeSpan(0, 1, 0)); return new StandardValuesCollection(standardValuesCollection); } } } // 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
- ApplicationServicesHostFactory.cs
- VerticalAlignConverter.cs
- IIS7WorkerRequest.cs
- NonParentingControl.cs
- MDIClient.cs
- ConnectionPointCookie.cs
- Bitmap.cs
- XmlReader.cs
- ToolStripContentPanel.cs
- MultipartIdentifier.cs
- TableTextElementCollectionInternal.cs
- CacheRequest.cs
- XmlSchemaSimpleContentExtension.cs
- ListViewCancelEventArgs.cs
- TiffBitmapDecoder.cs
- InteropBitmapSource.cs
- SiteMapPath.cs
- PriorityRange.cs
- XomlCompilerHelpers.cs
- ConfigurationPropertyCollection.cs
- MessageQueuePermissionEntry.cs
- WebPartConnectionsDisconnectVerb.cs
- DataKeyCollection.cs
- EntityModelSchemaGenerator.cs
- WebControl.cs
- ClassValidator.cs
- XhtmlCssHandler.cs
- BeginStoryboard.cs
- DataSetViewSchema.cs
- SqlNamer.cs
- InvalidOperationException.cs
- Token.cs
- AssemblyInfo.cs
- MenuItemStyleCollection.cs
- ValueOfAction.cs
- EntityTemplateFactory.cs
- XmlSchemaComplexContent.cs
- XmlSchemaProviderAttribute.cs
- ViewBox.cs
- MsmqBindingBase.cs
- ImageListUtils.cs
- ProcessingInstructionAction.cs
- RectangleGeometry.cs
- FileInfo.cs
- DecoderFallback.cs
- SQLCharsStorage.cs
- ConfigurationSection.cs
- ChildTable.cs
- Track.cs
- _ProxyChain.cs
- GridToolTip.cs
- xsdvalidator.cs
- ELinqQueryState.cs
- SoapAttributes.cs
- Rotation3D.cs
- XPathDescendantIterator.cs
- ImagingCache.cs
- PeerApplication.cs
- OleCmdHelper.cs
- CaseCqlBlock.cs
- CurrentChangingEventArgs.cs
- DefaultExpression.cs
- IndentedWriter.cs
- WmlLiteralTextAdapter.cs
- NestedContainer.cs
- QueryExecutionOption.cs
- SystemColors.cs
- InvokeGenerator.cs
- MdbDataFileEditor.cs
- DiagnosticTrace.cs
- PackagePart.cs
- WithParamAction.cs
- Viewport3DAutomationPeer.cs
- ActivityMetadata.cs
- ScrollableControlDesigner.cs
- UpdateTranslator.cs
- FileClassifier.cs
- SeverityFilter.cs
- PreProcessInputEventArgs.cs
- WebScriptServiceHostFactory.cs
- QueryContext.cs
- _ConnectStream.cs
- InfoCardClaimCollection.cs
- XmlReturnReader.cs
- FtpRequestCacheValidator.cs
- DesignerSerializerAttribute.cs
- ComplexBindingPropertiesAttribute.cs
- SHA512Managed.cs
- httpserverutility.cs
- DictionaryEntry.cs
- LoginViewDesigner.cs
- FlowPosition.cs
- PropertyRecord.cs
- FontStyles.cs
- XmlWriterSettings.cs
- Rethrow.cs
- StylusEventArgs.cs
- SqlGatherConsumedAliases.cs
- XmlSchemaAttributeGroupRef.cs
- PrintDialog.cs