Descriptor.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 / Client / System / Data / Services / Client / Descriptor.cs / 1305376 / Descriptor.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//  
// represents the response object - either entity or link
//  
//--------------------------------------------------------------------- 

namespace System.Data.Services.Client 
{
    /// 
    /// represents the response object - either entity or link
    ///  
    public abstract class Descriptor
    { 
        #region Fields 

        /// change order 
        private uint changeOrder = UInt32.MaxValue;

        /// was content generated for the entity
        private bool saveContentGenerated; 

        /// was this entity save result processed 
        /// 0 - no processed, otherwise reflects the previous state 
        private EntityStates saveResultProcessed;
 
        /// last save exception per entry
        private Exception saveError;

        /// State of the modified entity or link. 
        private EntityStates state;
 
        #endregion 

        ///  
        /// constructor
        /// 
        /// entity state
        internal Descriptor(EntityStates state) 
        {
            this.state = state; 
        } 

        #region Public Properties 

        /// returns the state of the entity or link object in response.
        public EntityStates State
        { 
            get { return this.state; }
            internal set { this.state = value; } 
        } 

        #endregion 

        #region Internal Properties

        /// true if resource, false if link 
        internal abstract bool IsResource
        { 
            get; 
        }
 
        /// changeOrder
        internal uint ChangeOrder
        {
            get { return this.changeOrder; } 
            set { this.changeOrder = value; }
        } 
 
        /// was content generated for the entity
        internal bool ContentGeneratedForSave 
        {
            get { return this.saveContentGenerated; }
            set { this.saveContentGenerated = value; }
        } 

        /// was this entity save result processed 
        internal EntityStates SaveResultWasProcessed 
        {
            get { return this.saveResultProcessed; } 
            set { this.saveResultProcessed = value; }
        }

        /// last save exception per entry 
        internal Exception SaveError
        { 
            get { return this.saveError; } 
            set { this.saveError = value; }
        } 

        /// 
        /// Returns true if the entry has been modified (and thus should participate in SaveChanges).
        ///  
        internal virtual bool IsModified
        { 
            get 
            {
                System.Diagnostics.Debug.Assert( 
                    (EntityStates.Added == this.state) ||
                    (EntityStates.Modified == this.state) ||
                    (EntityStates.Unchanged == this.state) ||
                    (EntityStates.Deleted == this.state), 
                    "entity state is not valid");
 
                return (EntityStates.Unchanged != this.state); 
            }
        } 

        #endregion
    }
} 

// 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