Beispiel #1
0
 public virtual void Save()
 {
     foreach (ISellableInventoryItemEntryState s in this.LoadedSellableInventoryItemEntryStates)
     {
         SellableInventoryItemEntryStateDao.Save(s);
     }
     foreach (ISellableInventoryItemEntryState s in this._removedSellableInventoryItemEntryStates.Values)
     {
         SellableInventoryItemEntryStateDao.Delete(s);
     }
 }
Beispiel #2
0
        public virtual ISellableInventoryItemEntryState Get(long entrySeqId, bool forCreation, bool nullAllowed)
        {
            SellableInventoryItemEntryId globalId = new SellableInventoryItemEntryId(_sellableInventoryItemState.SellableInventoryItemId, entrySeqId);

            if (_loadedSellableInventoryItemEntryStates.ContainsKey(globalId))
            {
                var state = _loadedSellableInventoryItemEntryStates[globalId];
                if (this._sellableInventoryItemState != null && this._sellableInventoryItemState.ReadOnly == false)
                {
                    ((ISellableInventoryItemEntryState)state).ReadOnly = false;
                }
                return(state);
            }
            if (forCreation || ForReapplying)
            {
                var state = new SellableInventoryItemEntryState(ForReapplying);
                state.SellableInventoryItemEntryId = globalId;
                _loadedSellableInventoryItemEntryStates.Add(globalId, state);
                if (this._sellableInventoryItemState != null && this._sellableInventoryItemState.ReadOnly == false)
                {
                    ((ISellableInventoryItemEntryState)state).ReadOnly = false;
                }
                return(state);
            }
            else
            {
                var state = SellableInventoryItemEntryStateDao.Get(globalId, nullAllowed);
                if (state != null)
                {
                    _loadedSellableInventoryItemEntryStates.Add(globalId, state);
                }
                if (this._sellableInventoryItemState != null && this._sellableInventoryItemState.ReadOnly == false)
                {
                    ((ISellableInventoryItemEntryState)state).ReadOnly = false;
                }
                return(state);
            }
        }