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
- CompModSwitches.cs
- TypedTableHandler.cs
- EditorZoneBase.cs
- SpeakProgressEventArgs.cs
- CodeTypeDeclaration.cs
- StylusTip.cs
- ActivityInstanceMap.cs
- BuildManager.cs
- LogWriteRestartAreaState.cs
- LinkedList.cs
- WindowsContainer.cs
- MediaPlayer.cs
- MailWriter.cs
- MessageHeaderInfoTraceRecord.cs
- PKCS1MaskGenerationMethod.cs
- EncryptedData.cs
- DateRangeEvent.cs
- ConfigurationProperty.cs
- ServicePoint.cs
- NumberAction.cs
- DocumentPageHost.cs
- PublishLicense.cs
- xamlnodes.cs
- BridgeDataRecord.cs
- xsdvalidator.cs
- BuildProviderAppliesToAttribute.cs
- ConfigXmlAttribute.cs
- ToggleButtonAutomationPeer.cs
- Parser.cs
- StandardBindingOptionalReliableSessionElement.cs
- LocalValueEnumerator.cs
- CharacterHit.cs
- AnnotationObservableCollection.cs
- DataControlCommands.cs
- UserControlFileEditor.cs
- TextEditorTables.cs
- GlobalizationSection.cs
- NonClientArea.cs
- XamlSerializerUtil.cs
- WebPartExportVerb.cs
- WorkflowControlClient.cs
- RtfControlWordInfo.cs
- ContentAlignmentEditor.cs
- __ComObject.cs
- Pkcs9Attribute.cs
- ThreadAttributes.cs
- WorkflowStateRollbackService.cs
- autovalidator.cs
- DbConnectionClosed.cs
- RunWorkerCompletedEventArgs.cs
- PerfCounters.cs
- ClientUrlResolverWrapper.cs
- Asn1IntegerConverter.cs
- HtmlImage.cs
- ClientRoleProvider.cs
- CanExecuteRoutedEventArgs.cs
- WeakKeyDictionary.cs
- Package.cs
- RouteValueDictionary.cs
- TransformGroup.cs
- EntryIndex.cs
- ComboBox.cs
- SignalGate.cs
- DurableOperationAttribute.cs
- Validator.cs
- ActivationArguments.cs
- CheckBoxPopupAdapter.cs
- OdbcUtils.cs
- MethodBuilderInstantiation.cs
- ComPlusTraceRecord.cs
- CodeDOMUtility.cs
- FormatVersion.cs
- OperationBehaviorAttribute.cs
- ConversionContext.cs
- EventPropertyMap.cs
- ContentHostHelper.cs
- CheckBox.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- WorkerProcess.cs
- mansign.cs
- WebPartUserCapability.cs
- ToolStripSystemRenderer.cs
- OleDbConnectionInternal.cs
- RichTextBoxAutomationPeer.cs
- PersistenceException.cs
- TextElement.cs
- VideoDrawing.cs
- EntityConnectionStringBuilder.cs
- Baml6Assembly.cs
- XmlSchemaSimpleContentExtension.cs
- CommonRemoteMemoryBlock.cs
- PrintPreviewControl.cs
- BasePropertyDescriptor.cs
- CodeNamespaceImportCollection.cs
- RoutedEventConverter.cs
- ImmComposition.cs
- HttpResponseHeader.cs
- DocumentEventArgs.cs
- TextElementCollection.cs
- MultipartIdentifier.cs