More modernization

- Split generic "common" libraries into specific libraries
- Use other packages in lieu of custom code
- General cleanup
This commit is contained in:
2023-04-05 16:06:38 -04:00
parent f480a6c373
commit b5f570688d
46 changed files with 1210 additions and 656 deletions

View File

@@ -1,5 +1,5 @@
using Common.Debug;
using FeedCenter.Properties;
using FeedCenter.Properties;
using Serilog;
using System;
using System.Collections.Generic;
using System.Data.SqlServerCe;
@@ -38,9 +38,9 @@ namespace FeedCenter.Data
private static SqlServerCeFileVersion GetFileVersion(string databasePath)
{
// Create a mapping of version numbers to the version enumeration
var versionMapping = new Dictionary<int, SqlServerCeFileVersion>
{
{ 0x73616261, SqlServerCeFileVersion.Version20 },
var versionMapping = new Dictionary<int, SqlServerCeFileVersion>
{
{ 0x73616261, SqlServerCeFileVersion.Version20 },
{ 0x002dd714, SqlServerCeFileVersion.Version30 },
{ 0x00357b9d, SqlServerCeFileVersion.Version35 },
{ 0x003d0900, SqlServerCeFileVersion.Version40 }
@@ -63,7 +63,7 @@ namespace FeedCenter.Data
}
catch (Exception exception)
{
Tracer.WriteException(exception);
Log.Logger.Error(exception, "Exception");
throw;
}
@@ -78,16 +78,16 @@ namespace FeedCenter.Data
public static void CreateDatabase()
{
Tracer.WriteLine("Creating database engine");
Log.Logger.Information("Creating database engine");
// Create the database engine
using var engine = new SqlCeEngine($"Data Source={DatabaseFile}");
Tracer.WriteLine("Creating database");
Log.Logger.Information("Creating database");
// Create the database itself
engine.CreateDatabase();
Tracer.WriteLine("Running database script");
Log.Logger.Information("Running database script");
// Run the creation script
ExecuteScript(Resources.CreateDatabase);
@@ -113,34 +113,34 @@ namespace FeedCenter.Data
if (string.IsNullOrEmpty(versionString))
versionString = "0";
Tracer.WriteLine("Database version: {0}", versionString);
Log.Logger.Information("Database version: {0}", versionString);
return int.Parse(versionString);
}
public static void UpdateDatabase()
{
Tracer.WriteLine("Getting database file version");
Log.Logger.Information("Getting database file version");
// Get the database file version
var fileVersion = GetFileVersion(DatabaseFile);
Tracer.WriteLine("Database file version: {0}", fileVersion);
Log.Logger.Information("Database file version: {0}", fileVersion);
// See if we need to upgrade the database file version
if (fileVersion != SqlServerCeFileVersion.Version40)
{
Tracer.WriteLine("Creating database engine");
Log.Logger.Information("Creating database engine");
// Create the database engine
using var engine = new SqlCeEngine($"Data Source={DatabaseFile}");
Tracer.WriteLine("Upgrading database");
Log.Logger.Information("Upgrading database");
// Upgrade the database (if needed)
engine.Upgrade();
}
Tracer.WriteLine("Getting database version");
Log.Logger.Information("Getting database version");
// Create a database connection
using var connection = new SqlCeConnection($"Data Source={DatabaseFile}");
@@ -183,11 +183,11 @@ namespace FeedCenter.Data
public static void MaintainDatabase()
{
Tracer.WriteLine("Creating database engine");
Log.Logger.Information("Creating database engine");
// Create the database engine
using var engine = new SqlCeEngine($"Data Source={DatabaseFile}");
Tracer.WriteLine("Shrinking database");
Log.Logger.Information("Shrinking database");
// Compact the database
engine.Shrink();