Esempio n. 1
0
        public async Task SendMessage(string name, string text)
        {
            var message = new ChatMessage
            {
                SenderName = name,
                Text       = text,
                SentAt     = DateTimeOffset.UtcNow
            };

            await chatRoomService.AddMessage(message);

            // Broadcast to all clients
            await Clients.All.SendAsync(
                "ReceiveMessage",
                message.SenderName,
                message.SentAt,
                message.Text);

            var isGameStarted = await chatRoomService.IsGameStarted();

            if (isGameStarted)
            {
                var currentWord = await chatRoomService.GetCurrentWord();

                if (currentWord == text)
                {
                    message = new ChatMessage
                    {
                        SenderName = "Crocodili",
                        Text       = $"{name} win!",
                        SentAt     = DateTimeOffset.UtcNow
                    };

                    await chatRoomService.AddMessage(message);

                    // Broadcast to all clients
                    await Clients.All.SendAsync(
                        "ReceiveMessage",
                        message.SenderName,
                        message.SentAt,
                        message.Text);

                    await StopGame();

                    await StartGame();
                }
            }
        }
Esempio n. 2
0
        public async Task SendMessage(string name, string text, string RoomName)

        {
            var message = new ChatMessage
            {
                SenderName = name,
                Text       = text,
                SentAt     = DateTimeOffset.UtcNow
            };


            await _chatRoomService.AddMessage(RoomName, message);



            //await Clients.Group(RoomName).SendAsync(
            //    "ReceiveMessage",
            //    message.SenderName,
            //    message.SentAt,
            //    message.Text);

            await Clients.Group(RoomName).SendAsync(
                "ReceiveMessage",
                message);
        }
Esempio n. 3
0
        public async Task SendMessage(string name, string text)
        {
            var roomId = await _chatRoomService.GetRoomForConnectionId(Context.ConnectionId);

            var message = new ChatMessage
            {
                SenderName = name,
                Text       = text,
                SendAt     = DateTimeOffset.Now
            };

            await _chatRoomService.AddMessage(roomId, message);

            await Clients.Group(roomId.ToString()).SendAsync("ReciveMessage", message.SenderName, message.SendAt, message.Text);
        }
Esempio n. 4
0
        public async Task SendAgentMessage(Guid roomId, string text)
        {
            var message = new ChatMessage
            {
                SenderName = Context.User.Identity.Name,
                Text       = text,
                SentAt     = DateTimeOffset.Now
            };
            await _chatRoomService.AddMessage(roomId, message);

            await _chatHub.Clients
            .Group(roomId.ToString())
            .SendAsync("ReceiveMessage",
                       message.SenderName,
                       message.SentAt,
                       message.Text);
        }
Esempio n. 5
0
        //metoda koju ce klijent da poziva, imace parametre name (ime ko salje) i text - tekst poruke
        public async Task SendMessage(string name, string text)
        {
            var roomId = _chatRoomService.GetRoomForConnectionId(Context.ConnectionId);

            //objekat koji se kreira iz ChatMessage modela koji se nalazi u Models folderu
            var message = new ChatMessage
            {
                SenderName = name,
                Text       = text,
                SentAt     = DateTimeOffset.UtcNow
            };

            await _chatRoomService.AddMessage(roomId, message);

            //prenosenje poruke Svim klijentima
            await Clients.Group(roomId.ToString()).SendAsync(
                "ReceiveMessage", //ime metode  koju pozivamo na klijentu i prosledjujemo sve parametre koje saljemo klijentu
                message.SenderName,
                message.SentAt,
                message.Text);
        }