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
- SHA256.cs
- SendAgentStatusRequest.cs
- GridSplitterAutomationPeer.cs
- TargetInvocationException.cs
- CompressionTracing.cs
- AssemblyAttributes.cs
- ConnectionManagementSection.cs
- FirewallWrapper.cs
- SqlParameterCollection.cs
- _CommandStream.cs
- BitmapEffectInput.cs
- ControlTemplate.cs
- ParameterEditorUserControl.cs
- QuadraticBezierSegment.cs
- ProviderSettings.cs
- ListViewAutomationPeer.cs
- DataGridTable.cs
- StorageBasedPackageProperties.cs
- FieldAccessException.cs
- StickyNoteContentControl.cs
- NetworkAddressChange.cs
- PrtTicket_Editor.cs
- OracleBinary.cs
- AmbientValueAttribute.cs
- EventDrivenDesigner.cs
- SqlExpander.cs
- UseManagedPresentationBindingElementImporter.cs
- AssemblyAttributesGoHere.cs
- GuidConverter.cs
- DataGridViewCellCollection.cs
- TimeSpanFormat.cs
- DrawingContextDrawingContextWalker.cs
- PeerResolver.cs
- ExtensionQuery.cs
- RowsCopiedEventArgs.cs
- ChameleonKey.cs
- ByteStack.cs
- PagedDataSource.cs
- ResourceSet.cs
- Color.cs
- TemplateApplicationHelper.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- TransactionProxy.cs
- Rotation3D.cs
- JavascriptCallbackResponseProperty.cs
- ExpressionVisitorHelpers.cs
- ChannelServices.cs
- ListViewInsertionMark.cs
- FontWeight.cs
- TaiwanCalendar.cs
- ByteConverter.cs
- LineInfo.cs
- XamlHostingConfiguration.cs
- SchemaInfo.cs
- RangeValueProviderWrapper.cs
- HuffCodec.cs
- BasicBrowserDialog.designer.cs
- DataGridView.cs
- GridViewRowCollection.cs
- WinOEToolBoxItem.cs
- DragCompletedEventArgs.cs
- TraceXPathNavigator.cs
- DbConnectionInternal.cs
- CollectionEditVerbManager.cs
- handlecollector.cs
- FileDataSourceCache.cs
- TextRangeProviderWrapper.cs
- TreeViewImageKeyConverter.cs
- MarkupCompiler.cs
- InstanceCreationEditor.cs
- WeakReference.cs
- QueryConverter.cs
- AsyncOperation.cs
- HttpRawResponse.cs
- ItemTypeToolStripMenuItem.cs
- ApplicationException.cs
- QuaternionRotation3D.cs
- RuleSetCollection.cs
- DataControlFieldCell.cs
- XmlAttribute.cs
- FormsAuthenticationUser.cs
- HandlerElementCollection.cs
- ResourceProviderFactory.cs
- HtmlInputRadioButton.cs
- SplitterPanel.cs
- TextServicesPropertyRanges.cs
- RemotingConfiguration.cs
- Walker.cs
- WebDisplayNameAttribute.cs
- ProtocolsConfigurationHandler.cs
- XmlSchemaIdentityConstraint.cs
- basemetadatamappingvisitor.cs
- SchemaCompiler.cs
- GlobalEventManager.cs
- MsmqTransportSecurity.cs
- UnsignedPublishLicense.cs
- Tag.cs
- ExceptionHandlerDesigner.cs
- FamilyTypeface.cs
- ParseElementCollection.cs