Ejemplo n.º 1
0
        public virtual void Merge(EntityChangeInfo changeInfo)
        {
            foreach (var propertyChange in changeInfo.PropertyChanges)
            {
                var existingChange = PropertyChanges.FirstOrDefault(p => p.PropertyName == propertyChange.PropertyName);
                if (existingChange == null)
                {
                    PropertyChanges.Add(propertyChange);
                }
                else
                {
                    existingChange.NewValue = propertyChange.NewValue;
                }
            }

            foreach (var extraProperty in changeInfo.ExtraProperties)
            {
                var key = extraProperty.Key;
                if (ExtraProperties.ContainsKey(key))
                {
                    key = InternalUtils.AddCounter(key);
                }

                ExtraProperties[key] = extraProperty.Value;
            }
        }
 public T GetProperty <T>(string property)
 {
     if (ExtraProperties.ContainsKey(property))
     {
         return((T)ExtraProperties[property]);
     }
     else
     {
         return(default(T));
     }
 }