예제 #1
0
파일: SftpForm.cs 프로젝트: sy26856/AMShell
        private void ChangeTransferItemStatus(string flag, string id, TransferStatus status)
        {
            if (id != null)
            {
                this.BeginInvoke((MethodInvoker) delegate()
                {
                    try
                    {
                        TransferItem obj = null;
                        foreach (ListViewItem item in listView3.Items)
                        {
                            if (item.Name == id)
                            {
                                obj                   = (TransferItem)item.Tag;
                                obj.Status            = status;
                                item.SubItems[1].Text = status.ToString();
                                break;
                            }
                        }
                        List <TransferItem> list = flag == "L2R" ? localList : remoteList;
                        foreach (TransferItem item in list)
                        {
                            if (item.Name == id)
                            {
                                item.Status = status;
                                break;
                            }
                        }
                    }
                    catch { }

                    try
                    {
                        int count = 0;
                        foreach (ListViewItem item in listView3.Items)
                        {
                            if (item.SubItems[1].Text == "Success" || item.SubItems[1].Text == "Failed")
                            {
                                count++;
                            }
                        }
                        if (count == listView3.Items.Count)
                        {
                            if (id != null)
                            {
                                if (id.Substring(0, 3) == "L2R")
                                {
                                    rightForm.RefreshFiles();

                                    removeListViewItem("Success", "L2R");
                                }
                                else
                                {
                                    leftForm.RefreshFiles();

                                    removeListViewItem("Success", "R2L");
                                }
                            }
                            else
                            {
                                rightForm.RefreshFiles();
                                leftForm.RefreshFiles();
                            }
                        }
                    }
                    catch
                    {
                    }
                    WriteLog2(status.ToString() + "\n");
                    transfering = false;
                });
            }
        }
 /// <summary>
 /// Use this call to change a transfer's status
 /// </summary>
 /// <param name="pkTransferId">pkTransferId for transfer requiring status change</param>
 /// <param name="newStatus">new status for transfer</param>
 public void ChangeTransferStatus(Guid pkTransferId, TransferStatus newStatus)
 {
     GetResponse("WarehouseTransfer/ChangeTransferStatus", "pkTransferId=" + pkTransferId + "&newStatus=" + newStatus.ToString() + "", "POST");
 }