private DirCopyInfo GetDetails(string sourceDir, string destDir)
        {
            var info = new DirCopyInfo();

            FindDirectoryDetails(sourceDir, ref info);

            info.DesDirHasContent = false;
            if (Directory.Exists(destDir))
            {
                info.DesDirHasContent = Directory.GetFiles(destDir).Length + Directory.GetDirectories(destDir).Length > 0;
            }
            return(info);
        }
        private void FindDirectoryDetails(string dir, ref DirCopyInfo info)
        {
            info.TotalFileCount += Directory.GetFiles(dir).Length;

            DirectoryInfo d = new DirectoryInfo(dir);

            FileInfo[] fis = d.GetFiles();
            foreach (FileInfo fi in fis)
            {
                info.TotalSize += fi.Length;
            }

            string[] dirs = Directory.GetDirectories(dir);
            info.DirectoryCount += dirs.Length;
            foreach (string folder in dirs)
            {
                FindDirectoryDetails(folder, ref info);
            }
        }