Exemplo n.º 1
0
        public async Task <ActionResult> AddReceivedReceipt(
            [FromBody] MessageReceivedReceipt receipt,
            CancellationToken cancellationToken)
        {
            await _store.AddReadReceiptAsync(receipt, cancellationToken);

            return(Ok());
        }
        public async Task AddReceivedReceiptAsync(
            MessageReceivedReceipt readReceipt,
            CancellationToken cancellationToken)
        {
            HttpClient client = _httpClientFactory.CreateClient("Magnet");

            var request = new HttpRequestMessage(
                HttpMethod.Post,
                $"{client.BaseAddress}stream/receipt");

            request.Content = new StringContent(
                JsonConvert.SerializeObject(readReceipt),
                Encoding.UTF8,
                "application/json");

            HttpResponseMessage result = await client.SendAsync(request, default);

            result.EnsureSuccessStatusCode();
        }
Exemplo n.º 3
0
        public async Task AddReadReceiptAsync(
            MessageReceivedReceipt receipt,
            CancellationToken cancellationToken)
        {
            _logger.LogInformation("Add ReadReceipt to store {messageId}", receipt.MessageId);

            var log = new MessageReceivedLog
            {
                ClientName = receipt.ClientName,
                IsMatch    = receipt.IsMatch,
                ReceivedAt = receipt.ReceivedAt
            };

            UpdateDefinition <MessageRecord> update =
                Builders <MessageRecord> .Update.Push(x => x.ReceivedLog, log);

            UpdateResult updRes = await _dbContext.Messages.UpdateOneAsync(
                x => x.Id == receipt.MessageId,
                update,
                options : new UpdateOptions {
                IsUpsert = false
            },
                cancellationToken);
        }
 public Task AddReceivedReceiptAsync(
     MessageReceivedReceipt readReceipt,
     CancellationToken cancellationToken)
 {
     return(Task.CompletedTask);
 }