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
- DataControlFieldTypeEditor.cs
- ListViewTableRow.cs
- X509CertificateCollection.cs
- PageWrapper.cs
- IdleTimeoutMonitor.cs
- serverconfig.cs
- HtmlForm.cs
- RayHitTestParameters.cs
- Monitor.cs
- coordinatorscratchpad.cs
- InternalTypeHelper.cs
- StringReader.cs
- TPLETWProvider.cs
- FunctionDefinition.cs
- OrderToken.cs
- SqlClientWrapperSmiStreamChars.cs
- RuleInfoComparer.cs
- ComponentResourceKey.cs
- ActiveDocumentEvent.cs
- GridView.cs
- SqlDependency.cs
- COM2PictureConverter.cs
- ParameterCollection.cs
- FormsIdentity.cs
- TraceInternal.cs
- Utility.cs
- SudsWriter.cs
- HttpBrowserCapabilitiesWrapper.cs
- SystemThemeKey.cs
- XPathBinder.cs
- StorageEntityContainerMapping.cs
- ViewStateModeByIdAttribute.cs
- EntryWrittenEventArgs.cs
- InternalResources.cs
- WinEventQueueItem.cs
- XmlDocumentViewSchema.cs
- ResourceKey.cs
- BitmapEffectGroup.cs
- BasePropertyDescriptor.cs
- XXXOnTypeBuilderInstantiation.cs
- BrowserCapabilitiesCompiler.cs
- ConsoleCancelEventArgs.cs
- ParallelTimeline.cs
- ToolStripRenderEventArgs.cs
- ActivityExecutor.cs
- DetailsView.cs
- DataGridViewLayoutData.cs
- SymmetricKeyWrap.cs
- RSAPKCS1KeyExchangeFormatter.cs
- SemanticAnalyzer.cs
- ActivityExecutionContextCollection.cs
- Literal.cs
- ExcCanonicalXml.cs
- TaskCanceledException.cs
- EncoderParameters.cs
- CustomErrorsSection.cs
- RepeaterCommandEventArgs.cs
- SchemaConstraints.cs
- AdRotator.cs
- Nodes.cs
- TextElementEnumerator.cs
- BindingWorker.cs
- ParallelActivityDesigner.cs
- WeakReference.cs
- RegistrationServices.cs
- DiagnosticsConfiguration.cs
- RoleGroup.cs
- SqlCommand.cs
- ContainerVisual.cs
- Control.cs
- ActivatedMessageQueue.cs
- DLinqColumnProvider.cs
- DetailsViewPagerRow.cs
- ResourceManager.cs
- RequestResizeEvent.cs
- ComponentEditorForm.cs
- HttpStaticObjectsCollectionBase.cs
- CompilationUnit.cs
- EpmSourceTree.cs
- QueryStringHandler.cs
- ItemPager.cs
- TableRowGroup.cs
- SortKey.cs
- XPathNode.cs
- ClientScriptManagerWrapper.cs
- ProtectedProviderSettings.cs
- DbProviderManifest.cs
- SingleKeyFrameCollection.cs
- WSAddressing10ProblemHeaderQNameFault.cs
- SignerInfo.cs
- ScrollEventArgs.cs
- EntityDataSourceStatementEditorForm.cs
- ByteStack.cs
- SmiEventStream.cs
- TemplateKey.cs
- TimeSpan.cs
- xml.cs
- OdbcUtils.cs
- ExtenderProviderService.cs
- ResponseStream.cs