Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / DateTimeOffsetAdapter.cs / 1 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MarkupWriter.cs
- SqlMultiplexer.cs
- AttachmentService.cs
- ConfigurationLocation.cs
- Polyline.cs
- XmlLanguage.cs
- SignatureResourcePool.cs
- FrameworkTemplate.cs
- RsaKeyGen.cs
- StoryFragments.cs
- BaseValidator.cs
- GridViewItemAutomationPeer.cs
- WebBrowser.cs
- TypedDataSetSchemaImporterExtension.cs
- TokenBasedSetEnumerator.cs
- ExceptionWrapper.cs
- connectionpool.cs
- MobileTemplatedControlDesigner.cs
- Message.cs
- CorrelationValidator.cs
- NumericUpDownAcceleration.cs
- FileDialogCustomPlacesCollection.cs
- SizeChangedInfo.cs
- MatchingStyle.cs
- NativeStructs.cs
- SqlTypeConverter.cs
- CloudCollection.cs
- EntityObject.cs
- ChannelManagerBase.cs
- BinarySerializer.cs
- CFGGrammar.cs
- XPathNavigator.cs
- MDIClient.cs
- Package.cs
- XmlHelper.cs
- SHA1.cs
- TypedElement.cs
- WebPartHeaderCloseVerb.cs
- MissingFieldException.cs
- MessageDecoder.cs
- StringCollectionMarkupSerializer.cs
- CqlWriter.cs
- Math.cs
- DataTableMappingCollection.cs
- XsltQilFactory.cs
- SerializationException.cs
- altserialization.cs
- AbstractSvcMapFileLoader.cs
- XPathDocument.cs
- DataFormats.cs
- TextHidden.cs
- GridViewColumnHeaderAutomationPeer.cs
- Win32SafeHandles.cs
- OrderedDictionary.cs
- TextServicesCompartmentContext.cs
- RSAPKCS1SignatureFormatter.cs
- ButtonField.cs
- RepeatInfo.cs
- CompiledQuery.cs
- UpdateCompiler.cs
- RepeaterDataBoundAdapter.cs
- WebPartDescription.cs
- FixedTextSelectionProcessor.cs
- DateTimePicker.cs
- SettingsAttributeDictionary.cs
- DateTimeOffsetAdapter.cs
- SortableBindingList.cs
- QilInvokeEarlyBound.cs
- VirtualPath.cs
- ScrollableControl.cs
- Marshal.cs
- XmlSchemaGroup.cs
- TakeOrSkipWhileQueryOperator.cs
- SamlSerializer.cs
- GridViewUpdateEventArgs.cs
- TextRangeEditTables.cs
- RowUpdatedEventArgs.cs
- DataExpression.cs
- DocumentGrid.cs
- Border.cs
- ChtmlImageAdapter.cs
- Tag.cs
- UrlAuthFailedErrorFormatter.cs
- ByteArrayHelperWithString.cs
- GridViewUpdateEventArgs.cs
- Column.cs
- XamlDesignerSerializationManager.cs
- CqlBlock.cs
- WorkflowMarkupSerializer.cs
- DummyDataSource.cs
- CompilerHelpers.cs
- SQLDoubleStorage.cs
- IApplicationTrustManager.cs
- SAPICategories.cs
- ErrorFormatterPage.cs
- CriticalExceptions.cs
- StringBuilder.cs
- ColumnHeader.cs
- FacetChecker.cs
- TableLayoutColumnStyleCollection.cs