public async Task <Response> CreateResponseAsync() { try { Task deleteMessageTask = new Task(async() => { try { if (request.ConversationId != null && request.ConversationType != null) { await deleteMessagesService.DeleteMessagesAsync(request.ConversationId.Value, request.ConversationType.Value, clientConnection.UserId.Value).ConfigureAwait(false); } else { await deleteMessagesService.DeleteMessagesAsync(clientConnection.UserId.Value).ConfigureAwait(false); } } catch (Exception ex) { Logger.WriteLog(ex); } }); deleteMessageTask.Start(); nodeNoticeService.SendAllMessagesDeletedNodeNoticeAsync(clientConnection.UserId.Value, request.ConversationId, request.ConversationType); return(new ResultResponse(request.RequestId)); } catch (Exception ex) { Logger.WriteLog(ex); return(new ResultResponse(request.RequestId, "An error occurred while deleting messages.", ObjectsLibrary.Enums.ErrorCode.DeleteMessagesProblem)); } }
public async Task HandleAsync() { var user = await loadUsersService.GetUserAsync(notice.UserId).ConfigureAwait(false); if (user.NodeId != nodeConnection.Node.Id) { return; } if (notice.ConversationId != null && notice.ConversationType != null) { await deleteMessagesService.DeleteMessagesAsync(notice.ConversationId.Value, notice.ConversationType.Value, notice.UserId).ConfigureAwait(false); } else { await deleteMessagesService.DeleteMessagesAsync(notice.UserId).ConfigureAwait(false); } }