Пример #1
0
        private int ImageToAlbumBatch(IEnumerable <MyImage> batch)
        {
            var imagecollection = new List <NewMediaItem>();

            foreach (var myImage in batch)
            {
                _logger.LogDebug($"Adding '{myImage.Name}' to album");

                NewMediaItem image = new NewMediaItem();
                image.Description     = myImage.Description;
                image.SimpleMediaItem = new SimpleMediaItem()
                {
                    UploadToken = myImage.UploadToken
                };

                imagecollection.Add(image);
            }


            BatchCreateMediaItemsRequest batchCreateMediaItemsRequest = new BatchCreateMediaItemsRequest
            {
                AlbumId       = album.Id,
                NewMediaItems = imagecollection
            };

            MediaItemsResource.BatchCreateRequest batchCreateRequest = service.MediaItems.BatchCreate(batchCreateMediaItemsRequest);

            BatchCreateMediaItemsResponse batchCreateMediaItemsResponse = batchCreateRequest.Execute();

            return(batchCreateMediaItemsResponse.NewMediaItemResults.Count);
        }
Пример #2
0
        private bool AddPhotosToAlbum()
        {
            if (album == null)
            {
                throw new ArgumentException("Album is NULL - image upload aborted");
            }
            if (album.IsWriteable == null || !album.IsWriteable.Value)
            {
                throw new ArgumentException("Album is not writable - image upload aborted");
            }

            Console.WriteLine($"Adding {myImages.Count} images to Album '{albumTitle}'");

            var imagecollection = new List <NewMediaItem>();

            foreach (var myImage in myImages)
            {
                NewMediaItem image = new NewMediaItem();
                image.Description     = Path.GetFileNameWithoutExtension(myImage.Name);
                image.SimpleMediaItem = new SimpleMediaItem()
                {
                    UploadToken = myImage.UploadToken
                };

                imagecollection.Add(image);
            }


            BatchCreateMediaItemsRequest batchCreateMediaItemsRequest = new BatchCreateMediaItemsRequest
            {
                AlbumId       = album.Id,
                NewMediaItems = imagecollection
            };

            MediaItemsResource.BatchCreateRequest batchCreateRequest = service.MediaItems.BatchCreate(batchCreateMediaItemsRequest);

            BatchCreateMediaItemsResponse batchCreateMediaItemsResponse = batchCreateRequest.Execute();
            int imagesAddedToAlbum = batchCreateMediaItemsResponse.NewMediaItemResults.Count;

            if (myImages.Count != imagesAddedToAlbum)
            {
                throw new Exception($"Images not added to Album. Expected {myImages.Count}, only {imagesAddedToAlbum} added.");
            }

            return(true);
        }