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
- WasHttpModulesInstallComponent.cs
- IdnMapping.cs
- _Connection.cs
- DesignerLoader.cs
- HtmlElement.cs
- Sequence.cs
- ObjectDataSourceStatusEventArgs.cs
- ListViewItemMouseHoverEvent.cs
- PageContent.cs
- HorizontalAlignConverter.cs
- SqlRowUpdatedEvent.cs
- PersonalizableAttribute.cs
- RequestTimeoutManager.cs
- XmlSchemaValidationException.cs
- CodeTryCatchFinallyStatement.cs
- SystemPens.cs
- MailAddressCollection.cs
- LogReserveAndAppendState.cs
- Scheduler.cs
- EncryptedType.cs
- EventDescriptor.cs
- COM2Properties.cs
- CodeLinePragma.cs
- TabPanel.cs
- RegisteredExpandoAttribute.cs
- Win32.cs
- MouseActionValueSerializer.cs
- ToolStripMenuItem.cs
- PingOptions.cs
- Literal.cs
- DataGridViewDataConnection.cs
- DashStyles.cs
- WebBrowserBase.cs
- Scene3D.cs
- PassportAuthenticationModule.cs
- HyperLinkColumn.cs
- SingleAnimation.cs
- StorageConditionPropertyMapping.cs
- ColorMap.cs
- Point4DValueSerializer.cs
- Configuration.cs
- EntitySqlQueryCacheKey.cs
- SerialPort.cs
- Table.cs
- TextRunTypographyProperties.cs
- RepeatInfo.cs
- ConnectionStringsExpressionBuilder.cs
- TracingConnection.cs
- ChannelEndpointElement.cs
- ComponentRenameEvent.cs
- AuthenticationServiceManager.cs
- ListDictionary.cs
- PrinterSettings.cs
- BitmapSource.cs
- XmlRawWriter.cs
- XmlCharCheckingWriter.cs
- MarshalByRefObject.cs
- InstancePersistenceCommandException.cs
- PropertyMap.cs
- HTTPNotFoundHandler.cs
- RSAPKCS1SignatureDeformatter.cs
- serverconfig.cs
- ParameterElementCollection.cs
- ObjectParameterCollection.cs
- SimpleLine.cs
- IconEditor.cs
- Perspective.cs
- MulticastDelegate.cs
- MaskedTextBoxDesignerActionList.cs
- EncoderFallback.cs
- Bezier.cs
- XmlSchemaComplexType.cs
- DependencyProperty.cs
- Win32SafeHandles.cs
- RootBuilder.cs
- XmlSchemaExporter.cs
- CultureMapper.cs
- CellParagraph.cs
- UserUseLicenseDictionaryLoader.cs
- CollectionTraceRecord.cs
- MDIWindowDialog.cs
- LoginUtil.cs
- OdbcError.cs
- DictionaryCustomTypeDescriptor.cs
- DescendantBaseQuery.cs
- RSAOAEPKeyExchangeDeformatter.cs
- SQLCharsStorage.cs
- RecipientInfo.cs
- UmAlQuraCalendar.cs
- SystemFonts.cs
- StorageModelBuildProvider.cs
- XmlCountingReader.cs
- ZipIOExtraFieldPaddingElement.cs
- PropertyConverter.cs
- IPGlobalProperties.cs
- Triangle.cs
- SetterBaseCollection.cs
- FormsAuthenticationTicket.cs
- IERequestCache.cs
- BrushMappingModeValidation.cs