コード例 #1
0
        public static OneDriveStorageProviderFile FromJSON(
            JObject fileJSON,
            string path)
        {
            string   name         = fileJSON["name"].Value <string>();
            bool     isFolder     = fileJSON.ContainsKey("folder");
            string   sha1Hash     = isFolder ? String.Empty : fileJSON["file"]["hashes"]["sha1Hash"].Value <string>();
            DateTime lastModified = fileJSON["fileSystemInfo"]["lastModifiedDateTime"].Value <DateTime>();

            switch (lastModified.Kind)
            {
            case DateTimeKind.Unspecified:
            {
                //incorrect date time kind
                throw new InvalidOperationException();
            }

            case DateTimeKind.Local:
            {
                lastModified = lastModified.ToUniversalTime();
                break;
            }
            }

            return(CloudStorageProviderFileBase.Create <OneDriveStorageProviderFile>(
                       name,
                       isFolder,
                       path,
                       !isFolder ? sha1Hash : null,
                       !isFolder ? lastModified : new Nullable <DateTime>()));
        }
コード例 #2
0
 public static DropboxStorageProviderFile FromMetadata(Metadata metaData)
 {
     return(CloudStorageProviderFileBase.Create <DropboxStorageProviderFile>(
                metaData.Name,
                metaData.IsFolder,
                metaData.PathLower,
                metaData.IsFile ? metaData.AsFile.ContentHash : null,
                metaData.IsFile ? metaData.AsFile.ClientModified : new Nullable <DateTime>()));
 }