private async void ListBoxRooms_SelectionChanged(object sender, SelectionChangedEventArgs e) { RoomViewModel selectedRoom = ListBoxRooms.SelectedItem as RoomViewModel; if (selectedRoom != null) { await hub.Join(selectedRoom.Name); User.CurrentRoom = selectedRoom.Name; txtRoomName.Text = User.CurrentRoom; // Get users and messages Users = await hub.GetUsers(selectedRoom.Name); Messages = await hub.GetMessageHistory(selectedRoom.Name); // Bind them to ListViews ListViewMessages.ItemsSource = Messages; ListViewUsers.ItemsSource = Users; // Auto-scroll to bottom ListViewMessages.Items.MoveCurrentToLast(); ListViewMessages.ScrollIntoView(ListViewMessages.Items.CurrentItem); txtOnlineCounter.Text = string.Format("WHO'S HERE ({0})", Users.Count); CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(ListViewUsers.ItemsSource); view.Filter = Filter; } }
public void AddMessage(MessageViewModel message) { Messages.Add(message); ListViewMessages.Items.MoveCurrentToLast(); ListViewMessages.ScrollIntoView(ListViewMessages.Items.CurrentItem); }
protected void LinkButtonInbox_Click(object sender, EventArgs e) { MultiView2.ActiveViewIndex = 2; string query = "SELECT Message, [From], Datetime, Seen, Id FROM Messages WHERE [To] ='Admin' ORDER BY Datetime DESC, [From];select f.FilePath, f.Datetime,f.[From],f.Seen,f.Id from Files f where f.[To]='Admin' order by f.Datetime desc"; dbConnect db = new dbConnect(); DataSet dset = db.executeSelectStatemant(query); ListViewMessages.DataSource = dset.Tables[0]; ListViewMessages.DataBind(); ListViewFiles.DataSource = dset.Tables[1]; ListViewFiles.DataBind(); }
private void RegisterEvents() { connection.On <MessageViewModel>("newMessage", (message) => { Messages.Add(message); ListViewMessages.Items.MoveCurrentToLast(); ListViewMessages.ScrollIntoView(ListViewMessages.Items.CurrentItem); }); connection.On <string, string>("getProfileInfo", (displayName, avatar) => { txtUsername.Text = displayName; Uri uri = new Uri(@"/Images/Avatars/" + avatar, UriKind.Relative); imgAvatar.Source = new BitmapImage(uri); }); connection.On <UserViewModel>("addUser", (user) => { Users.Add(user); txtOnlineCounter.Text = $"WHO'S HERE ({Users.Count})"; }); connection.On <UserViewModel>("removeUser", (user) => { var userToRemove = Users.Where(u => u.Username == user.Username).FirstOrDefault(); Users.Remove(userToRemove); txtOnlineCounter.Text = $"WHO'S HERE ({Users.Count})"; }); connection.On <RoomViewModel>("addChatRoom", (room) => { Rooms.Add(room); }); connection.On <RoomViewModel>("removeChatRoom", (room) => { var roomToRemove = Rooms.Where(r => r.Id == room.Id).FirstOrDefault(); Rooms.Remove(roomToRemove); }); connection.On <string>("onError", (error) => { MessageBox.Show(error); }); connection.On <string>("onRoomDeleted", (message) => { ListBoxRooms.SelectedIndex = 0; txtOnlineCounter.Text = $"WHO'S HERE ({Users.Count})"; }); }
protected void LinkButtonInbox_Click(object sender, EventArgs e) { MultiView1.ActiveViewIndex = 2; string query = "SELECT Message, [From], Datetime, Seen, Id FROM Messages WHERE [To] ='Dept-" + id + "' ORDER BY Datetime DESC, [From]"; dbConnect db = new dbConnect(); DataSet dset = db.executeSelectStatemant(query); if (!dset.HasErrors && dset.Tables[0].Rows.Count > 0) { ListViewMessages.DataSource = dset.Tables[0]; ListViewMessages.DataBind(); } query = "select f.FilePath, f.Datetime,f.[From],f.Seen,f.Id from Files f where f.[To]='Dept-" + id + "' order by f.Datetime desc"; dset.Clear(); dset = db.executeSelectStatemant(query); if ((!dset.HasErrors) && dset.Tables[0].Rows.Count > 0) { ListViewFiles.DataSource = dset.Tables[0]; ListViewFiles.DataBind(); } }
private async void ListBoxRooms_SelectionChanged(object sender, SelectionChangedEventArgs e) { var selectedRoom = ListBoxRooms.SelectedItem as RoomViewModel; if (selectedRoom != null) { await connection.SendAsync("Join", selectedRoom.Name); User.CurrentRoom = selectedRoom.Name; txtRoomName.Text = selectedRoom.Name; await GetUsers(selectedRoom.Name); await GetMessages(selectedRoom.Name); ListViewMessages.Items.MoveCurrentToLast(); ListViewMessages.ScrollIntoView(ListViewMessages.Items.CurrentItem); txtOnlineCounter.Text = $"WHO'S HERE ({Users.Count})"; CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(ListViewUsers.ItemsSource); view.Filter = Filter; } }
static extern int PostMessage(IntPtr hWnd, ListViewMessages Msg, int wParam, ref LVITEMW lvitem);
private static extern int SendMessage(IntPtr hWnd, ListViewMessages Msg, int wParam, ref LVITEMA lvitem);
public static extern void SendMessage(IntPtr hWnd, ListViewMessages msg, int wParam, ref LVITEM lParam);
internal static extern bool SendMessage(IntPtr hWnd, ListViewMessages msg, int wParam, ref LV_ITEM lParam);
private static extern IntPtr SendMessage(IntPtr hWnd, ListViewMessages msg, int wParam, ListViewSetItemCountFlags lParam);
static extern int SendMessage(IntPtr hWnd, ListViewMessages Msg, int wParam, int lvitem);
extern static int PostMessage(IntPtr hWnd, ListViewMessages Msg, int wParam, int lvitem);
extern static int PostMessage(IntPtr hWnd, ListViewMessages Msg, int wParam, ref Rectangle lvitem);
extern static int SendMessage(IntPtr hWnd, ListViewMessages Msg, int wParam, ref LVITEMW lvitem);
extern static int SendMessage(IntPtr hWnd, ListViewMessages Msg, int wParam, ref LVHITTESTINFO lvhti);
static extern int SendMessage(IntPtr hWnd, ListViewMessages Msg, int wParam, ref LVHITTESTINFO lvhti);
static extern int SendMessage(IntPtr hWnd, ListViewMessages Msg, int wParam, ref Rectangle lvitem);
protected void TimerRefresh_Tick(object sender, EventArgs e) { ListViewMessages.DataBind(); }
private static extern int SendMessage(IntPtr hWnd, ListViewMessages Msg, int wParam, int lvitem);
internal static extern bool SendMessage(IntPtr hWnd, ListViewMessages msg, Int32 wParam, ref LV_ITEM lParam);