3.0.2.1 Vehicle Classes

This commit is contained in:
Andy Howard
2025-11-29 17:03:00 +00:00
parent 0c43bbad77
commit 166fa3a352
47 changed files with 1412 additions and 651 deletions
@@ -17,6 +17,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text.RegularExpressions;
namespace Sarand.BusinessMgr.Web.Control.Controllers.System
{
@@ -106,7 +107,7 @@ namespace Sarand.BusinessMgr.Web.Control.Controllers.System
foreach (DbDfnTable tableDfn in tableDfns.OrderBy(item => item.Name))
{
// Filter by table name.
if (!StringUtil.IsEmpty(model.DatabaseFilter.Search) && !tableDfn.Name.ContainsCI(model.DatabaseFilter.Search))
if (!StringUtil.IsBlank(model.DatabaseFilter.Search) && !tableDfn.Name.ContainsCI(model.DatabaseFilter.Search))
continue;
DatabaseTableData tableData = new DatabaseTableData();
@@ -266,7 +267,8 @@ namespace Sarand.BusinessMgr.Web.Control.Controllers.System
IndexName = schemaComparisonItem.IndexName,
Comment = schemaComparisonItem.Comment
};
responseData.Items.Add(item);
if (SchemaItemMatchesSearch(item, model.DatabaseFilter.Search))
responseData.Items.Add(item);
}
}
@@ -275,6 +277,22 @@ namespace Sarand.BusinessMgr.Web.Control.Controllers.System
return Json(responseData);
}
private bool SchemaItemMatchesSearch(DbSchemaItemResponseData item, String search)
{
if (StringUtil.IsBlank(search)) return true;
foreach (string searchWord in Regex.Split(search, "[\\s,;\\-+]+"))
{
if (searchWord.IsBlank()) continue;
if (!item.SchemaName.ContainsCI(searchWord)
&& !item.TableName.ContainsCI(searchWord)
&& !item.ColumnName.ContainsCI(searchWord)
&& !item.IndexName.ContainsCI(searchWord)
&& !item.Comment.ContainsCI(searchWord))
return false;
}
return true;
}
private Dictionary<String, String> GetSmlSchemas(Sbm.Database databaseInstance)
{
Dictionary<String, String> schemas = new Dictionary<String, String>();
@@ -549,4 +549,25 @@
<data name="msg.item.created" xml:space="preserve">
<value>Item created.</value>
</data>
<data name="security.msg.signin.invalid" xml:space="preserve">
<value>Incorrect account credentials entered.</value>
</data>
<data name="security.msg.warn.sessionExpired" xml:space="preserve">
<value>Your session has expired.</value>
</data>
<data name="security.msg.request.password.saved" xml:space="preserve">
<value>Password has been updated.</value>
</data>
<data name="security.msg.request.password.email.sent" xml:space="preserve">
<value>If your email address matches an active user account, you will shortly receive an email with instructions for changing your password.</value>
</data>
<data name="security.msg.change.password.failed" xml:space="preserve">
<value>Failed to change password.</value>
</data>
<data name="security.change.password.not.changed" xml:space="preserve">
<value>Your new password must be different from the previous.</value>
</data>
<data name="security.change.password.current.invalid" xml:space="preserve">
<value>Current password does not match.</value>
</data>
</root>