Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
                }
            }
        }