Example #1
0
        private DirInfo GetParent(DirInfo directory)
        {
            if (directory == null)
            {
                return(null);
            }

            string parentPath;

            if (directory.RelPath.EndsWith("/"))
            {
                parentPath = directory.RelPath.Substring(0, directory.RelPath.Length - 1);
            }
            else
            {
                parentPath = directory.RelPath;
            }

            int lastIndex = parentPath.LastIndexOf("/", StringComparison.Ordinal);

            if (lastIndex == -1)
            {
                return(null);
            }

            parentPath = parentPath.Substring(0, lastIndex);
            if (string.IsNullOrEmpty(parentPath))
            {
                return(null);
            }

            List <DirInfo> parentInfo = client.GetDirectories(parentPath, true);

            return(parentInfo != null && parentInfo.Count > 0 ? parentInfo[0] : null);
        }