122 lines
4.2 KiB
C#
122 lines
4.2 KiB
C#
|
|
using Microsoft.Data.Sqlite;
|
|
|
|
namespace SimPas2_Windows
|
|
{
|
|
internal static class Program
|
|
{
|
|
private static readonly string AppDataPath = Path.Combine(
|
|
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
|
|
"076Soft", "SimPas");
|
|
private static readonly string DatabasePath = Path.Combine(AppDataPath, "SimPas.db");
|
|
|
|
[STAThread]
|
|
static void Main()
|
|
{
|
|
//Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en");
|
|
//Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en");
|
|
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("ja-JP");
|
|
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("ja-JP");
|
|
|
|
Application.EnableVisualStyles();
|
|
Application.SetCompatibleTextRenderingDefault(false);
|
|
|
|
InitializeDatabase();
|
|
ApplicationConfiguration.Initialize();
|
|
Application.Run(new SimPas2());
|
|
}
|
|
|
|
private static void InitializeDatabase()
|
|
{
|
|
try
|
|
{
|
|
if (!Directory.Exists(AppDataPath))
|
|
{
|
|
Directory.CreateDirectory(AppDataPath);
|
|
}
|
|
|
|
if (!File.Exists(DatabasePath))
|
|
{
|
|
using (var conn = new SqliteConnection($"Data Source={DatabasePath}"))
|
|
{
|
|
conn.Open();
|
|
|
|
SqliteCommand com = conn.CreateCommand();
|
|
com.CommandText = @"
|
|
CREATE TABLE IF NOT EXISTS Settings (
|
|
Id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
Key VARCHAR(255) NOT NULL,
|
|
Value TEXT
|
|
);
|
|
CREATE TABLE IF NOT EXISTS Passwords (
|
|
Id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
Website VARCHAR(255) NOT NULL,
|
|
Username VARCHAR(255) NOT NULL,
|
|
Password VARCHAR(255) NOT NULL,
|
|
Note TEXT
|
|
);
|
|
CREATE TABLE IF NOT EXISTS Otp (
|
|
Id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
Website VARCHAR(255) NOT NULL,
|
|
Secret VARCHAR(255) NOT NULL,
|
|
Issuer VARCHAR(255) NOT NULL,
|
|
Algorithm VARCHAR(255) NOT NULL,
|
|
Duration INTEGER NOT NULL,
|
|
Digits INTEGER NOT NULL,
|
|
Note TEXT
|
|
);
|
|
CREATE TABLE IF NOT EXISTS Pin (
|
|
Id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
Website VARCHAR(255) NOT NULL,
|
|
Pincode VARCHAR(6) NOT NULL,
|
|
Note TEXT
|
|
);
|
|
CREATE TABLE IF NOT EXISTS Qa (
|
|
Id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
Website VARCHAR(255) NOT NULL,
|
|
Question VARCHAR(255) NOT NULL,
|
|
Answer VARCHAR(255) NOT NULL,
|
|
Note TEXT
|
|
);
|
|
CREATE TABLE IF NOT EXISTS Cc (
|
|
Id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
Brand VARCHAR(50) NOT NULL,
|
|
Cardnumber VARCHAR(20) NOT NULL,
|
|
Expiration VARCHAR(5) NOT NULL,
|
|
Cvc VARCHAR(4) NOT NULL,
|
|
Holdername VARCHAR(255) NOT NULL,
|
|
Note TEXT
|
|
);
|
|
CREATE TABLE IF NOT EXISTS Crypto (
|
|
Id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
Currency VARCHAR(20) NOT NULL,
|
|
Name VARCHAR(20) NOT NULL,
|
|
Address VARCHAR(255) NOT NULL,
|
|
Seed TEXT NOT NULL,
|
|
Viewkey VARCHAR(255),
|
|
Spendkey VARCHAR(255),
|
|
Height VARCHAR(255),
|
|
Password VARCHAR(255),
|
|
Note TEXT
|
|
);
|
|
CREATE TABLE IF NOT EXISTS Notes (
|
|
Id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
Name VARCHAR(255) NOT NULL,
|
|
Text TEXT
|
|
);
|
|
";
|
|
com.ExecuteNonQuery();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
MessageBox.Show(
|
|
$"Failed to initialize database: {e.Message}",
|
|
"Database Error",
|
|
MessageBoxButtons.OK,
|
|
MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
}
|
|
} |