EpmContentDeSerializerBase.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Server / System / Data / Services / Epm / EpmContentDeSerializerBase.cs / 1305376 / EpmContentDeSerializerBase.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//  
// Base Class used for EntityPropertyMappingAttribute related content
// deserializers 
//  
//
// @owner  [....] 
//---------------------------------------------------------------------

namespace System.Data.Services.Common
{ 
#region Namespaces
    using System.ServiceModel.Syndication; 
#endregion 

    ///  
    /// Base EPM deserializer class
    /// 
    internal abstract class EpmContentDeSerializerBase
    { 
        ///  from which to read EPM content
        private readonly SyndicationItem item; 
 
        /// Deserializer state
        private readonly EpmContentDeSerializer.EpmContentDeserializerState state; 

        /// Constructor
        ///  from which to read EPM content
        /// State of the deserializer 
        internal EpmContentDeSerializerBase(SyndicationItem item, EpmContentDeSerializer.EpmContentDeserializerState state)
        { 
            this.item = item; 
            this.state = state;
        } 

        /// Object update interface
        internal UpdatableWrapper Updatable
        { 
            get
            { 
                return this.state.Updatable; 
            }
        } 

        /// Are we deserializing for an update operation
        internal bool IsUpdateOperation
        { 
            get
            { 
                return this.state.IsUpdateOperation; 
            }
        } 

        /// Current service instance
        internal IDataService Service
        { 
            get
            { 
                return this.state.Service; 
            }
        } 

        /// Current service instance
        internal EpmContentDeSerializer.EpmAppliedPropertyInfo PropertiesApplied
        { 
            get
            { 
                return this.state.PropertiesApplied; 
            }
        } 

        /// SyndicationItem to read EPM content from
        protected SyndicationItem Item
        { 
            get
            { 
                return this.item; 
            }
        } 

        /// 
        /// Matches the targetSegment with properties already applied and if finds something already applied considers it a match
        ///  
        /// Target segment for which existing property application is checked for
        /// Properties already applied based on content 
        /// true if already the property for the current segment has been applied 
        internal static bool Match(EpmTargetPathSegment targetSegment, EpmContentDeSerializer.EpmAppliedPropertyInfo propertiesApplied)
        { 
            if (!targetSegment.EpmInfo.Attribute.KeepInContent)
            {
                return propertiesApplied.Lookup(targetSegment.EpmInfo.Attribute.SourcePath);
            } 
            else
            { 
                return true; 
            }
        } 
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK