Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        public override async Task <IAdapterItem> GetRootFolder()
        {
            Item rootItem = await this.googleDriveClient.GetItemById(this.TargetItemId).ConfigureAwait(false);

            return(new GoogleDriveAdapterItem(rootItem, null, this));
        }
Ejemplo n.º 4
0
        public override async Task <SyncEntry> CreateRootEntry()
        {
            Item rootItem = await this.googleDriveClient.GetItemById(this.TargetItemId).ConfigureAwait(false);

            return(this.CreateEntry(rootItem, null));
        }