Example #1
0
        private void directoryBrowserTreeView_LoadOnDemand(object sender, Telerik.Windows.RadRoutedEventArgs e)
        {
            var radTreeViewItem    = e.OriginalSource as RadTreeViewItem;
            var directoryViewModel = radTreeViewItem.DataContext as DirectoryViewModel;

            try
            {
                var subDirectoryCollection = Directory.GetDirectories(directoryViewModel.PhysicalPath);
                if (!subDirectoryCollection.Any())
                {
                    radTreeViewItem.IsLoadOnDemandEnabled = false;
                }
                else
                {
                    foreach (var subDirectory in subDirectoryCollection)
                    {
                        var directoryInfo         = new DirectoryInfo(subDirectory);
                        var subDirectoryViewModel = new DirectoryViewModel
                        {
                            DirectoryName          = System.IO.Path.GetFileName(subDirectory),
                            PhysicalPath           = subDirectory,
                            DirectoryIconPath      = "/FTPServer.DesktopClient;component/folder.png",
                            SubDirectoryCollection = null,
                            IsHidden = (directoryInfo.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden
                        };

                        try
                        {
                            var subDirectoryCount = Directory.GetDirectories(subDirectory).Count();
                            if (subDirectoryCount > 0)
                            {
                                subDirectoryViewModel.SubDirectoryCollection = new ObservableCollection <DirectoryViewModel>();
                            }
                        }
                        catch
                        {
                        }

                        directoryViewModel.SubDirectoryCollection.Add(subDirectoryViewModel);
                    }
                }
            }
            catch
            {
                radTreeViewItem.IsLoadOnDemandEnabled = false;
            }
        }
Example #2
0
        public void Load()
        {
            try
            {
                var logicalDriveCollection = Environment.GetLogicalDrives();
                foreach (var logicalDrive in logicalDriveCollection)
                {
                    var directoryViewModel = new DirectoryViewModel
                    {
                        DirectoryName     = logicalDrive,
                        PhysicalPath      = logicalDrive,
                        DirectoryIconPath = "/FTPServer.DesktopClient;component/hdd_drive.png",
                        IsHidden          = false,
                    };
                    var subDirectoryCount = Directory.GetDirectories(logicalDrive).Count();
                    if (subDirectoryCount > 0)
                    {
                        directoryViewModel.SubDirectoryCollection = new ObservableCollection <DirectoryViewModel>();
                    }
                    this.DirectoryCollection.Add(directoryViewModel);
                }
            }
            catch
            {
            }

            try
            {
                var hostName    = Dns.GetHostName();
                var iphostentry = Dns.GetHostEntry(hostName);

                this.HostIpCollection.Add("127.0.0.1");
                foreach (IPAddress ipaddress in iphostentry.AddressList)
                {
                    if (ipaddress.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
                    {
                        this.HostIpCollection.Add(ipaddress.ToString());
                    }
                }
                this.HostIP   = this.HostIpCollection.FirstOrDefault();
                this.HostPort = 21;
            }
            catch
            {
            }
        }