Exemple #1
0
        public async Task Send(SendChatMessageInputModel input)
        {
            var sanitizer = new HtmlSanitizer();
            var message   = sanitizer.Sanitize(input.ChatMessage);

            if (string.IsNullOrWhiteSpace(message))
            {
                return;
            }

            var sender = await this.userManager.Users.FirstAsync(u => u.UserName == input.SenderUsername);

            var receiver = await this.userManager.Users.FirstAsync(u => u.UserName == input.ReceiverUsername);

            await this.chatService.SendMessageAsync(input.ChatMessage, sender, receiver, input.GroupName);

            await this.Clients
            .User(receiver.Id)
            .SendAsync("ReceiveMessage", message, sender.UserName, sender.Picture, input.GroupName);

            await this.Clients
            .Caller
            .SendAsync("SendMessage", message, sender.UserName, sender.Picture);
        }
 public MarkMessageReadModel SendChatMessage(SendChatMessageInputModel sendChatMessageInputModel)
 {
     return(Post <MarkMessageReadModel, SendChatMessageInputModel>("mod_chat_send_chat_message", sendChatMessageInputModel));
 }