CryptoCalc/DBInteraction.cs

48 lines
2.0 KiB
C#

using Dapper;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SQLite;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CryptoCalc
{
public class DBInteraction
{
public static void SaveTransaction(Transaction transaction)
{
using IDbConnection cnn = new SQLiteConnection(Util.GetConnectionString());
cnn.Execute("insert into RawData (Date_Year, Date_Month, Date_Day, Time_Hour, Time_Minute, Time_Second, DateTimeString, CryptoCurrency, Amount, TransactionType, Service, Comment) values (@Date_Year, @Date_Month, @Date_Day, @Time_Hour, @Time_Minute, @Time_Second, @DateTimeString, @CryptoCurrency, @Amount, @TransactionType, @Service, @Comment)", transaction);
Debug.WriteLine("Saved DB data");
}
public static List<Transaction> LoadTransactions()
{
using IDbConnection _connection = new SQLiteConnection(Util.GetConnectionString());
var output = _connection.Query<Transaction>("select * from RawData", new DynamicParameters());
Debug.WriteLine("Loaded DB data");
return output.ToList();
}
public static List<Transaction> LoadTransactionsOfCurrency(string _currency)
{
Debug.WriteLine(_currency);
using IDbConnection connection = new SQLiteConnection(Util.GetConnectionString());
return connection.Query<Transaction>($"select * from RawData where CryptoCurrency = '{ _currency }'").ToList();
//var output = connection.Query<Transaction>($"select * from RawData where CryptoCurrency = '{ _currency }'").ToList();
//Debug.WriteLine(output);
//foreach (Transaction x in output)
//{
// Debug.WriteLine($"{x.DateTimeString} {x.CryptoCurrency} - {x.Amount}");
//}
//return output;
}
}
}