v1.2.10.1

This commit is contained in:
2022-12-12 14:20:49 +00:00
parent ea5e27a5b3
commit 61af3ef40b
72 changed files with 2002 additions and 221 deletions
@@ -126,6 +126,8 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
{
// Construction.
public AjaxResponse_ValidateDatabaseSchema(SaxModel_Admin model) : base(model) { }
// Database instance.
public String Instance { get; set; }
// Schema validation list.
public List<DbSchemaItemResponseData> Items { get; } = new List<DbSchemaItemResponseData>();
}
@@ -146,12 +148,20 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
using (DisposableCollection<SacsDisposable> disposableItems = new DisposableCollection<SacsDisposable>())
{
// Database instance.
Sax.Database databaseInstance = EnumUtil.ParseEnum(StringUtil.EmptyOnNull(model.DatabaseInstance), Sax.Database.Unknown);
if (databaseInstance <= 0)
return Json(responseData.SetMessage(messageTitle, "Database instance must be specified"));
responseData.Instance = databaseInstance.ToString();
// Core Database connection.
ISacsDatabase db = Internals.CoreDatabase;
ISacsDatabase db = App.GetDatabase(SessionContext, databaseInstance);
if (db == null)
return Json(responseData.SetMessage(messageTitle, "Unrecognised database instance specified: " + model.DatabaseInstance));
// Retrieve XML database schema definition.
var assembly = typeof(SaxSystem_Dbas).GetTypeInfo().Assembly;
String xmlSchema = SacsResourceHelper.GetManifestResourceAsText(assembly, "", "SaxDbDfn_Core.xml");
String xmlSchema = SacsResourceHelper.GetManifestResourceAsText(assembly, "", "SaxDbDfn_" + databaseInstance.ToString() + ".xml");
if (StringUtil.IsEmpty(xmlSchema))
return Json(responseData.SetMessage(messageTitle, "Failed to extract XML schema definition."));