Ejemplo n.º 1
0
 public void CallBackChatAdded(ChatDTO chat)
 {
     App.Current.Dispatcher.BeginInvoke((Action) delegate()
     {
         Thread.Sleep(20);
         UserChats.Add(InitializeChat(chat));
     });
 }
Ejemplo n.º 2
0
 public void PopulateUserChats(List <Chat> chats)
 {
     foreach (Chat chat in chats)
     {
         lock (UserChatsLock)
         {
             UserChats.Add(chat);
         }
     }
 }
Ejemplo n.º 3
0
        public void AddMessage(Message message, string receiverUsername)
        {
            string senderUsername = message.SenderUsername;

            bool found = false;

            foreach (Chat chat in UserChats)
            {
                if (ValidChat(chat, senderUsername, receiverUsername))
                {
                    chat.Messages.Add(message);
                    found = true;
                }
            }

            if (!found)
            {
                Chat newChat = new Chat(receiverUsername, senderUsername, new List <Message>());

                newChat.Messages.Add(message);

                lock (UserChatsLock)
                {
                    UserChats.Add(newChat);
                }
            }

            if (_SelectedChat != null)
            {
                if (_SelectedChat.RecipientUsername == receiverUsername || CUsername == receiverUsername)
                {
                    Application.Current.Dispatcher.Invoke(delegate
                    {
                        ChatMessages.Add(senderUsername + ": " + message.Content);
                    });

                    OnPropertyChanged("SelectedChat");
                }
            }
        }
Ejemplo n.º 4
0
        protected override async Task OnInitializedAsync()
        {
            var claimsPrincipal = await AuthenticationStateProvider.GetAuthenticationStateAsync();

            var user = await UserManager.GetUserAsync(claimsPrincipal.User);

            if (user is null)
            {
                var userName = UserManager.GetUserName(claimsPrincipal.User);

                if (userName is null)
                {
                    return;
                }

                user = await UserManager.Users.FirstOrDefaultAsync(x => x.UserName == userName);
            }

            _currentChatUser = DbContext.ChatUsers.Include(x => x.UserNameColor).FirstOrDefault(x => x.AppUser == user);
            //.Include(x => x.AppUser)
            //.Include(x => x.UserNameColor)
            //.FirstOrDefaultAsync(x => x.AppUser == user);

            // todo: rewrite query
            var query = DbContext.ChatRooms
                        .Include(x => x.ChatMessages)
                        .Include(x => x.ChatUsers).ThenInclude(x => x.UserNameColor)
                        .Include(x => x.ChatUsers).ThenInclude(x => x.AppUser);


            foreach (var chatRoom in query)
            {
                if (chatRoom.ChatUsers.Contains(_currentChatUser))
                {
                    UserChats.Add(chatRoom);
                }
            }

            await base.OnInitializedAsync();
        }
Ejemplo n.º 5
0
        public ApplicationContext()
        {
            Database.EnsureDeleted();
            Database.EnsureCreated();

            UserData user = new UserData();

            user.Login    = "******";
            user.Password = "******";

            Users.Add(user);
            UserData user1 = new UserData();

            user1.Login    = "******";
            user1.Password = "******";
            Users.Add(user1);

            UserData user2 = new UserData();

            user2.Login    = "******";
            user2.Password = "******";
            Users.Add(user2);
            SaveChanges();

            Token token = new Token();

            token.UserId  = user.Id;
            token.TokenId = "dferw";
            Tokens.Add(token);

            Token token1 = new Token();

            token1.UserId  = user1.Id;
            token1.TokenId = "2w3e4r";
            Tokens.Add(token1);

            Token token2 = new Token();

            token2.UserId  = user2.Id;
            token2.TokenId = "98765";
            Tokens.Add(token2);
            SaveChanges();

            Chat chat = new Chat();

            chat.Name   = "Geography";
            chat.UserId = user.Id;

            Chats.Add(chat);
            SaveChanges();

            UserChat userChat = new UserChat();

            userChat.ChatId = chat.Id;
            userChat.UserId = user.Id;
            UserChats.Add(userChat);
            SaveChanges();

            UserChat userChat1 = new UserChat();

            userChat1.ChatId = chat.Id;
            userChat1.UserId = user1.Id;
            UserChats.Add(userChat1);
            SaveChanges();

            UserChat userChat2 = new UserChat();

            userChat2.ChatId = chat.Id;
            userChat2.UserId = user2.Id;
            UserChats.Add(userChat2);
            SaveChanges();
        }