private void loadFriends(List <User> friends) { showInfo.Children.Clear(); showInfo.ColumnDefinitions.Clear(); showInfo.RowDefinitions.Clear(); showInfo.ColumnDefinitions.Clear(); showInfo.RowDefinitions.Clear(); showInfo.Children.Clear(); ColumnDefinition c1 = new ColumnDefinition(); c1.Width = new GridLength(130); showInfo.ColumnDefinitions.Add(c1); ColumnDefinition c2 = new ColumnDefinition(); c2.Width = new GridLength(360); showInfo.ColumnDefinitions.Add(c2); foreach (User friend in friends) { Image image1 = new Image(); ImageSource imageSource2 = new BitmapImage(new Uri(friend.photoURL)); image1.Source = imageSource2; image1.Margin = new Thickness(10, 10, 10, 10); Label l1 = new Label(); l1.FontSize = 14; l1.Content = "Name: " + friend.name; l1.Margin = new Thickness(0, 0, 0, 0); Label l2 = new Label(); l2.FontSize = 14; Button b1 = new Button(); if (dbms.isFollowed(userID, friend.id)) { b1.Content = "unfollow"; b1.HorizontalAlignment = HorizontalAlignment.Left; b1.Margin = new Thickness(0, 0, 0, 0); b1.Height = 22; b1.Width = 100; b1.Background = Brushes.LightPink; b1.Foreground = Brushes.White; b1.Click += (sender, eventArgs) => { dbms.unfollow(userID, friend.id); b1.IsEnabled = false; }; } else { b1.Content = "follow"; b1.HorizontalAlignment = HorizontalAlignment.Left; b1.Margin = new Thickness(0, 0, 0, 0); b1.Height = 20; b1.Width = 100; b1.Background = Brushes.LightPink; b1.Foreground = Brushes.White; b1.Click += (sender, eventArgs) => { dbms.followFriend(userID, friend.id); b1.IsEnabled = false; }; } Grid.SetRow(image1, showInfo.RowDefinitions.Count); Grid.SetRowSpan(image1, 3); Grid.SetColumn(image1, 0); Grid.SetRow(l1, showInfo.RowDefinitions.Count); Grid.SetColumn(l1, 1); RowDefinition rowDef5 = new RowDefinition(); rowDef5.Height = new GridLength(30); showInfo.RowDefinitions.Add(rowDef5); Grid.SetRow(l2, showInfo.RowDefinitions.Count); Grid.SetColumn(l2, 1); RowDefinition rowDef6 = new RowDefinition(); rowDef6.Height = new GridLength(30); showInfo.RowDefinitions.Add(rowDef6); Grid.SetRow(b1, showInfo.RowDefinitions.Count); Grid.SetColumn(b1, 1); List <Activity> activities = dbms.getMyJoinedActivities(friend.id); if (activities.Count >= 1) { l2.Content = "Latest joined: " + activities[activities.Count - 1].name; Button btMore = new Button(); btMore.Content = "More joined activities"; btMore.Click += (s, e) => { ShowFriendsActivities showFriendACT = new ShowFriendsActivities(userID, friend.id); showFriendACT.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen; showFriendACT.Show(); this.Close(); }; btMore.HorizontalAlignment = HorizontalAlignment.Left; btMore.Margin = new Thickness(130, 0, 0, 0); btMore.Height = 22; btMore.Width = 150; btMore.Background = Brushes.LightBlue; btMore.Foreground = Brushes.White; Grid.SetRow(btMore, showInfo.RowDefinitions.Count); Grid.SetColumn(btMore, 1); showInfo.Children.Add(btMore); } else { l2.Content = "No joined activity"; } RowDefinition rowDef4 = new RowDefinition(); rowDef4.Height = new GridLength(30); showInfo.RowDefinitions.Add(rowDef4); showInfo.Children.Add(l1); showInfo.Children.Add(l2); showInfo.Children.Add(b1); showInfo.Children.Add(image1); } ScrollViewer sv = new ScrollViewer(); sv.VerticalScrollBarVisibility = ScrollBarVisibility.Visible; sv.Content = show; }
public ShowFriendInfo(int uid, int fid) { InitializeComponent(); this.userID = uid; //show user info ColumnDefinition c1 = new ColumnDefinition(); c1.Width = new GridLength(120); userInfo.ColumnDefinitions.Add(c1); ColumnDefinition c2 = new ColumnDefinition(); c2.Width = new GridLength(300); userInfo.ColumnDefinitions.Add(c2); User u = dbms.getUserByID(fid); Image userPhoto = new Image(); ImageSource imageSource = new BitmapImage(new Uri(u.photoURL)); userPhoto.Source = imageSource; userPhoto.Margin = new Thickness(10, 10, 0, 0); userPhoto.HorizontalAlignment = HorizontalAlignment.Left; userPhoto.VerticalAlignment = VerticalAlignment.Top; Label lName = new Label(); lName.FontSize = 14; lName.Content = "Name: " + u.name; lName.HorizontalAlignment = HorizontalAlignment.Left; lName.VerticalAlignment = VerticalAlignment.Center; lName.Margin = new Thickness(0, 0, 0, 0); Label lEmail = new Label(); lEmail.FontSize = 14; lEmail.Content = "Email: " + u.email; lEmail.HorizontalAlignment = HorizontalAlignment.Left; lEmail.VerticalAlignment = VerticalAlignment.Center; lEmail.Margin = new Thickness(0, 0, 0, 0); Button btEdit = new Button(); btEdit.Background = Brushes.LightBlue; btEdit.Width = 130; btEdit.Height = 25; btEdit.FontSize = 14; btEdit.Margin = new Thickness(20, 0, 0, 0); btEdit.HorizontalAlignment = HorizontalAlignment.Left; btEdit.VerticalAlignment = VerticalAlignment.Center; if (dbms.isFollowed(userID, fid)) { btEdit.Content = "unfollow"; btEdit.Click += (sender, eventArgs) => { dbms.unfollow(userID, fid); btEdit.IsEnabled = false; }; } else { btEdit.Content = "follow"; btEdit.Click += (sender, eventArgs) => { dbms.followFriend(userID, fid); btEdit.IsEnabled = false; }; } Grid.SetRow(userPhoto, 0); Grid.SetRowSpan(userPhoto, 2); Grid.SetColumn(userPhoto, 0); Grid.SetRow(lName, 0); Grid.SetColumn(lName, 1); RowDefinition row1 = new RowDefinition(); row1.Height = new GridLength(50); userInfo.RowDefinitions.Add(row1); Grid.SetRow(lEmail, 1); Grid.SetColumn(lEmail, 1); RowDefinition row2 = new RowDefinition(); row2.Height = new GridLength(50); userInfo.RowDefinitions.Add(row2); Grid.SetRow(btEdit, 3); Grid.SetColumn(btEdit, 1); RowDefinition row4 = new RowDefinition(); row4.Height = new GridLength(40); userInfo.RowDefinitions.Add(row4); RowDefinition row5 = new RowDefinition(); row5.Height = new GridLength(40); userInfo.RowDefinitions.Add(row5); RowDefinition row6 = new RowDefinition(); row6.Height = new GridLength(10); userInfo.RowDefinitions.Add(row6); userInfo.Children.Add(lName); userInfo.Children.Add(userPhoto); userInfo.Children.Add(lEmail); userInfo.Children.Add(btEdit); }