Ejemplo n.º 1
0
 public TimeGuid([NotNull] byte[] bytes)
 {
     if (TimeGuidBitsLayout.GetVersion(bytes) != GuidVersion.TimeBased)
     {
         throw new InvalidOperationException($"Invalid v1 guid: [{string.Join(", ", bytes.Select(x => x.ToString("x2")))}]");
     }
     this.bytes = bytes;
 }
Ejemplo n.º 2
0
        public TimeGuid(Guid guid)
        {
            var timeGuidBytes = ReorderGuidBytesInCassandraWay(guid.ToByteArray());

            if (TimeGuidBitsLayout.GetVersion(timeGuidBytes) != GuidVersion.TimeBased)
            {
                throw new InvalidOperationException($"Invalid v1 guid: {guid}");
            }
            bytes = timeGuidBytes;
        }
Ejemplo n.º 3
0
        public static bool TryParse([CanBeNull] string str, out TimeGuid result)
        {
            result = null;
            if (!Guid.TryParse(str, out var guid))
            {
                return(false);
            }
            var timeGuidBytes = ReorderGuidBytesInCassandraWay(guid.ToByteArray());

            if (TimeGuidBitsLayout.GetVersion(timeGuidBytes) != GuidVersion.TimeBased)
            {
                return(false);
            }
            result = new TimeGuid(timeGuidBytes);
            return(true);
        }
Ejemplo n.º 4
0
        public static bool IsTimeGuid(Guid guid)
        {
            var timeGuidBytes = ReorderGuidBytesInCassandraWay(guid.ToByteArray());

            return(TimeGuidBitsLayout.GetVersion(timeGuidBytes) == GuidVersion.TimeBased);
        }