private static void SnapshotExchangeRates(DateTime fromDate, DateTime untilDate) { using (var currencyMarket = new CurrencyMarketContext()) { DateTime currDate = fromDate; while (currDate <= untilDate) { Console.WriteLine("Snapshotting exchange rates in: " + currDate.ToString("dd/MM/yyyy")); foreach (var currExchangeRate in Fixer.GetAllExchangeRates(currDate)) { Currency sourceCurrency = currencyMarket.FindOrCreateCurrency(currExchangeRate.SourceCurrency); Currency targetCurrency = currencyMarket.FindOrCreateCurrency(currExchangeRate.TargetCurrency); currencyMarket.ExchangeRates.Add(new ExchangeRate() { SourceCurrency = sourceCurrency, TargetCurrency = targetCurrency, Rate = currExchangeRate.Rate, Date = currDate }); } currDate = currDate.AddDays(1); currencyMarket.SaveChanges(); } } }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); if (!env.IsDevelopment()) { app.UseSpaStaticFiles(); } app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller}/{action=Index}/{id?}"); }); app.UseSpa(spa => { // To learn more about options for serving an Angular SPA from ASP.NET Core, // see https://go.microsoft.com/fwlink/?linkid=864501 spa.Options.SourcePath = "ClientApp"; if (env.IsDevelopment()) { spa.UseAngularCliServer(npmScript: "start"); } }); using (var serviceScope = app.ApplicationServices.CreateScope()) { CurrencyMarketContext currencyMarket = serviceScope.ServiceProvider.GetService <CurrencyMarketContext>(); currencyMarket.Database.Migrate(); } }
private static void Main(string[] args) { DateTime now = DateTime.Now; using (var currencyMarket = new CurrencyMarketContext()) { foreach (var currExchangeRate in Fixer.GetAllExchangeRates()) { Currency sourceCurrency = currencyMarket.FindOrCreateCurrency(currExchangeRate.SourceCurrency); Currency targetCurrency = currencyMarket.FindOrCreateCurrency(currExchangeRate.TargetCurrency); currencyMarket.ExchangeRates.Add(new ExchangeRate() { SourceCurrency = sourceCurrency, TargetCurrency = targetCurrency, Rate = currExchangeRate.Rate, Date = now }); } currencyMarket.SaveChanges(); } }
public ExchangeRatesController(ILogger <ExchangeRatesController> logger, CurrencyMarketContext currencyMarket) { this.logger = logger; this.currencyMarket = currencyMarket; }
public CurrenciesController(CurrencyMarketContext currencyMarket) { this.currencyMarket = currencyMarket; }