Example #1
0
        /// <summary>
        /// Adds diff object if it does not exists, or updated if it exists
        /// </summary>
        /// <param name="diffObject">The diff object.</param>
        /// <returns></returns>
        /// <exception cref="System.ArgumentNullException">diffObject</exception>
        public DiffObject AddOrUpdate(DiffObject diffObject)
        {
            if (diffObject == null)
            {
                throw new ArgumentNullException(nameof(diffObject));
            }

            return(diffObjects.AddOrUpdate(diffObject.Id, diffObject, (key, existingDiffObject) =>
            {
                //null is marker for no value
                if (diffObject.Left != null)
                {
                    existingDiffObject.Left = diffObject.Left;
                }

                //null is marker for no value
                if (diffObject.Right != null)
                {
                    existingDiffObject.Right = diffObject.Right;
                }

                return existingDiffObject;
            }));
        }
Example #2
0
 public bool TryGet(int id, out DiffObject diffObject)
 {
     return(diffObjects.TryGetValue(id, out diffObject));
 }