Пример #1
0
        public async Task <IActionResult> SendMessageAsync([FromBody] MessageDto msg)
        {
            var chat = new ChatInfo
            {
                UserId = msg.Sender, FriendId = msg.Receiver, Message = msg.Message
            };

            var senderMessage = await _chatService.CreateChatAsync(chat.ToSenderChatInfo());

            var receiverMessage = await _chatService.CreateChatAsync(chat.ToReceiverChatInfo());

            await _hubContext.Clients.User(msg.Receiver.ToString()).SendAsync("ReceiveOne", receiverMessage);

            await _hubContext.Clients.User(msg.Sender.ToString()).SendAsync("ReceiveOne", senderMessage);

            return(Ok());
        }
Пример #2
0
        public async Task Send(int sender, int receiver, string message)
        {
            try
            {
                var chat = new ChatInfo
                {
                    UserId = sender, FriendId = receiver, Message = message
                };

                var senderMessage = await _chatService.CreateChatAsync(chat.ToSenderChatInfo());

                var receiverMessage = await _chatService.CreateChatAsync(chat.ToReceiverChatInfo());

                await Clients.User(receiver.ToString()).SendAsync("ReceiveOne", receiverMessage);

                await Clients.User(sender.ToString()).SendAsync("ReceiveOne", senderMessage);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
        public async Task RunAsync(ChatSendEvent obj)
        {
            await _chatService.CreateChatAsync(obj.ChatInfo.ToSenderChatInfo());

            await _chatService.CreateChatAsync(obj.ChatInfo.ToReceiverChatInfo());
        }