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