public virtual async Task <ActionResult <ChatDto> > Create([FromBody] ChatRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var dto = await _chatsService.CreateEntityAsync(request); if (dto == null) { return(StatusCode(500)); } return(CreatedAtAction("GetById", new { id = dto.Id }, dto)); }
public async Task InitializeChat(ChatRequest chatRequest) { var createdChat = await _chatsService.CreateEntityAsync(chatRequest); if (createdChat == null) { return; } var chat = await _chatsService.GetEntityByIdAsync(createdChat.Id); foreach (var user in chat.Users) { if (!UsersConnections.ContainsKey(user.Id)) { continue; } foreach (string connectionId in UsersConnections[user.Id]) { await Clients.Client(connectionId).SendAsync("ChatCreated", chat); } } }