public async Task Add(OutboxMessage message) { var createdAtUtc = new DateTimeOffset(message.CreatedAtUtc).ToUnixTimeSeconds(); var timeToLiveUtc = new DateTimeOffset(DateTime.UtcNow.AddMinutes(5)).ToUnixTimeSeconds(); var request = new PutItemRequest { TableName = DynamoTables.LOGON_OUTBOXMESSAGES, Item = new Dictionary <string, AttributeValue> { { "Id", new AttributeValue { S = message.Id.ToString() } }, { "Type", new AttributeValue { S = message.Type } }, { "Data", new AttributeValue { S = message.Data } }, { "CreatedAtUtc", new AttributeValue { N = createdAtUtc.ToString() } }, { "ProcessedAtUtc", new AttributeValue { NULL = true } }, { "TimeToLive", new AttributeValue { N = timeToLiveUtc.ToString() } }, } }; await _client.CreateAsync(request, CancellationToken.None); }
public async Task CreateAsync(AppUser user, CancellationToken cancellationToken) { var createdAtUtc = new DateTimeOffset(user.CreatedAtUtc).ToUnixTimeSeconds(); var updatedAtUtc = new DateTimeOffset(user.UpdatedAtUtc).ToUnixTimeSeconds(); var request = new PutItemRequest { TableName = DynamoTables.LOGON_APPUSERS, Item = new Dictionary <string, AttributeValue> { { "Email", new AttributeValue { S = user.Email } }, { "Name", new AttributeValue { S = user.Name } }, { "Password", new AttributeValue { S = user.Password } }, { "CreatedAtUtc", new AttributeValue { N = createdAtUtc.ToString() } }, { "UpdatedAtUtc", new AttributeValue { N = updatedAtUtc.ToString() } }, } }; await _client.CreateAsync(request, cancellationToken); }