Esempio n. 1
0
        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);
     }
 }