// send message to the whole group public async Task SendToAll(Message message) { _logger.LogInformation($"Sending message: {message?.Text} to group: {message?.SessionName}"); await Clients.Groups(message.SessionName).SendAsync("message", message); await _context.AddAsync(message); await _context.SaveChangesAsync(); await SendToBot(message); }
public async void SendMessage(Message message) { using (var context = new ChatContext()) { await context.AddAsync(message); await context.SaveChangesAsync(); } }
public async Task OnUserConnected(Message message) { try { message.EventId = Event.Connect.GetHashCode(); message.CreatedDate = DateTime.Now; var userChat = chatContext.UsersChat.AsNoTracking().FirstOrDefault(x => x.ConnectionId == Context.ConnectionId); if (userChat != null) { userChat.Name = message.Name; userChat.UpdatedDate = DateTime.Now; chatContext.Update(userChat); await chatContext.SaveChangesAsync(); } else { userChat = new UserChat(); userChat.ConnectionId = Context.ConnectionId; userChat.Name = message.Name; userChat.CreatedDate = DateTime.Now; await chatContext.AddAsync(userChat); await chatContext.SaveChangesAsync(); } message.UserChatId = userChat.UserChatId; message.Text = $"{message.Name} connected."; chatContext.Messages.Add(message); await chatContext.SaveChangesAsync(); logger.LogWarning($@"User ConnectionId: {Context.ConnectionId} Name: {Context.User?.Identity?.Name} Identifier: {Context.UserIdentifier} connected."); await Clients.All.SendAsync("UserConnected", message); } catch (Exception ex) { logger.LogError(ex, ex.Message); } }
public async Task <User> Register(User user) { await _context.AddAsync(user); return(user); }