示例#1
0
        public async Task DeleteMessage(string conversationId, string messageId)
        {
            using (_logger.BeginScope("{ConversationId}", conversationId))
            {
                var stopWatch = Stopwatch.StartNew();
                await _messageStore.DeleteMessage(conversationId, messageId);

                _telemetryClient.TrackMetric("MessageStore.DeleteMessage.Time", stopWatch.ElapsedMilliseconds);
                _telemetryClient.TrackEvent("MessageDeleted");
            }
        }
示例#2
0
        private async Task <Unit> DeleteMessageInternalAsync(Guid messsageId, CancellationToken cancellationToken)
        {
            try
            {
                await messageStore.DeleteMessage(messsageId, cancellationToken);

                await hubContext.Clients.All.ReceiveDeletedMessage(messsageId);

                return(Unit.Value);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#3
0
        public IActionResult Delete(Guid?id)
        {
            if (id.HasValue)
            {
                ISmtp4devMessage message = _messageStore.Messages.FirstOrDefault(m => m.Id == id);

                if (message != null)
                {
                    _messageStore.DeleteMessage(message);
                }
            }
            else
            {
                _messageStore.DeleteAllMessages();
            }

            return(new NoContentResult());
        }