private static BrandbankWrapped WrapProduct(Brandbank product) { return(new BrandbankWrapped { Id = Guid.NewGuid().ToString(), Gtin = product.Identity.ProductCodes.ElementAt(0).Value, Pvid = product.Identity.ProductCodes.ElementAt(1).Value, Subcode = product.Identity.Subscription.Code, Description = product.Identity.DiagnosticDescription.Value, Data = product.ToBsonDocument() }); }
public async Task SaveAsync(string directory) { var tasks = new DirectoryInfo(directory) .EnumerateDirectories() .Select(fi => fi.FullName) .Select(folderPath => $"{folderPath}/product.json") .Select(filePath => File.ReadAllText(filePath)) .Select(productData => Brandbank.FromJson(productData)) .Select(product => WrapProduct(product)) .Select(data => _repo.SaveAsync(data)); await Task.WhenAll(tasks); }