public static void Initialize(CurrencyRateContext context)
        {
            context.Database.EnsureCreated();

            if (context.Currency.Any())
            {
                return; // DB has been seeded
            }

            var currencies = new Currency[]
            {
                new Currency {
                    Code = "ARS", Name = "Argentine peso"
                },
                new Currency {
                    Code = "EUR", Name = "Euro"
                },
                new Currency {
                    Code = "USD", Name = "United States dollar"
                }
            };

            foreach (Currency currency in currencies)
            {
                context.Currency.Add(currency);
            }

            context.SaveChanges();

            var currencyRates = new CurrencyRate[]
            {
                new CurrencyRate {
                    BaseCurrency = currencies[0], ToCurrency = currencies[1], ExchangeRate = 0.04F
                },
                new CurrencyRate {
                    BaseCurrency = currencies[0], ToCurrency = currencies[2], ExchangeRate = 0.049F
                },

                new CurrencyRate {
                    BaseCurrency = currencies[1], ToCurrency = currencies[0], ExchangeRate = 24.90F
                },
                new CurrencyRate {
                    BaseCurrency = currencies[1], ToCurrency = currencies[2], ExchangeRate = 1.21F
                },

                new CurrencyRate {
                    BaseCurrency = currencies[2], ToCurrency = currencies[0], ExchangeRate = 20.50F
                },
                new CurrencyRate {
                    BaseCurrency = currencies[2], ToCurrency = currencies[1], ExchangeRate = 0.82F
                },
            };

            foreach (CurrencyRate currencyRate in currencyRates)
            {
                context.CurrencyRate.Add(currencyRate);
            }

            context.SaveChanges();
        }
Example #2
0
        public IEnumerable <CurrencyRateEntity> GetRates()
        {
            using (var context = new CurrencyRateContext(_options))
            {
                context.Database.EnsureCreated();

                return(context.CurrencyRates.ToList());
            }
        }
Example #3
0
        public DBTests()
        {
            var options = new DbContextOptionsBuilder <CurrencyRateContext>()
                          .UseInMemoryDatabase(databaseName: "DBTest")
                          .Options;

            _context           = new CurrencyRateContext(options);
            _rateRepository    = new RateRepository(_context);
            _serviceRepository = new ServiceRepository(_context);
            AddServicesData();
        }
Example #4
0
        public CurrencyRateRepositoryTests(ITestOutputHelper output)
        {
            this.output = output;
            var dbOptions = new DbContextOptionsBuilder <CurrencyRateContext>()
                            .UseInMemoryDatabase(databaseName: "TestCurrencyRates")
                            .Options;

            currencyRateContext    = new CurrencyRateContext(dbOptions);
            timeService            = new ManagedTimeService();
            currencyRateRepository = new CurrencyRateRepository(currencyRateContext, timeService);
        }
Example #5
0
        public void AddRate(Models.CurrencyRate rate)
        {
            using (var context = new CurrencyRateContext(_options))
            {
                context.Database.EnsureCreated();
                var lastCreated = context.CurrencyRates.OrderByDescending(x => x.CreationTimestamp).FirstOrDefault();
                if (lastCreated != null && lastCreated.CreationTimestamp >= rate.ActiveFrom)
                {
                    return;
                }

                var rateEntity = _currencyRateConverter.Convert(rate);
                context.CurrencyRates.Add(rateEntity);

                context.SaveChanges();
            }
        }
Example #6
0
 public CurrencyRateRepository(CurrencyRateContext repositoryContext) : base(repositoryContext)
 {
 }
 public DetailsModel(CurrencyRateContext context)
 {
     _context = context;
 }
Example #8
0
 public CreateModel(CurrencyRateContext context)
 {
     _context = context;
 }
Example #9
0
 public IndexModel(CurrencyRateContext context)
 {
     _context = context;
 }
Example #10
0
 public DeleteModel(CurrencyRateContext context)
 {
     _context = context;
 }
 public RateRepository(CurrencyRateContext db)
 {
     _db = db;
 }
Example #12
0
 public EditModel(CurrencyRateContext context)
 {
     _context = context;
 }