Пример #1
0
        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);
        }