Esempio n. 1
0
        public IActionResult SendMessage([FromQuery(Name = "id")] int id, [FromBody] MessageRequestDto message)
        {
            if (id == 0)
            {
                return(new NotFoundObjectResult("Cannot resolve this url"));
            }

            var chatRoom = ChatRoomRepository.GetById(id);

            if (chatRoom == null)
            {
                return(new NotFoundObjectResult($"Cannot find chat room with id {id}"));
            }

            var existingUser = chatRoom.Users.FirstOrDefault(x => x.UserName == message.Name);

            if (existingUser == null)
            {
                return(new NotFoundObjectResult($"User with name {message.Name} not found in chat with id = {id}"));
            }

            var hubMessage = new MessageResponseDto
            {
                Name    = existingUser.UserName,
                Message = message.Message,
                Time    = DateTime.Now
            };

            return(new OkObjectResult(hubMessage));
        }
Esempio n. 2
0
        public IActionResult JoinChat([FromQuery(Name = "id")] int id, [FromBody] UserRequestDto user)
        {
            if (id == 0)
            {
                return(new NotFoundObjectResult("Cannot resolve this url"));
            }

            var chatRoom = ChatRoomRepository.GetById(id);

            if (chatRoom == null)
            {
                return(new NotFoundObjectResult($"Cannot find chat room with id {id}"));
            }

            var existingUser = chatRoom.Users.FirstOrDefault(x => x.UserName == user.Name);

            if (existingUser != null)
            {
                return(new ConflictObjectResult($"User with name {user.Name} already in room"));
            }

            chatRoom.Users.Add(new Connection
            {
                UserName = user.Name,
            });

            ChatRoomRepository.Save();

            return(new OkResult());
        }
Esempio n. 3
0
        private async void MakeChatroom(int bobs_ID)
        {
            Response res = Task.FromResult <Response>(await ChatRoomRepository.PostChatRoom(bobs_ID)).Result;

            if (res.Success == true)
            {
                VindRitChatVM.ID = res.NewID.Value;

                Bob.All          bob             = VindRitVM.SelectedBob;
                Libraries.Socket socketSendToBob = new Libraries.Socket()
                {
                    From   = MainViewVM.USER.ID, //from user
                    To     = bob.User.ID,        //to bob
                    Status = true,
                    Object = res.NewID.Value
                };

                Libraries.Socket socketSendToUser = new Libraries.Socket()
                {
                    From   = bob.User.ID,        //from bob
                    To     = MainViewVM.USER.ID, //to user
                    Status = true,
                    Object = res.NewID.Value
                };


                MainViewVM.socket.Emit("chatroom_OPEN:send", JsonConvert.SerializeObject(socketSendToBob));  //bob
                MainViewVM.socket.Emit("chatroom_OPEN:send", JsonConvert.SerializeObject(socketSendToUser)); //bob
            }
        }
Esempio n. 4
0
 public UnitOfWork(DataContext context)
 {
     _context = context;
     Auth     = new AuthRepository(_context);
     ChatRoom = new ChatRoomRepository(_context);
     Message  = new MessageRepository(_context);
     ChatUser = new ChatUserRepository(_context);
     User     = new AuthRepository(_context);
 }
Esempio n. 5
0
        public static async Task GenerateData(ChattyContext context)
        {
            var chatRoomRepository = new ChatRoomRepository(context);

            chatRoomRepository.Create(new ChatRoom
            {
                Name = "Default Room",
            });

            await chatRoomRepository.SaveChangesAsync();
        }
Esempio n. 6
0
        public IActionResult GetById([FromQuery(Name = "id")] int id)
        {
            if (id == 0)
            {
                return(new NotFoundObjectResult("Cannot resolve this url"));
            }

            var chatRoom = ChatRoomRepository.GetById(id);

            if (chatRoom == null)
            {
                return(new NotFoundObjectResult($"Cannot find chat room with id {id}"));
            }

            return(new OkObjectResult(new ChatRoomResponseDto(chatRoom)));
        }
Esempio n. 7
0
        public IActionResult Create(ChatRoomRequestDto chatroom)
        {
            if (ChatRoomRepository.GetByName(chatroom.Name) != null)
            {
                return(new ConflictObjectResult($"Room with name {chatroom.Name} already exists"));
            }

            var newChatRoom = new ChatRoom
            {
                Name   = chatroom.Name,
                Status = "live",
                Uuid   = Guid.NewGuid().ToString()
            };

            ChatRoomRepository.Create(newChatRoom);

            return(new OkObjectResult(new ChatRoomResponseDto(newChatRoom)));
        }
