Ejemplo n.º 1
0
        private void AddRemoteDriveItemLocal(RemoteDriveItem item)
        {
            ListViewItem listViewItem = new ListViewItem(item.Name);

            listViewItem.Tag = item;
            this.listViewLocal.Items.Add(listViewItem);
        }
Ejemplo n.º 2
0
        private void InvokeRemoteDriveEvent(RemoteDriveEventType type, RemoteDriveItem item = null,
                                            string message = null, Exception exception = null)
        {
            RemoteDriveEventArgs args = new RemoteDriveEventArgs(type, item, message, exception);

            this.RemoteDriveEvent?.Invoke(this, args);
        }
Ejemplo n.º 3
0
 public RemoteDriveEventArgs(RemoteDriveEventType type, RemoteDriveItem item = null,
                             string message = null, Exception exception = null)
 {
     this.Type      = type;
     this.Item      = item;
     this.Message   = message;
     this.Exception = exception;
 }
Ejemplo n.º 4
0
 private void menuItemOpen_Click(object sender, EventArgs e)
 {
     if (this.listViewLocal.SelectedItems.Count == 1)
     {
         RemoteDriveItem item = this.listViewLocal.SelectedItems[0].Tag as RemoteDriveItem;
         Process.Start(item.FullPath);
     }
 }
Ejemplo n.º 5
0
 private void menuItemDeleteRemote_Click(object sender, EventArgs e)
 {
     if (this.listViewLocal.SelectedItems.Count == 1)
     {
         RemoteDriveItem item = this.listViewLocal.SelectedItems[0].Tag as RemoteDriveItem;
         this.RemoteDrive.DeleteRemote(item);
     }
 }
Ejemplo n.º 6
0
 private void menuItemDownload_Click(object sender, EventArgs e)
 {
     if (this.listViewLocal.SelectedItems.Count == 1)
     {
         RemoteDriveItem item = this.listViewLocal.SelectedItems[0].Tag as RemoteDriveItem;
         this.RemoteDrive.Download(item.FullPath);
     }
 }
Ejemplo n.º 7
0
 private void menuItemUploadLocal_Click(object sender, EventArgs e)
 {
     if (this.listViewLocal.SelectedItems.Count == 1)
     {
         RemoteDriveItem item = this.listViewLocal.SelectedItems[0].Tag as RemoteDriveItem;
         this.RemoteDrive.CreateRemote(item.Load());
     }
 }
Ejemplo n.º 8
0
 private void MoveRemoteThread(RemoteDriveItem item, string newPath)
 {
     try
     {
         this.ServiceClient.MoveItem(item, newPath);
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.MoveRemoteOk);
     }
     catch (Exception e)
     {
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.MoveRemoteFail, null, null, e);
     }
 }
Ejemplo n.º 9
0
 private void CreateLocalThread(RemoteDriveItem item)
 {
     try
     {
         item.Create();
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.CreateLocalOk);
     }
     catch (Exception e)
     {
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.CreateLocalFail, null, null, e);
     }
 }
Ejemplo n.º 10
0
 private void DeleteRemoteThread(RemoteDriveItem item)
 {
     try
     {
         this.ServiceClient.DeleteItem(item);
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.DeleteRemoteOk);
     }
     catch (Exception e)
     {
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.DeleteRemoteFail, null, null, e);
     }
 }
Ejemplo n.º 11
0
        private void DownloadRecursion(RemoteDriveItem item)
        {
            RemoteDriveItem downloaded = this.ServiceClient.ReadItem(item.FullPath);

            downloaded.Localize(this.PathResolver).CreateOrUpdate();
            if (item.IsDirectory())
            {
                foreach (RemoteDriveItem child in downloaded.Children())
                {
                    this.DownloadRecursion(child);
                }
            }
        }
Ejemplo n.º 12
0
 private void ReadDirectoryLocalThread(string path)
 {
     try
     {
         RemoteDriveItem item = new RemoteDriveItem(path);
         this.DirectoryLocal = item;
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.ReadLocalOk, item);
     }
     catch (Exception e)
     {
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.ReadLocalFail, null, null, e);
     }
 }
Ejemplo n.º 13
0
 private void ReadDirectoryRemoteThread(string path)
 {
     try
     {
         RemoteDriveItem item = this.ServiceClient.ReadItem(path);
         this.DirectoryRemote = item;
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.ReadRemoteOk, item);
     }
     catch (Exception e)
     {
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.ReadRemoteFail, null, null, e);
     }
 }
