private SyncEntry CreateEntry(Item item, SyncEntry parent) { SyncEntry entry = new SyncEntry { CreationDateTimeUtc = item.CreatedTime.ToUniversalTime(), ModifiedDateTimeUtc = item.ModifiedTime, Name = item.Name, AdapterEntries = new List <SyncEntryAdapterData>() }; if (parent != null) { entry.ParentEntry = parent; entry.ParentId = parent.Id; } entry.AdapterEntries.Add(new SyncEntryAdapterData() { AdapterId = this.Configuration.Id, SyncEntry = entry, AdapterEntryId = item.Id }); if (item.IsFolder) { entry.Type = SyncEntryType.Directory; } else { entry.Type = SyncEntryType.File; if (this.Relationship.EncryptionMode == EncryptionMode.None || this.Relationship.EncryptionMode == EncryptionMode.Encrypt) { entry.OriginalSize = item.Size; entry.OriginalMd5Hash = HexToBytes(item.Md5Checksum); } else { entry.EncryptedSize = item.Size; entry.EncryptedMd5Hash = HexToBytes(item.Md5Checksum); } } // TODO: FIX THIS //if (this.Relationship.Configuration.SyncTimestamps) //{ // entry.CreationDateTimeUtc = info.CreationTimeUtc; // entry.ModifiedDateTimeUtc = info.LastWriteTimeUtc; //} entry.EntryLastUpdatedDateTimeUtc = DateTime.UtcNow; return(entry); }
public override IEnumerable <IAdapterItem> GetAdapterItems(IAdapterItem folder) { if (folder == null) { Item root = this.googleDriveClient.GetItemById("root").Result; return(new List <IAdapterItem>() { new GoogleDriveAdapterItem(root, null, this) }); } GoogleDriveAdapterItem adapterItem = folder as GoogleDriveAdapterItem; Pre.Assert(adapterItem != null, "adapterItem != null"); var items = this.googleDriveClient.GetChildItems(adapterItem).Result; IEnumerable <GoogleDriveAdapterItem> adapterItems = items.Select(i => new GoogleDriveAdapterItem(i, folder, this)); return(adapterItems); }
public override async Task <IAdapterItem> GetRootFolder() { Item rootItem = await this.googleDriveClient.GetItemById(this.TargetItemId).ConfigureAwait(false); return(new GoogleDriveAdapterItem(rootItem, null, this)); }
public override async Task <SyncEntry> CreateRootEntry() { Item rootItem = await this.googleDriveClient.GetItemById(this.TargetItemId).ConfigureAwait(false); return(this.CreateEntry(rootItem, null)); }