示例#1
0
        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());
        }
示例#2
0
        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;
 }
示例#4
0
 /// <summary>
 /// constructor
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="prov"></param>
 public TodayRates(ILogger <TodayRates> logger, LoadExchangeProviders prov)
 {
     _logger = logger;
     _prov   = prov;
 }