CmisSync.Lib.RepoBase.CalculateSize C# (CSharp) Method

CalculateSize() private method

Recursively gets a folder's size in bytes.
private CalculateSize ( DirectoryInfo parent ) : double
parent System.IO.DirectoryInfo
return double
        private double CalculateSize(DirectoryInfo parent)
        {
            if (!Directory.Exists(parent.ToString()))
                return 0;

            double size = 0;

            try
            {
                // All files at this level.
                foreach (FileInfo file in parent.GetFiles())
                {
                    if (!file.Exists)
                        return 0;

                    size += file.Length;
                }

                // Recurse.
                foreach (DirectoryInfo directory in parent.GetDirectories())
                    size += CalculateSize(directory);

            }
            catch (Exception)
            {
                return 0;
            }

            return size;
        }
    }