using Dapper; using System; using System.Collections.Generic; using System.Data; using System.Data.SQLite; using System.Diagnostics; using System.Linq; using static CryptoCalc.DBClasses; namespace CryptoCalc { public class DBInteraction { public static void SaveData(ref T _data) where T : DBClasses { if (_data is null) { throw new ArgumentNullException(nameof(_data)); } using IDbConnection cnn = new SQLiteConnection(Util.GetConnectionString(_data.DBTableName)); cnn.Execute($"insert into {_data.DBTableName} {_data.DBSaveDataString}", _data); Debug.WriteLine($"Saved {_data.DBTableName} DB data"); } //public static List _LoadTransactions() //{ // using IDbConnection _connection = new SQLiteConnection(Util.GetConnectionString("RawData")); // var output = _connection.Query("select * from RawData", new DynamicParameters()); // Debug.WriteLine("Loaded DB data"); // return output.ToList(); //} public static List LoadTransactions() { using IDbConnection _connection = new SQLiteConnection(Util.GetConnectionString("Transactions")); var output = _connection.Query("select * from Transactions", new DynamicParameters()); Debug.WriteLine("Loaded DB data"); return output.ToList(); } public static List LoadTransactionsOfCurrency(string _currency) { Debug.WriteLine($"Fetching all {_currency} transactions from Database"); using IDbConnection connection = new SQLiteConnection(Util.GetConnectionString("Transactions")); return connection.Query($"select * from Transactions where Currency = '{ _currency.ToUpper() }'").ToList(); } } }