Ejemplo n.º 14
0
 private void listViewLocal_DoubleClick(object sender, EventArgs e)
 {
     if (this.listViewLocal.SelectedItems.Count == 1)
     {
         RemoteDriveItem item = this.listViewLocal.SelectedItems[0].Tag as RemoteDriveItem;
         if (item.IsDirectory())
         {
             this.RemoteDrive.Navigate(item.FullPath);
         }
         else
         {
             Process.Start(item.FullPath);
         }
     }
 }
Ejemplo n.º 15
0
 private void CreateRemoteRecursion(RemoteDriveItem item)
 {
     if (item.IsFile())
     {
         item.GetBinary();
     }
     this.ServiceClient.CreateItem(item.Load());
     if (item.IsDirectory())
     {
         foreach (RemoteDriveItem child in item.Children())
         {
             this.CreateRemoteRecursion(child);
         }
     }
 }
Ejemplo n.º 16
0
 private void CreateRemoteThread(RemoteDriveItem item)
 {
     try
     {
         this.ServiceClient.CreateItem(item.Load());
         if (item.IsDirectory())
         {
             foreach (RemoteDriveItem child in item.Children())
             {
                 this.CreateRemoteRecursion(child);
             }
         }
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.CreateRemoteOk);
     }
     catch (Exception e)
     {
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.CreateRemoteFail, null, null, e);
     }
 }
Ejemplo n.º 17
0
        private void Compare()
        {
            this.CanWatch = true;
            List <RemoteDriveItem> remoteDriveItems = this.RemoteDrive.DirectoryRemote.Children() as List <RemoteDriveItem>;

            foreach (ListViewItem listViewItem in this.listViewLocal.Items)
            {
                RemoteDriveItem item    = listViewItem.Tag as RemoteDriveItem;
                bool            trigger = false;
                foreach (RemoteDriveItem remoteItem in remoteDriveItems)
                {
                    if (item.IsSimilarTo(remoteItem))
                    {
                        if (item.NameAndSizeMatches())
                        {
                            listViewItem.ForeColor = Color.Green;
                        }
                        else if (item.NameMatches())
                        {
                            listViewItem.ForeColor = Color.Orange;
                            this.CanWatch          = false;
                        }
                        trigger = true;
                    }
                }
                if (!trigger)
                {
                    listViewItem.ForeColor = Color.Red;
                    this.CanWatch          = false;
                }
            }
            foreach (RemoteDriveItem remoteItem in remoteDriveItems)
            {
                if (remoteItem.NotMatched())
                {
                    ListViewItem listViewItem = new ListViewItem(remoteItem.Name);
                    listViewItem.Tag       = remoteItem;
                    listViewItem.ForeColor = Color.Brown;
                    this.listViewLocal.Items.Add(listViewItem);
                }
            }
        }
Ejemplo n.º 18
0
 private void DownloadThread(string path)
 {
     try
     {
         RemoteDriveItem item = this.ServiceClient.ReadItem(path);
         if (this.PathResolver.UserRoot != item.Name)
         {
             item.Localize(this.PathResolver).CreateOrUpdate();
         }
         if (item.IsDirectory())
         {
             foreach (RemoteDriveItem child in item.Children())
             {
                 this.DownloadRecursion(child);
             }
         }
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.DownloadOk);
     }
     catch (Exception e)
     {
         this.InvokeRemoteDriveEvent(RemoteDriveEventType.DownloadFail, null, null, e);
     }
 }
Ejemplo n.º 19
0
 public void CreateLocal(RemoteDriveItem item)
 {
     Task.Run(() => this.CreateLocalThread(item));
     this.InvokeRemoteDriveEvent(RemoteDriveEventType.CreateLocalBegin);
 }
Ejemplo n.º 20
0
 public void MoveRemote(RemoteDriveItem item, string newPath)
 {
     Task.Run(() => this.MoveRemoteThread(item, newPath));
     this.InvokeRemoteDriveEvent(RemoteDriveEventType.MoveRemoteBegin);
 }
Ejemplo n.º 21
0
 public void DeleteRemote(RemoteDriveItem item)
 {
     Task.Run(() => this.DeleteRemoteThread(item));
     this.InvokeRemoteDriveEvent(RemoteDriveEventType.DeleteRemoteBegin);
 }