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
- MergablePropertyAttribute.cs
- HttpCachePolicyBase.cs
- SerialStream.cs
- StateMachine.cs
- EntityStoreSchemaGenerator.cs
- TemplateBuilder.cs
- TreeNodeMouseHoverEvent.cs
- DynamicMethod.cs
- CompilerLocalReference.cs
- VisualBrush.cs
- DesignerVerb.cs
- ArgumentReference.cs
- DataServiceSaveChangesEventArgs.cs
- XomlSerializationHelpers.cs
- ExpressionBinding.cs
- Psha1DerivedKeyGenerator.cs
- ClassicBorderDecorator.cs
- InvalidateEvent.cs
- Or.cs
- XmlWriterDelegator.cs
- CheckoutException.cs
- COM2ComponentEditor.cs
- BooleanKeyFrameCollection.cs
- listitem.cs
- DES.cs
- ClientOptions.cs
- SqlBuilder.cs
- ResourcePart.cs
- AuthorizationRule.cs
- Semaphore.cs
- VolatileEnlistmentState.cs
- FontInfo.cs
- MenuScrollingVisibilityConverter.cs
- PackWebResponse.cs
- RadioButtonPopupAdapter.cs
- ColorConverter.cs
- CodeTypeConstructor.cs
- WasHttpHandlersInstallComponent.cs
- DataListItem.cs
- StorageInfo.cs
- SchemaLookupTable.cs
- ImplicitInputBrush.cs
- IgnoreFlushAndCloseStream.cs
- CommentAction.cs
- Formatter.cs
- AddingNewEventArgs.cs
- AnnotationHelper.cs
- TouchDevice.cs
- StructuralObject.cs
- Hash.cs
- StringAttributeCollection.cs
- Freezable.cs
- AppearanceEditorPart.cs
- EventEntry.cs
- DataGridViewTopRowAccessibleObject.cs
- FontWeights.cs
- GridViewColumnCollection.cs
- ConfigXmlElement.cs
- SchemaHelper.cs
- SqlConnectionString.cs
- ObjectSecurity.cs
- CodeIterationStatement.cs
- DynamicPropertyReader.cs
- BulletChrome.cs
- EntityCommand.cs
- DataRowExtensions.cs
- WindowsSolidBrush.cs
- _WebProxyDataBuilder.cs
- DBDataPermissionAttribute.cs
- DataRelation.cs
- OletxDependentTransaction.cs
- CanonicalFontFamilyReference.cs
- SelectionListDesigner.cs
- DiagnosticTrace.cs
- ResXResourceWriter.cs
- ExportOptions.cs
- ContextDataSourceContextData.cs
- HtmlTableRowCollection.cs
- TypeUsage.cs
- HtmlInputText.cs
- DetailsViewRow.cs
- DaylightTime.cs
- ItemsPresenter.cs
- XmlHierarchyData.cs
- OneWayChannelListener.cs
- DynamicRouteExpression.cs
- CodeAttachEventStatement.cs
- OracleDataReader.cs
- HandlerWithFactory.cs
- IdentifierCollection.cs
- BuildProvider.cs
- BrowserTree.cs
- HttpPostedFile.cs
- Propagator.ExtentPlaceholderCreator.cs
- CodeMemberProperty.cs
- DockPatternIdentifiers.cs
- TemplatedMailWebEventProvider.cs
- ActivityExecutionFilter.cs
- MasterPageCodeDomTreeGenerator.cs
- RequestCache.cs