Esempio n. 8
0
        private async void GetChatComments()
        {
            await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() =>
            {
                ChatRoom.All lijst = await ChatRoomRepository.GetChatRoom(MainViewVM.ChatRoom.ID);

                if (lijst.ChatComments != null)
                {
                    for (int i = 0; i < lijst.ChatComments.Count; i++)
                    {
                        HorizontalAlignment aligment = HorizontalAlignment.Left;
                        SolidColorBrush background   = new SolidColorBrush(Color.FromArgb(255, 199, 199, 204));
                        SolidColorBrush forground    = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0));

                        if (lijst.ChatComments[i].FromUser_ID == MainViewVM.USER.ID)
                        {
                            aligment   = HorizontalAlignment.Left;
                            background = new SolidColorBrush(Color.FromArgb(255, 199, 199, 204));
                            forground  = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0));
                        }
                        else
                        {
                            aligment   = HorizontalAlignment.Right;
                            background = new SolidColorBrush(Color.FromArgb(255, 76, 217, 100));
                            forground  = new SolidColorBrush(Color.FromArgb(255, 255, 255, 255));
                        }
                        lijst.ChatComments[i].Alignment  = aligment;
                        lijst.ChatComments[i].Background = background;
                        lijst.ChatComments[i].Foreground = forground;
                    }
                }
                else
                {
                    //geen comments
                }



                this.ChatRoom = lijst;
                RaiseAll();
            });
        }
Esempio n. 9
0
        public IActionResult Exit([FromQuery(Name = "id")] int id, [FromBody] UserRequestDto user)
        {
            if (id == 0)
            {
                return(new NotFoundObjectResult("Cannot resolve this url"));
            }

            var chatRoom = ChatRoomRepository.GetById(id);

            if (chatRoom == null)
            {
                return(new NotFoundObjectResult($"Cannot find chat room with id {id}"));
            }

            var existingUser = chatRoom.Users.FirstOrDefault(x => x.UserName == user.Name);

            if (existingUser == null)
            {
                return(new NotFoundObjectResult($"User with name {user.Name} not found in chat with id = {id}"));
            }

            ConnectionsRepository.DeleteUserFromChat(user.Name, chatRoom);
            return(new OkResult());
        }
Esempio n. 10
0
        private async Task <Boolean> AddComment_task()
        {
            ChatComment comment = new ChatComment()
            {
                ChatRooms_ID = MainViewVM.ChatRoom.ID,
                Comment      = this.ChatComment
            };
            Response res = await ChatRoomRepository.PostChatComment(comment);

            if (res.Success == true)
            {
                int              bobID  = ChatRoom.ChatRoom.Bobs_ID;
                Bob.All          bob    = Task.FromResult <Bob.All>(await BobsRepository.GetBobById(bobID)).Result;
                int              userID = ChatRoom.ChatRoom.Users_ID;
                Libraries.Socket socketSendToBob;
                Libraries.Socket socketSendToUser;

                if (MainViewVM.USER.IsBob == false)
                {
                    socketSendToBob = new Libraries.Socket()
                    {
                        From    = MainViewVM.USER.ID,
                        To      = bob.User.ID,
                        Status  = true,
                        Object  = comment.Comment,
                        Object2 = true
                    };
                    socketSendToUser = new Libraries.Socket()
                    {
                        From    = bob.User.ID,
                        To      = ChatRoom.ChatRoom.Users_ID,
                        Status  = true,
                        Object  = comment.Comment,
                        Object2 = false
                    };
                }
                else
                {
                    socketSendToBob = new Libraries.Socket()
                    {
                        From    = MainViewVM.USER.ID,
                        To      = bob.User.ID,
                        Status  = true,
                        Object  = comment.Comment,
                        Object2 = false
                    };
                    socketSendToUser = new Libraries.Socket()
                    {
                        From    = bob.User.ID,
                        To      = ChatRoom.ChatRoom.Users_ID,
                        Status  = true,
                        Object  = comment.Comment,
                        Object2 = true
                    };
                }



                MainViewVM.socket.Emit("chatroom_COMMENT:send", JsonConvert.SerializeObject(socketSendToUser));
                MainViewVM.socket.Emit("chatroom_COMMENT:send", JsonConvert.SerializeObject(socketSendToBob));

                this.ChatComment = "";
                RaiseAll();
            }
            return(res.Success);
        }
 /// <summary>
 /// Saves given chat room and returns latest chat room list.
 /// </summary>
 /// <param name="chatRoomName">Chat room name.</param>
 /// <returns>Latest chat room list.</returns>
 public static List <ChatRoom> SaveAndGetLatestChatRoomList(string chatRoomName)
 {
     return(ChatRoomRepository.SaveAndGetLatestChatRoomList(chatRoomName));
 }
 /// <summary>
 /// Lists all recorded chat rooms.
 /// </summary>
 /// <returns>Chat room list.</returns>
 public static List <ChatRoom> ListChatRooms()
 {
     return(ChatRoomRepository.ListChatRooms());
 }
 public ChatRoomMessagesController(ChatRoomRepository chatRoomRepository) =>
Esempio n. 14
0
 public ChatRoomWebSocketMiddleware(RequestDelegate next, ChatRoomRepository chatRoomRepository)
 {
     _next = next;
     _chatRoomRepository = chatRoomRepository;
 }
Esempio n. 15
0
 public ChatRoomController(ChatRoomRepository chatRoomRepository)
 {
     repository = chatRoomRepository;
 }