public async Task <CurrencyExchangeTransactionModel> SubmitTransactionAsync(CurrencyExchangeModel currencyExchangeModel,
                                                                                    double foreignCurrencyAmount,
                                                                                    DateTime transactionDate,
                                                                                    int rateId)
        {
            Rate rate = await RatesRepository.GetRateByIdAsync(rateId);

            CurrencyExchangeTransaction transaction = new CurrencyExchangeTransaction()
            {
                LocalCurrencyAmount   = currencyExchangeModel.LocalCurrencyAmount,
                ForeignCurrencyAmount = foreignCurrencyAmount,
                ForeignCurrencyCode   = currencyExchangeModel.ForeignCurrencyCode,
                Rate            = rate,
                TransactionDate = transactionDate,
                UserId          = currencyExchangeModel.UserId
            };

            TransactionsRepository.AddTransaction(transaction);

            await TransactionsRepository.SaveChangesAsync();

            return(new CurrencyExchangeTransactionModel()
            {
                Id = transaction.Id,
                UserId = transaction.UserId,
                LocalCurrencyAmount = transaction.LocalCurrencyAmount,
                ForeignCurrencyAmount = transaction.ForeignCurrencyAmount,
                ForeignCurrencyCode = transaction.ForeignCurrencyCode,
                TransactionDate = transaction.TransactionDate,
            });
        }
 public void AddTransaction(CurrencyExchangeTransaction transaction)
 {
     _context.Add(transaction);
 }