Start modernization

This commit is contained in:
2023-03-10 12:18:03 -05:00
parent a0214b98f1
commit f480a6c373
57 changed files with 661 additions and 2921 deletions

View File

@@ -1,4 +1,6 @@
using System;
using FeedCenter.Data;
using FeedCenter.Options;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -8,33 +10,18 @@ namespace FeedCenter
{
public static object OpenDataStore()
{
var entities = new FeedCenterEntities();
return entities.Database.Exists() ? entities : null;
return Database.Entities;
}
public static void CloseDataStore(object dataStore)
{
var entities = (FeedCenterEntities) dataStore;
if (entities == null)
return;
entities.SaveChanges();
entities.Dispose();
}
public static string GetSettingValue(object dataStore, string name, Version version)
{
var entities = (FeedCenterEntities) dataStore;
if (entities == null)
return null;
var versionString = version.ToString();
var setting = entities.Settings.FirstOrDefault(s => s.Name == name && s.Version == versionString);
var setting = entities?.Settings.FirstOrDefault(s => s.Name == name);
return setting?.Value;
}
@@ -46,51 +33,30 @@ namespace FeedCenter
if (entities == null)
return;
var versionString = version.ToString();
// Try to get the setting from the database that matches the name and version
var setting = entities.Settings.FirstOrDefault(s => s.Name == name && s.Version == versionString);
var setting = entities.Settings.FirstOrDefault(s => s.Name == name);
// If there was no setting we need to create it
if (setting == null)
entities.SaveChanges(() =>
{
// Create the new setting
setting = new Setting { Name = name, Version = version.ToString() };
// If there was no setting we need to create it
if (setting == null)
{
// Create the new setting
setting = new Setting { Name = name };
// Add the setting to the database
entities.Settings.Add(setting);
}
// Add the setting to the database
entities.Settings.Add(setting);
}
// Set the value into the setting
setting.Value = value;
// Set the value into the setting
setting.Value = value;
});
}
public static List<Version> GetVersionList(object dataStore)
{
var entities = (FeedCenterEntities) dataStore;
// Get a distinct list of version strings
var versions = entities?.Settings.Select(s => s.Version).Distinct().ToList();
// Create a version object for each string and return the list
return versions?.Select(s => new Version(s)).ToList();
}
public static List<Version> GetVersionList(object dataStore) => null;
public static void DeleteSettingsForVersion(object dataStore, Version version)
{
var entities = (FeedCenterEntities) dataStore;
if (entities == null)
return;
var versionString = version.ToString();
// Get all the settings for the current version number
var settings = entities.Settings.Where(setting => setting.Version == versionString);
// Delete each setting
foreach (var setting in settings)
entities.Settings.Remove(setting);
}
}
}