Example #1
0
		public virtual object CloneWithCounterparts(ICollectionSource sourceProvider, object
			 originalMap, IReflectClass claxx, ICounterpartFinder elementCloner)
		{
			IDictionary original = (IDictionary)originalMap;
			IDictionary result = (IDictionary)EmptyClone(sourceProvider, original, claxx);
			CopyState(original, result, elementCloner);
			return result;
		}
Example #2
0
		public virtual void CopyState(object original, object destination, ICounterpartFinder
			 counterpartFinder)
		{
			if (_mapHandler.CanHandle(original))
			{
				_mapHandler.CopyState(original, destination, counterpartFinder);
			}
			else
			{
				ReplicationPlatform.CopyCollectionState(original, destination, counterpartFinder);
			}
		}
Example #3
0
 public virtual void CopyState(object original, object destination, ICounterpartFinder
                               counterpartFinder)
 {
     if (_mapHandler.CanHandle(original))
     {
         _mapHandler.CopyState(original, destination, counterpartFinder);
     }
     else
     {
         ReplicationPlatform.CopyCollectionState(original, destination, counterpartFinder);
     }
 }
        public static void CopyCollectionState(object original, object destination, ICounterpartFinder counterpartFinder)
        {
            IEnumerable            originalCollection    = (IEnumerable )original;
            ICollectionInitializer destinationCollection = CollectionInitializer.For(destination);

            destinationCollection.Clear();

            foreach (object element in originalCollection)
            {
                object counterpart = counterpartFinder.FindCounterpart(element);
                destinationCollection.Add(counterpart);
            }
        }
Example #5
0
		public virtual void CopyState(object original, object destination, ICounterpartFinder
			 counterpartFinder)
		{
			IDictionary originalMap = (IDictionary)original;
			IDictionary destinationMap = (IDictionary)destination;
			destinationMap.Clear();
			IEnumerator it = originalMap.GetEnumerator();
			while (it.MoveNext())
			{
				DictionaryEntry entry = (DictionaryEntry)it.Current;
				object keyClone = counterpartFinder.FindCounterpart(entry.Key);
				object valueClone = counterpartFinder.FindCounterpart(entry.Value);
				destinationMap[keyClone] = valueClone;
			}
		}
Example #6
0
        public virtual void CopyState(object original, object destination, ICounterpartFinder
                                      counterpartFinder)
        {
            IDictionary originalMap    = (IDictionary)original;
            IDictionary destinationMap = (IDictionary)destination;

            destinationMap.Clear();
            IEnumerator it = originalMap.GetEnumerator();

            while (it.MoveNext())
            {
                DictionaryEntry entry      = (DictionaryEntry)it.Current;
                object          keyClone   = counterpartFinder.FindCounterpart(entry.Key);
                object          valueClone = counterpartFinder.FindCounterpart(entry.Value);
                destinationMap[keyClone] = valueClone;
            }
        }
Example #7
0
		public virtual object CloneWithCounterparts(ICollectionSource sourceProvider, object
			 originalCollection, IReflectClass claxx, ICounterpartFinder counterpartFinder)
		{
			if (_mapHandler.CanHandleClass(claxx))
			{
				return _mapHandler.CloneWithCounterparts(sourceProvider, originalCollection, claxx
					, counterpartFinder);
			}
			ICollection original = (ICollection)originalCollection;
			ICollection result = (ICollection)EmptyClone(sourceProvider, originalCollection, 
				claxx);
			CopyState(original, result, counterpartFinder);
			return result;
		}
Example #8
0
        public virtual object CloneWithCounterparts(ICollectionSource sourceProvider, object
                                                    originalCollection, IReflectClass claxx, ICounterpartFinder counterpartFinder)
        {
            if (_mapHandler.CanHandleClass(claxx))
            {
                return(_mapHandler.CloneWithCounterparts(sourceProvider, originalCollection, claxx
                                                         , counterpartFinder));
            }
            ICollection original = (ICollection)originalCollection;
            ICollection result   = (ICollection)EmptyClone(sourceProvider, originalCollection,
                                                           claxx);

            CopyState(original, result, counterpartFinder);
            return(result);
        }
Example #9
0
        public virtual object CloneWithCounterparts(ICollectionSource sourceProvider, object
                                                    originalMap, IReflectClass claxx, ICounterpartFinder elementCloner)
        {
            IDictionary original = (IDictionary)originalMap;
            IDictionary result   = (IDictionary)EmptyClone(sourceProvider, original, claxx);

            CopyState(original, result, elementCloner);
            return(result);
        }