public static LocalFileInfo GetFileInfo(string filePath)
        {
            var info = new FileInfo(filePath);

            var localInfo = new LocalFileInfo();

            localInfo.Size         = info.Length;
            localInfo.LastWriting  = info.LastWriteTimeUtc;
            localInfo.Attributes   = info.Attributes;
            localInfo.RelativePath = SanitizeToRelativePath(PathsManager.GetDirectoryPath(filePath), filePath);

            return(localInfo);
        }
        public static LocalFileInfo[] GetFilesInfo(string rootPath)
        {
            var files = GetFiles(rootPath);
            var infos = new LocalFileInfo[files.Length];

            for (int i = 0; i < files.Length; i++)
            {
                var currentPath = files[i];
                var info        = new FileInfo(currentPath);

                var localInfo = new LocalFileInfo();
                localInfo.Size         = info.Length;
                localInfo.LastWriting  = info.LastWriteTimeUtc;
                localInfo.Attributes   = info.Attributes;
                localInfo.RelativePath = SanitizeToRelativePath(rootPath, currentPath);

                infos[i] = localInfo;
            }

            return(infos);
        }