public static void SetKey(this Metadata metadata, byte[]?key) { if (key is null) { return; } metadata.PartitionKey = Convert.ToBase64String(key); metadata.PartitionKeyB64Encoded = true; }
public static DateTimeOffset GetDeliverAtTimeAsDateTimeOffset(this Metadata metadata) => DateTimeOffset.FromUnixTimeMilliseconds(metadata.DeliverAtTime);
public static void SetKey(this Metadata metadata, string?key) { metadata.PartitionKey = key; metadata.PartitionKeyB64Encoded = false; }
public static byte[]? GetKeyAsBytes(this Metadata metadata) => metadata.PartitionKeyB64Encoded ? Convert.FromBase64String(metadata.PartitionKey) : null;
public static void SetEventTime(this Metadata metadata, DateTimeOffset timestamp) => metadata.EventTime = (ulong)timestamp.ToUnixTimeMilliseconds();
public static DateTimeOffset GetEventTimeAsDateTimeOffset(this Metadata metadata) => DateTimeOffset.FromUnixTimeMilliseconds((long)metadata.EventTime);
public static void SetDeliverAtTime(this Metadata metadata, DateTimeOffset timestamp) => metadata.DeliverAtTime = timestamp.ToUnixTimeMilliseconds();