public async Task CreateChatAsync(Chat chat) { /////////////// throw if (chat == null) { return; } chat.Name = StringSanitizer.CleanName(chat.Name); _unitOfWork.Chats.Insert(chat); _unitOfWork.SaveChanges(); var chatReadDto = _mapper.Map <ChatReadDto>(chat); var chatReadDtoString = JsonConvert.SerializeObject(chatReadDto, _settings); foreach (var user in chat.UsersChats.Select(uc => uc.User)) { if (_connectedUsers.ContainsKey(user)) { await _hub.Clients.Client(_connectedUsers[user]).SendAsync("NewChatCreated", chatReadDtoString); } } }
public async Task UpdateChatNameAsync(int chatId, string name) { var chat = _unitOfWork.Chats.GetByID(chatId); /////////throw if (chat == null) { return; } chat.Name = StringSanitizer.CleanName(chat.Name); chat.Name = name; _unitOfWork.SaveChanges(); foreach (var user in chat.UsersChats.Select(uc => uc.User)) { var connectedUsers = _connectionsManager.ConnectedUsersByAppUser; if (connectedUsers.ContainsKey(user)) { await _hub.Clients.Client(connectedUsers[user]).SendAsync("ChatNameChanged", chatId, name); } } }