public static async Task Run([QueueTrigger("SalesFileEntriesQueue")] GithubFileEntry fileEntry, TraceWriter log, [Queue("SalesDataQueue")] ICollector <SaleDataObtainmentResult> saleDataQueue) { log.Info($"C# Queue trigger function processed: SalesDataLoaderFunction"); string token = ConfigurationManager.AppSettings["token"]; ISaleDataSource saleDataSource = DependencyContainer.Container.Resolve <ISaleDataSource>(new ResolverOverride[] { new ParameterOverride("fileEntry", fileEntry), new ParameterOverride("githubRepoToken", token) }); SaleDataObtainmentResult obtainmentResult = await saleDataSource.GetSaleDataAsync().ConfigureAwait(false); if (obtainmentResult.Success) { log.Info($"[SalesDataLoaderFunction]: loaded {fileEntry.Url}"); } else { log.Error($"[SalesDataLoaderFunction]: ERROR loading {fileEntry.Url} Reason: {obtainmentResult.ErrorMessage}"); } saleDataQueue.Add(obtainmentResult); }
public static async Task Run([QueueTrigger("SalesDataQueue")] SaleDataObtainmentResult saleDataObtainmentResult, TraceWriter log) { log.Info($"C# Queue trigger function processed: SalesDataSaverFunction"); ISalesHandlerFactory handlerFactory = DependencyContainer.Container.Resolve <ISalesHandlerFactory>(); SalesHandlerBase salesHandler = handlerFactory.GetSalesHandler(); await salesHandler.HandleSaleDataAsync(saleDataObtainmentResult); }
public override Task HandleSaleDataAsync(SaleDataObtainmentResult dataObtainmentResult) { return(Task.Delay(100)); }