Ejemplo n.º 1
0
        private static async System.Threading.Tasks.Task <List <Image> > ImportImages2Async(DocumentClient client, IEnumerable <Bag> bags, IImageRepository imageservice)
        {
            var images          = bags.Where(bag => File.Exists($"{ImageFilesystemRepository.Path}{bag.MainID}.jpg")).Select(thee => { return(new Image(null, $"{thee.MainID}.jpg", null)); }).ToList();
            var imageRepository = new CreateRepository <Image>(client, DocumentDBConstants.DatabaseId, DocumentDBConstants.Collections.Images);
            var insertCounter   = 0;
            var insertedImages  = new List <Image>();

            foreach (var image in images)
            {
                var fileImageService = new ImageFilesystemRepository();
                var uri = "";
                using (var bitmap = await fileImageService.Get(image.Filename)) {
                    using (var imageStream = new MemoryStream()) {
                        bitmap.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);
                        imageStream.Seek(0, SeekOrigin.Begin);
                        uri = await imageservice.Upload(imageStream, image.Filename);
                    }
                }

                var id = await imageRepository.CreateItemAsync(image);

                insertedImages.Add(new Image(id, image.Filename, uri));
                insertCounter++;
                if (insertCounter > 0 && insertCounter % 250 == 0)
                {
                    System.Console.WriteLine($"Inserted image#: {insertCounter}");
                }
            }

            System.Console.WriteLine($"Completed inserting {insertCounter} images");
            return(insertedImages);
        }
Ejemplo n.º 2
0
        private static async System.Threading.Tasks.Task <string> ImportImageAsync(DocumentClient client, Thee thee, IImageRepository imageservice)
        {
            if (File.Exists($"{ImageFilesystemRepository.Path}{thee.MainID}.jpg") == false)
            {
                return(null);
            }

            var image            = new Image(null, $"{thee.MainID}.jpg", null);
            var fileImageService = new ImageFilesystemRepository();
            var uri = "";

            using (var bitmap = await fileImageService.Get(image.Filename)) {
                using (var imageStream = new MemoryStream()) {
                    bitmap.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);
                    imageStream.Seek(0, SeekOrigin.Begin);
                    uri = await imageservice.Upload(imageStream, image.Filename);
                }
            }

            var imageRepository = new CreateRepository <Image>(client, DocumentDBConstants.DatabaseId, DocumentDBConstants.Collections.Images);

            return(await imageRepository.CreateItemAsync(image));
        }