public ProgressWindow(List <FriendData.Profile> blinded) { InitializeComponent(); cts = new CancellationTokenSource(); CancellationToken token = cts.Token; deleteTask = Task.Factory.StartNew(async() => { try { int count = 0; foreach (var blindedFriend in blinded) { await Task.Delay(1000); await KakaoRequestClass.DeleteFriend(blindedFriend.id); TB_Content.Dispatcher.Invoke(() => { count++; TB_Content.Text = $"삭제중... {count.ToString()}/{blinded.Count}"; PB_Main.Value = (double)count / blinded.Count * 100.0; }); } await Dispatcher.Invoke(async() => { await MainWindow.UpdateProfile(); Close(); MessageBox.Show("제한된 사용자의 삭제가 완료됐습니다."); }); } catch (OperationCanceledException) { MessageBox.Show("삭제 작업이 취소됐습니다."); } }, token); }
private async void IC_Friend_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (relationship.relationship.Equals("F")) { bool isDelete = MessageBox.Show("친구를 삭제하시겠습니까?", "안내", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes; if (isDelete) { await KakaoRequestClass.DeleteFriend(relationship.id); await RefreshTimeline(null, true); } } else if (relationship.relationship.Equals("R")) { bool isRequest = MessageBox.Show("이 사용자에게 친구 신청을 보내시겠습니까?", "안내", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes; if (isRequest) { await KakaoRequestClass.FriendRequest(relationship.id, true); await RefreshTimeline(null, true); } } else if (relationship.relationship.Equals("C")) { var question = MessageBox.Show("친구 신청을 수락하시겠습니까?", "안내", MessageBoxButton.YesNo, MessageBoxImage.Question); if (question != MessageBoxResult.Cancel && question != MessageBoxResult.None) { bool isDelete = question == MessageBoxResult.No; await KakaoRequestClass.FriendAccept(relationship.id, isDelete); await RefreshTimeline(null, true); } } else if (relationship.relationship.Equals("N")) { await KakaoRequestClass.FriendRequest(relationship.id, false); await RefreshTimeline(null, true); } }