예제 #1
0
        public static bool TryCreate(IEnumerable <byte[]> rowVersions, out byte[] eTag)
        {
            if (rowVersions == null)
            {
                throw new ArgumentNullException(nameof(rowVersions));
            }


            if (rowVersions.Any() && rowVersions.All(i => i != null))
            {
                BitArray bits = new BitArray(rowVersions.First());

                foreach (var y in rowVersions.Skip(1))
                {
                    bits = bits.Xor(new BitArray(y));
                }

                eTag = BitHelper.ConvertToBytes(bits);
                return(true);
            }
            else
            {
                eTag = null;
                return(false);
            }
        }
예제 #2
0
 public static bool TryCreate(DateTimeOffset timestamp, out byte[] eTag)
 {
     eTag = BitHelper.ConvertToBytes(timestamp);
     return(true);
 }