Beispiel #1
0
        public async Task <bool> ProcessData(string merchantName, IEnumerable <IProductData> products, Action <MemoryStream, string> saveAction = null)
        {
            try
            {
                using (HttpClient client = new HttpClient())
                {
                    foreach (var product in products)
                    {
                        Stream imageStream = await client.GetStreamAsync(product.ImageUrl);

                        string imageUrl = await _azureBlobRepository.UploadImageAsync(product.Name, imageStream, true);

                        await _productRepository.Create(new Data.Entities.Product()
                        {
                            Availability = product.Availability,
                            MerchantName = merchantName,
                            Name         = product.Name,
                            Price        = product.Price,
                            Url          = product.Url,
                            ImageUrl     = imageUrl,
                            DateAdded    = DateTime.UtcNow
                        });
                    }
                }

                return(true);
            }
            catch (Exception exception)
            {
                //log
                return(false);
            }
        }