Generic SQL interaction working

This commit is contained in:
Stedd 2022-02-12 14:38:30 +01:00
parent 5bcb0df7df
commit 38c160968a
2 changed files with 39 additions and 21 deletions

View File

@ -16,6 +16,7 @@ namespace CryptoCalc
{ {
throw new ArgumentNullException(nameof(data)); throw new ArgumentNullException(nameof(data));
} }
using IDbConnection cnn = new SQLiteConnection(Util.GetConnectionString(data.DBTableName)); using IDbConnection cnn = new SQLiteConnection(Util.GetConnectionString(data.DBTableName));
cnn.Execute($"insert into {data.DBTableName} {data.DBSaveDataString}", data); cnn.Execute($"insert into {data.DBTableName} {data.DBSaveDataString}", data);
Debug.WriteLine($"Saved {data.DBTableName} DB data"); Debug.WriteLine($"Saved {data.DBTableName} DB data");
@ -35,6 +36,17 @@ namespace CryptoCalc
using IDbConnection _connection = new SQLiteConnection(Util.GetConnectionString(tableName)); using IDbConnection _connection = new SQLiteConnection(Util.GetConnectionString(tableName));
return _connection.Query<T>($"select * from {tableName}", new DynamicParameters()); return _connection.Query<T>($"select * from {tableName}", new DynamicParameters());
} }
public IEnumerable<T> QueryData(string tableName, string query)
{
if (tableName is null)
{
throw new ArgumentNullException(nameof(query));
}
using IDbConnection _connection = new SQLiteConnection(Util.GetConnectionString(tableName));
return _connection.Query<T>($"{query}", new DynamicParameters());
}
} }
} }
} }

View File

@ -9,6 +9,12 @@ namespace CryptoCalc
{ {
private readonly Random rand = new(); private readonly Random rand = new();
private DBInteraction.GenericDB<Transaction> transactionDB = new();
private DBInteraction.GenericDB<Wallet> walletDB = new();
private Transaction genericT = new();
private Wallet genericW = new();
public MainWindow() public MainWindow()
{ {
InitializeComponent(); InitializeComponent();
@ -16,46 +22,46 @@ namespace CryptoCalc
private void saveButton_Click(object sender, RoutedEventArgs e) private void saveButton_Click(object sender, RoutedEventArgs e)
{ {
Transaction dummy = DummyTransaction(); genericT = DummyTransaction();
DBInteraction.SaveData(ref dummy); DBInteraction.SaveData(ref genericT);
} }
private void saveWalletButton_Click(object sender, RoutedEventArgs e) private void saveWalletButton_Click(object sender, RoutedEventArgs e)
{ {
Wallet dummy = DummyWallet(); genericW = DummyWallet();
DBInteraction.SaveData(ref dummy); DBInteraction.SaveData(ref genericW);
} }
private void saveButtonFromInput_Click(object sender, RoutedEventArgs e) private void saveButtonFromInput_Click(object sender, RoutedEventArgs e)
{ {
Transaction rd = new(inputCurrency.Text, Convert.ToSingle(inputAmount.Text), inputType.Text); genericT = new(inputCurrency.Text, Convert.ToSingle(inputAmount.Text), inputType.Text);
DBInteraction.SaveData(ref rd); DBInteraction.SaveData(ref genericT);
} }
private void readButton_click(object sender, RoutedEventArgs e) private void readButton_click(object sender, RoutedEventArgs e)
{ {
IEnumerable <Transaction> transactions = ReadTransactionFromDB(); IEnumerable <Transaction> transactions = transactionDB.LoadAllData(genericT.DBTableName);
foreach (Transaction x in transactions) foreach (Transaction t in transactions)
{ {
Debug.WriteLine($"{x.GetLocalTimeFromUnixTime(x.UnixTime)} *** {x.Currency} - {x.Amount}"); Debug.WriteLine($"{t.GetLocalTimeFromUnixTime(t.UnixTime)} *** {t.Currency} - {t.Amount}");
} }
} }
private void searchButton_Click(object sender, RoutedEventArgs e) private void searchButton_Click(object sender, RoutedEventArgs e)
{ {
//IEnumerable<Transaction> transactions = ReadTransactionFromDB("Currency"); string query = $"SELECT * from {genericT.DBTableName} WHERE {nameof(genericT.Currency)}=\'{currencyText.Text}\'";
IEnumerable<Transaction> transactions = transactionDB.QueryData(genericT.DBTableName, query);
//transactions = DBInteraction.LoadTransactionsOfCurrency(currencyText.Text); //transactions = DBInteraction.LoadTransactionsOfCurrency(currencyText.Text);
//transactionsFoundListBox.Items.Clear(); transactionsFoundListBox.Items.Clear();
//foreach (Transaction x in transactions) foreach (Transaction x in transactions)
//{ {
// transactionsFoundListBox.Items.Add(x.FullInfo); transactionsFoundListBox.Items.Add(x.FullInfo);
//} }
} }
private IEnumerable<Transaction> ReadTransactionFromDB() //private IEnumerable<Transaction> ReadTransactionFromDB()
{ //{
Transaction t = new(); // Transaction t = new();
DBInteraction.GenericDB<Transaction> db = new(); // return transactionDB.LoadAllData(t.DBTableName);
return db.LoadAllData(t.DBTableName); //}
}
private Transaction DummyTransaction() private Transaction DummyTransaction()
{ {