static async Task Main() { var loader = new LoadExchangeProviders("plugins"); var exchange = loader.LoadExchange().ToArray(); Console.WriteLine($"plugin number: {exchange.Length}"); var l = new List <Task <ExchangeRates[]> >(); for (int i = 0; i < exchange.Length; i++) { l.Add(Rates(exchange[i])); } var all = new List <ExchangeRates>(); while (l.Count > 0) { var x = l.ToArray(); var data = await Task.WhenAny(x); ShowValues(await data); all.AddRange(await data); l.Remove(data); } // in case of dotnet try, comment this line DisplayGui(all.ToArray()); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log, ExecutionContext context) { log.LogInformation("C# HTTP trigger function processed a request."); try { await Task.Delay(100); log.LogInformation($"### OK trigger function executed at: {DateTime.Now} "); var folder = Path.Combine(context.FunctionDirectory, "plugins"); log.LogInformation($"### Folder {folder} Folder exists: {Directory.Exists(folder)}"); folder = Path.Combine(context.FunctionAppDirectory, "plugins"); log.LogInformation($"### Folder {folder} Folder exists: {Directory.Exists(folder)}"); var loader = new LoadExchangeProviders(folder); var exchange = loader.LoadExchange().ToArray(); log.LogInformation($"### plugin number: {exchange.Length}"); return(new OkObjectResult($"Hello")); } catch (Exception ex) { log.LogError("ERROR! " + ex.Message); log.LogError("!!!" + ex.StackTrace); throw; } //string name = req.Query["name"]; //string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); //dynamic data = JsonConvert.DeserializeObject(requestBody); //name = name ?? data?.name; //return name != null // ? (ActionResult)new OkObjectResult($"Hello, {name}") // : new BadRequestObjectResult("Please pass a name on the query string or in the request body"); }
public LoadAndSaveLastData(ISave save, IRetrieve ret) { providers = new LoadExchangeProviders("plugins"); this.save = save; this.ret = ret; }
/// <summary> /// constructor /// </summary> /// <param name="logger"></param> /// <param name="prov"></param> public TodayRates(ILogger <TodayRates> logger, LoadExchangeProviders prov) { _logger = logger; _prov = prov; }