Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / DateTimeOffsetAdapter.cs / 1305376 / DateTimeOffsetAdapter.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Runtime.Serialization { using System; using System.Reflection; using System.Xml; using System.Globalization; [DataContract(Name = "DateTimeOffset", Namespace = "http://schemas.datacontract.org/2004/07/System")] #if USE_REFEMIT public struct DateTimeOffsetAdapter #else internal struct DateTimeOffsetAdapter #endif { DateTime utcDateTime; short offsetMinutes; public DateTimeOffsetAdapter(DateTime dateTime, short offsetMinutes) { this.utcDateTime = dateTime; this.offsetMinutes = offsetMinutes; } [DataMember(Name = "DateTime", IsRequired = true)] public DateTime UtcDateTime { get { return utcDateTime; } set { utcDateTime = value; } } [DataMember(Name = "OffsetMinutes", IsRequired = true)] public short OffsetMinutes { get { return offsetMinutes; } set { offsetMinutes = value; } } public static DateTimeOffset GetDateTimeOffset(DateTimeOffsetAdapter value) { try { switch (value.UtcDateTime.Kind) { case DateTimeKind.Unspecified: return new DateTimeOffset(value.UtcDateTime, new TimeSpan(0, value.OffsetMinutes, 0)); //DateTimeKind.Utc and DateTimeKind.Local //Read in deserialized DateTime portion of the DateTimeOffsetAdapter and convert DateTimeKind to Unspecified. //Apply ofset information read from OffsetMinutes portion of the DateTimeOffsetAdapter. //Return converted DateTimeoffset object. default: DateTimeOffset deserialized = new DateTimeOffset(value.UtcDateTime); return deserialized.ToOffset(new TimeSpan(0, value.OffsetMinutes, 0)); } } catch (ArgumentException exception) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlExceptionHelper.CreateConversionException(value.ToString(CultureInfo.InvariantCulture), "DateTimeOffset", exception)); } } public static DateTimeOffsetAdapter GetDateTimeOffsetAdapter(DateTimeOffset value) { return new DateTimeOffsetAdapter(value.UtcDateTime, (short)value.Offset.TotalMinutes); } public string ToString(IFormatProvider provider) { return "DateTime: " + this.UtcDateTime + ", Offset: " + this.OffsetMinutes; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Runtime.Serialization { using System; using System.Reflection; using System.Xml; using System.Globalization; [DataContract(Name = "DateTimeOffset", Namespace = "http://schemas.datacontract.org/2004/07/System")] #if USE_REFEMIT public struct DateTimeOffsetAdapter #else internal struct DateTimeOffsetAdapter #endif { DateTime utcDateTime; short offsetMinutes; public DateTimeOffsetAdapter(DateTime dateTime, short offsetMinutes) { this.utcDateTime = dateTime; this.offsetMinutes = offsetMinutes; } [DataMember(Name = "DateTime", IsRequired = true)] public DateTime UtcDateTime { get { return utcDateTime; } set { utcDateTime = value; } } [DataMember(Name = "OffsetMinutes", IsRequired = true)] public short OffsetMinutes { get { return offsetMinutes; } set { offsetMinutes = value; } } public static DateTimeOffset GetDateTimeOffset(DateTimeOffsetAdapter value) { try { switch (value.UtcDateTime.Kind) { case DateTimeKind.Unspecified: return new DateTimeOffset(value.UtcDateTime, new TimeSpan(0, value.OffsetMinutes, 0)); //DateTimeKind.Utc and DateTimeKind.Local //Read in deserialized DateTime portion of the DateTimeOffsetAdapter and convert DateTimeKind to Unspecified. //Apply ofset information read from OffsetMinutes portion of the DateTimeOffsetAdapter. //Return converted DateTimeoffset object. default: DateTimeOffset deserialized = new DateTimeOffset(value.UtcDateTime); return deserialized.ToOffset(new TimeSpan(0, value.OffsetMinutes, 0)); } } catch (ArgumentException exception) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlExceptionHelper.CreateConversionException(value.ToString(CultureInfo.InvariantCulture), "DateTimeOffset", exception)); } } public static DateTimeOffsetAdapter GetDateTimeOffsetAdapter(DateTimeOffset value) { return new DateTimeOffsetAdapter(value.UtcDateTime, (short)value.Offset.TotalMinutes); } public string ToString(IFormatProvider provider) { return "DateTime: " + this.UtcDateTime + ", Offset: " + this.OffsetMinutes; } } } // 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
- XmlSchemas.cs
- HeaderCollection.cs
- TextMarkerSource.cs
- ScopelessEnumAttribute.cs
- ProvidersHelper.cs
- RenameRuleObjectDialog.cs
- HebrewCalendar.cs
- TypeDescriptionProviderAttribute.cs
- ResXFileRef.cs
- CrossSiteScriptingValidation.cs
- iisPickupDirectory.cs
- DaylightTime.cs
- DataSourceXmlSerializationAttribute.cs
- CheckBoxList.cs
- storepermissionattribute.cs
- RoleManagerSection.cs
- RootProfilePropertySettingsCollection.cs
- TextEditorSelection.cs
- HotSpotCollection.cs
- RegisteredHiddenField.cs
- HwndHostAutomationPeer.cs
- FrameworkElement.cs
- DataObjectFieldAttribute.cs
- LocationUpdates.cs
- SelfIssuedAuthAsymmetricKey.cs
- DesignerActionService.cs
- __Filters.cs
- MatrixTransform3D.cs
- Region.cs
- SapiRecognizer.cs
- DesignerActionItem.cs
- NgenServicingAttributes.cs
- InvokeGenerator.cs
- GroupDescription.cs
- ParameterCollection.cs
- WmlImageAdapter.cs
- SplitterEvent.cs
- TableLayoutPanelCellPosition.cs
- StateRuntime.cs
- VisualCollection.cs
- MessageEncoder.cs
- RepeaterItemCollection.cs
- ToolStripControlHost.cs
- DataGridViewTextBoxEditingControl.cs
- TreeIterators.cs
- KeyGesture.cs
- Errors.cs
- OleDbFactory.cs
- WindowsListViewItemCheckBox.cs
- TextBoxView.cs
- Registry.cs
- SecurityException.cs
- SchemaLookupTable.cs
- QuadraticBezierSegment.cs
- HttpCapabilitiesEvaluator.cs
- WebPartDescriptionCollection.cs
- FusionWrap.cs
- ClientRolePrincipal.cs
- VoiceObjectToken.cs
- RootProfilePropertySettingsCollection.cs
- CodeExporter.cs
- SpotLight.cs
- UIInitializationException.cs
- LoginName.cs
- SqlTriggerContext.cs
- ProfileParameter.cs
- Membership.cs
- XmlRawWriter.cs
- EditorZoneBase.cs
- CompilerTypeWithParams.cs
- Compiler.cs
- Executor.cs
- ListManagerBindingsCollection.cs
- ResetableIterator.cs
- ToolStripItemEventArgs.cs
- PageThemeBuildProvider.cs
- FixedPosition.cs
- NonBatchDirectoryCompiler.cs
- Form.cs
- Point3DIndependentAnimationStorage.cs
- MiniParameterInfo.cs
- ListControlConvertEventArgs.cs
- SchemaNames.cs
- MsmqActivation.cs
- UserControl.cs
- WindowsSlider.cs
- AttributeSetAction.cs
- ColorAnimationUsingKeyFrames.cs
- PackWebRequestFactory.cs
- AutomationPropertyInfo.cs
- DeflateStream.cs
- BindUriHelper.cs
- SafeHandle.cs
- XhtmlBasicCalendarAdapter.cs
- DocumentViewerAutomationPeer.cs
- ContentElementAutomationPeer.cs
- HtmlInputSubmit.cs
- ExtentKey.cs
- GenericTextProperties.cs
- GenericAuthenticationEventArgs.cs