Exemple #1
0
        protected async override Task ExecuteOperation(IFileMetadataStore metadataStore, IFileSyncContext context)
        {
            MobileServiceFileMetadata metadata = await metadataStore.GetFileMetadataAsync(FileId);

            if (metadata != null)
            {
                IMobileServiceFileDataSource dataSource = await context.SyncHandler.GetDataSource(metadata);

                await context.MobileServiceFilesClient.UploadFileAsync(metadata, dataSource);

                await metadataStore.CreateOrUpdateAsync(metadata);
            }
        }
        public Task <IMobileServiceFileDataSource> GetDataSource(MobileServiceFileMetadata metadata)
        {
            var filePath = _fileHelper.GetLocalFilePath(metadata.ParentDataItemId, metadata.FileName);


            IMobileServiceFileDataSource result = null;

            if (filePath != null)
            {
                result = _fileHelper.GetMobileServiceDataSource(filePath);
            }

            return(Task.FromResult(result));
        }
Exemple #3
0
        public async Task UploadFileAsync(MobileServiceFileMetadata metadata, IMobileServiceFileDataSource dataSource, StorageToken storageToken)
        {
            CloudBlockBlob blob = GetBlobReference(storageToken, metadata.FileName);

            using (var stream = await dataSource.GetStream())
            {
                await blob.UploadFromStreamAsync(stream);

                metadata.LastModified = blob.Properties.LastModified;
                metadata.FileStoreUri = blob.Uri.LocalPath;

                stream.Position     = 0;
                metadata.ContentMD5 = GetMD5Hash(stream);
            }
        }
        public async Task UploadFileAsync(MobileServiceFileMetadata metadata, IMobileServiceFileDataSource dataSource, StorageToken storageToken)
        {
            CloudBlockBlob blob = GetBlobReference(storageToken, metadata.FileName);

            using (var stream = await dataSource.GetStream())
            {
                await blob.UploadFromStreamAsync(stream);

                metadata.LastModified = blob.Properties.LastModified;
                metadata.FileStoreUri = blob.Uri.LocalPath;

                stream.Position = 0;
                metadata.ContentMD5 = GetMD5Hash(stream);
            }
        }
        public async Task UploadFileAsync(MobileServiceFileMetadata metadata, IMobileServiceFileDataSource dataSource)
        {
            if (metadata == null)
            {
                throw new ArgumentNullException("metadata");
            }

            if (dataSource == null)
            {
                throw new ArgumentNullException("dataSource");
            }

            StorageToken token = await GetStorageToken(this.client, MobileServiceFile.FromMetadata(metadata), StoragePermissions.Write);

            await this.storageProvider.UploadFileAsync(metadata, dataSource, token);
        }
        public async Task UploadFileAsync(MobileServiceFileMetadata metadata, IMobileServiceFileDataSource dataSource)
        {
            if (metadata == null)
            {
                throw new ArgumentNullException("metadata");
            }

            if (dataSource == null)
            {
                throw new ArgumentNullException("dataSource");
            }

            StorageToken token = await GetStorageToken(this.client, MobileServiceFile.FromMetadata(metadata), StoragePermissions.Write);

            await this.storageProvider.UploadFileAsync(metadata, dataSource, token);
        }
        public Task <IMobileServiceFileDataSource> GetDataSource(MobileServiceFileMetadata metadata)
        {
            IMobileServiceFileDataSource source = fileSyncHelper.GetMobileServiceDataSource(fileHelper.GetLocalFilePath(metadata.ParentDataItemId, metadata.FileName));

            return(Task.FromResult(source));
        }
Exemple #8
0
        public async static Task UploadAsync(this IMobileServiceClient client, MobileServiceFile file, IMobileServiceFileDataSource dataSource)
        {
            MobileServiceFileMetadata metadata = MobileServiceFileMetadata.FromFile(file);

            IMobileServiceFilesClient filesClient = GetFilesClient(client);
            await filesClient.UploadFileAsync(metadata, dataSource);
        }
Exemple #9
0
 public async static Task UploadFileAsync <T>(this IMobileServiceTable <T> table, MobileServiceFile file, IMobileServiceFileDataSource dataSource)
 {
     await UploadAsync(table.MobileServiceClient, file, dataSource);
 }