public void TestMaintainanceMailService() { IMailService mailerService = new MaintainanceMailer(); CurrencyExchangeService ces = new CurrencyExchangeService(mailerService); mailerService.Mail("*****@*****.**", "Help"); }
public int UpdateCurrencyExchangeRates() { try { //new up everything IMailService mailerService = new MaintainanceMailer(); CurrencyExchangeService ces = new CurrencyExchangeService(mailerService); //get all the currencies using (var _db = new PortVillasContext()) { var currencies = _db.CurrencyExchanges.ToList(); foreach (var currency in currencies) { ces.UpdateCurrency(currency); } } return(0); } catch (Exception ex) { } return(-1); }
private static async Task ShowLocalPricesCurrentProducts(string asseccKey) { var service = new ProductReportService(new Uri(NorthwindServiceUrl)); var countryCurrencyService = new CountryCurrencyService(); var currencyExchangeService = new CurrencyExchangeService(asseccKey); var report = new CurrentProductLocalPriceReport(service, currencyExchangeService, countryCurrencyService); await report.PrintReport(); }
public async Task CurrencyExchangeService_Returns_ExchangeData() { var client = new HttpClient(); CurrencyExchangeService exchangeService = new CurrencyExchangeService(client); var exchangeData = await exchangeService.GetExchangeDataAsync(5, CurrencyType.USD, CurrencyType.GBP); Assert.IsInstanceOfType(exchangeData, typeof(ExchangeData)); }
public async Task ExchangeModel_Returns_Correct_Date() { var client = new HttpClient(); var exchangeService = new CurrencyExchangeService(client); var expected = new DateTime(2014, 6, 6); var exchangeData = await exchangeService.GetExchangeDataAsync(1, CurrencyType.USD, CurrencyType.GBP, expected); Assert.AreEqual(expected, exchangeData.Date); }
private static async Task CurrentLocalPrices() { IProductReportService service = new ProductReportService(new Uri(NorthwindServiceUrl)); ICountryCurrencyService countryCurrencyService = new CountryCurrencyService(); ICurrencyExchangeService currencyExchangeService = new CurrencyExchangeService("5a383f8e25731418bc925cfc6d814087"); CurrentProductLocalPriceReport currentProductLocalPriceReport = new CurrentProductLocalPriceReport(service, currencyExchangeService, countryCurrencyService); await currentProductLocalPriceReport.PrintReport(); }
public CurrencyViewModelService(IAsyncRepository <BankAccount> bankAccountRepository, IAsyncRepository <Currency> currencyRepository, ILogger <CurrencyViewModelService> logger, IMediator mediator, CurrencyExchangeService currencyExchangeService) { _bankAccountRepository = bankAccountRepository; _currencyRepository = currencyRepository; _logger = logger; _mediator = mediator; _currencyExchangeService = currencyExchangeService; }
public void CalculateForeignCurrencyAmount_Should_Take_Direction_And_Different_Rates_Into_Consideration(CurrencyExchangeDirection direction, double localCurrencyAmount, double sellValue, double buyValue, double expectedAmount) { //Arrange Mock <ICurrencyExchangeTransactionsRepository> mockCcyExchgTransaction = new Mock <ICurrencyExchangeTransactionsRepository>(); Mock <IRatesRepository> mockRatesRepo = new Mock <IRatesRepository>(); CurrencyExchangeService currencyExchangeService = new CurrencyExchangeService(mockCcyExchgTransaction.Object, mockRatesRepo.Object); //Act double actualAmount = currencyExchangeService.CalculateForeignCurrencyAmount(direction, localCurrencyAmount, sellValue, buyValue); //Assert Assert.Equal(Math.Round(expectedAmount, 5), Math.Round(actualAmount, 5)); }
public async Task Convert() { ServiceCollection serviceCollection = new ServiceCollection(); serviceCollection.AddHttpClient(CurrencyExchangeService.HttpClientName); serviceCollection.AddSingleton <CurrencyExchangeService>(); ServiceProvider serviceProvider = serviceCollection.BuildServiceProvider(); CurrencyExchangeService sut = serviceProvider.GetRequiredService <CurrencyExchangeService>(); Money usdMoney = new Money(100, Currency.Euro); Money actual = await sut.Convert(usdMoney, Currency.Dollar); Assert.True(actual.Amount > 100); Assert.Equal("USD", actual.Currency.Code); }
public void TestCurrencyService() { //new up everything IMailService mailerService = new MaintainanceMailer(); CurrencyExchangeService ces = new CurrencyExchangeService(mailerService); //send a cheeky testmail //get all the currencies using (var _db = new PortVillasContext()) { var currencies = _db.CurrencyExchanges.ToList(); foreach (var currency in currencies) { ces.UpdateCurrency(currency); } } }
public async Task GetUserRemainingLimitAsync_Should_Consider_Multiple_Transactions_Per_MonthAsync(string currencyCode, double currencyLimit, double currentlyUsedQuota, double expectedRemaingLimit) { //Arrange int userId = 1; DateTime transactionDate = DateTime.Now; Mock <ICurrencyExchangeTransactionsRepository> mockCcyExchgTransaction = new Mock <ICurrencyExchangeTransactionsRepository>(); Mock <IRatesRepository> mockRatesRepo = new Mock <IRatesRepository>(); mockCcyExchgTransaction.Setup(o => o.GetCurrencyTransactionLimitAsync(currencyCode)) .ReturnsAsync(currencyLimit); mockCcyExchgTransaction.Setup(o => o.GetUserAmountExchangedPerMonthAsync(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <DateTime>())) .ReturnsAsync(currentlyUsedQuota); CurrencyExchangeService currencyExchangeService = new CurrencyExchangeService(mockCcyExchgTransaction.Object, mockRatesRepo.Object); //Act double actualRemainingLimit = await currencyExchangeService.GetUserRemainingLimitAsync(userId, currencyCode, transactionDate); //Assert Assert.Equal(expectedRemaingLimit, actualRemainingLimit); }
private static async void Migrate(IApplicationBuilder app) { using var scope = app.ApplicationServices.CreateScope(); var services = scope.ServiceProvider; try { var dataContext = services.GetRequiredService <DataContext>(); await dataContext.Database.MigrateAsync(); await Seed.SeedProducts(dataContext); await Seed.SeedUsers(dataContext); await Seed.SeedOrders(dataContext); await CurrencyExchangeService.ExecuteJsonAsync(); } catch (Exception e) { throw e; } }
public CurrencyExchangeController(CurrencyExchangeService currenncyExchangeService) { _currenncyExchangeService = currenncyExchangeService; }
public void Setup() { repoMock = new Mock <ICurrencyExchangeRepository>(); currencyRepoMock = new Mock <ICurrencyRepository>(); service = new CurrencyExchangeService(repoMock.Object, currencyRepoMock.Object); }