Ejemplo n.º 1
0
        public async Task SendMessage(string to, string text)
        {
            var userName = HttpContext.User.Identity.Name;
            var message  = new Message()
            {
                ConversationId = to, Text = text, Date = DateTime.Now
            };
            var conv = await _chatManager.AddMessageAsync(userName, to, message);

            if (conv == null)
            {
                return;
            }
            foreach (var attendee in conv.Attendees)
            {
                var user = await _userManager.FindByIdAsync(attendee.UserId);

                if (user != null && user.UserName != userName)
                {
                    _hub.Clients.Group(user.UserName).messageReceived(new MessageViewModel()
                    {
                        ConversationId = to, Date = message.Date, From = HttpContext.User.Identity.Name, Text = text
                    });
                }
            }
        }