Remove() public method

public Remove ( FluorineFx.Data.Identity identity ) : void
identity FluorineFx.Data.Identity
return void
示例#1
0
        public void RemoveIdentityFromSequence(Sequence sequence, Identity identity, int position, DataServiceTransaction dataServiceTransaction)
        {
            if (position == -1)
            {
                return;
            }
            lock (_objLock)
            {
                IDictionary sequenceIdMap = _itemIdToSequenceIdMapHash[identity] as IDictionary;
                if (sequenceIdMap != null)
                {
                    sequenceIdMap.Remove(sequence.Id);
                    //Release the item if it does'n occur in any sequence
                    if (sequenceIdMap.Count == 0)
                    {
                        _itemIdToItemHash.Remove(identity);
                        _itemIdToSequenceIdMapHash.Remove(identity);
                    }
                    if (sequence[position].Equals(identity))
                    {
                        sequence.RemoveAt(position);
                    }
                    else
                    {
                        sequence.Remove(identity);
                    }

                    if (dataServiceTransaction != null)
                    {
                        dataServiceTransaction.GenerateUpdateCollectionMessage(UpdateCollectionRange.DeleteFromCollection, _dataDestination, sequence, position, identity);
                    }
                }
                else
                {
                    _itemIdToItemHash.Remove(identity);
                    sequence.Remove(identity);
                }
            }
        }
示例#2
0
 public void RemoveIdentityFromSequence(Sequence sequence, Identity identity, int position, DataServiceTransaction dataServiceTransaction)
 {
     if (position != -1)
     {
         lock (_objLock)
         {
             IDictionary dictionary = this._itemIdToSequenceIdMapHash[identity] as IDictionary;
             if (dictionary != null)
             {
                 dictionary.Remove(sequence.Id);
                 if (dictionary.Count == 0)
                 {
                     this._itemIdToItemHash.Remove(identity);
                     this._itemIdToSequenceIdMapHash.Remove(identity);
                 }
                 if (sequence[position].Equals(identity))
                 {
                     sequence.RemoveAt(position);
                 }
                 else
                 {
                     sequence.Remove(identity);
                 }
                 if (dataServiceTransaction != null)
                 {
                     dataServiceTransaction.GenerateUpdateCollectionMessage(1, this._dataDestination, sequence, position, identity);
                 }
             }
             else
             {
                 this._itemIdToItemHash.Remove(identity);
                 sequence.Remove(identity);
             }
         }
     }
 }
示例#3
0
		public void RemoveIdentityFromSequence(Sequence sequence, Identity identity, int position, DataServiceTransaction dataServiceTransaction)
		{
			if( position == -1 )
				return;
			lock(_objLock)
			{
                IDictionary sequenceIdMap = _itemIdToSequenceIdMapHash[identity] as IDictionary;
                if (sequenceIdMap != null)
                {
                    sequenceIdMap.Remove(sequence.Id);
                    //Release the item if it does'n occur in any sequence
                    if (sequenceIdMap.Count == 0)
                    {
                        _itemIdToItemHash.Remove(identity);
                        _itemIdToSequenceIdMapHash.Remove(identity);
                    }
                    if (sequence[position].Equals(identity))
                        sequence.RemoveAt(position);
                    else
                        sequence.Remove(identity);

                    if (dataServiceTransaction != null)
                        dataServiceTransaction.GenerateUpdateCollectionMessage(UpdateCollectionRange.DeleteFromCollection, _dataDestination, sequence, position, identity);
                }
                else
                {
                    _itemIdToItemHash.Remove(identity);
                    sequence.Remove(identity);
                }
			}
		}