41 lines
1.7 KiB
C#
41 lines
1.7 KiB
C#
using Dapper;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.SQLite;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using static CryptoCalc.DB_Classes;
|
|
|
|
namespace CryptoCalc
|
|
{
|
|
public class DBInteraction
|
|
{
|
|
public static void SaveTransaction(RawData _rawData)
|
|
{
|
|
if (_rawData is null)
|
|
{
|
|
throw new ArgumentNullException(nameof(_rawData));
|
|
}
|
|
using IDbConnection cnn = new SQLiteConnection(Util.GetConnectionString("data"));
|
|
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)", _rawData);
|
|
Debug.WriteLine("Saved DB data");
|
|
}
|
|
|
|
public static List<RawData> LoadTransactions()
|
|
{
|
|
using IDbConnection _connection = new SQLiteConnection(Util.GetConnectionString("data"));
|
|
var output = _connection.Query<RawData>("select * from RawData", new DynamicParameters());
|
|
Debug.WriteLine("Loaded DB data");
|
|
return output.ToList();
|
|
}
|
|
|
|
public static List<RawData> LoadTransactionsOfCurrency(string _currency)
|
|
{
|
|
Debug.WriteLine($"Fetching all {_currency} transactions from Database");
|
|
using IDbConnection connection = new SQLiteConnection(Util.GetConnectionString("data"));
|
|
return connection.Query<RawData>($"select * from RawData where CryptoCurrency = '{ _currency }'").ToList();
|
|
}
|
|
}
|
|
}
|