This commit is contained in:
2021-10-21 18:04:57 +01:00
parent 057b75462e
commit ea61d37840
32 changed files with 1486 additions and 523 deletions
@@ -445,20 +445,19 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
// User Account status.
if (prm.UserAccountStatusCat != SaxUserAccount.StatusCat.Any)
{
String aliasUserOrganisation_UserAccount = StringUtil.OnEmpty(prm.Alias_UserAccount, SaxAccountMgr_Dbas.aliasUserOrganisation_UserAccount);
if (StringUtil.IsEmpty(prm.Alias_UserAccount))
{
// User Account table isn't linked.
DbQuery qry = new DbQuery(CoreDatabase.DbmsType);
qry.Tables.Add(SaxDbDfn_Core.GetTableName(SaxDbDfn_Core.TableIdx.UserAccount), aliasUserOrganisation_UserAccount);
qry.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserAccount_Id, aliasUserOrganisation_UserAccount));
qry.Columns.Add("1");
qry.Filters.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserAccount_Id, aliasUserOrganisation_UserAccount) + "=" + SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_UserAccountId, aliasUserOrganisation));
qry.Filters.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserAccount_Status, aliasUserOrganisation_UserAccount) + GetUserAccountStatusCatFilterCondition(prm.UserAccountStatusCat));
filter.Add("Exists (" + qry.BuildQuery() + ")");
}
else
// User Account table is linked - filter directly.
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserAccount_Status, aliasUserOrganisation_UserAccount) + GetUserAccountStatusCatFilterCondition(prm.UserAccountStatusCat));
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserAccount_Status, prm.Alias_UserAccount) + GetUserAccountStatusCatFilterCondition(prm.UserAccountStatusCat));
}
// Organisations.
@@ -469,20 +468,19 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
// Organisation status.
if (prm.OrganisationStatusCat != SaxOrganisation.StatusCat.Any)
{
String aliasUserOrganisation_Organisation = StringUtil.OnEmpty(prm.Alias_Organisation, SaxAccountMgr_Dbas.aliasUserOrganisation_Organisation);
if (StringUtil.IsEmpty(prm.Alias_Organisation))
{
// User Account table isn't linked.
DbQuery qry = new DbQuery(CoreDatabase.DbmsType);
qry.Tables.Add(SaxDbDfn_Core.GetTableName(SaxDbDfn_Core.TableIdx.Organisation), aliasUserOrganisation_Organisation);
qry.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Organisation_Id, aliasUserOrganisation_Organisation));
qry.Columns.Add("1");
qry.Filters.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Organisation_Id, aliasUserOrganisation_Organisation) + "=" + SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_OrganisationId, aliasUserOrganisation));
qry.Filters.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Organisation_Status, aliasUserOrganisation_Organisation) + GetOrganisationStatusCatFilterCondition(prm.OrganisationStatusCat));
filter.Add("Exists (" + qry.BuildQuery() + ")");
}
else
// User Account table is linked - filter directly.
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Organisation_Status, aliasUserOrganisation_Organisation) + GetOrganisationStatusCatFilterCondition(prm.OrganisationStatusCat));
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Organisation_Status, prm.Alias_Organisation) + GetOrganisationStatusCatFilterCondition(prm.OrganisationStatusCat));
}
// Organisation roles.