internal void MarkModified(ObjectSessionState state) { if (this.SessionStateContainsAny(state)) { return; } this.IncludeSessionState(state); if (!this.IsNew) { this.Storage.EnqueueObjectForUpdate(this); } }
private DataObject NewCacheItem(DataId id, ObjectSessionState sessionState) { DataObject objectInstance = this.CreateObjectInstance(); objectInstance.Init(this, id, sessionState); if (id.IsEmpty) { this.Session.EnqueueIdGeneration(objectInstance); } else { this.FObjects.Add(id, objectInstance); } return(objectInstance); }
internal void ClearSessionState() => this.FSessionState = (ObjectSessionState)0;
internal void Init(DataStorage storage, DataId id, ObjectSessionState state) { this.FStorage = storage; this.FId = id; this.FSessionState = state; }
internal void SetSessionState(ObjectSessionState state) => this.FSessionState = state;
internal void ExcludeSessionState(ObjectSessionState state) => this.FSessionState &= ~state;
internal void IncludeSessionState(ObjectSessionState state) => this.FSessionState |= state;
internal bool SessionStateContainsAll(ObjectSessionState states) => (this.SessionState & states) == states;
internal bool SessionStateContainsAny(ObjectSessionState states) => (this.SessionState & states) != (ObjectSessionState)0;