This commit is contained in:
2021-07-23 14:01:49 +01:00
parent 10907d3aff
commit 0d7be69e1e
109 changed files with 3161 additions and 943 deletions
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -24,6 +24,7 @@ namespace Saxonite.Net.Standard.Dbas.Internal
public ColumnDataInt32 _OrganisationId { get; } = new ColumnDataInt32("OrganisationId");
public ColumnDataString _OrganisationRoleCodes { get; } = new ColumnDataString("OrganisationRoleCodes");
public ColumnDataByte _OrganisationRoleCount { get; } = new ColumnDataByte("OrganisationRoleCount");
public ColumnDataString _AdminComment { get; } = new ColumnDataString("AdminComment");
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
@@ -44,6 +45,7 @@ namespace Saxonite.Net.Standard.Dbas.Internal
"OrganisationId",
"OrganisationRoleCodes",
"OrganisationRoleCount",
"AdminComment",
"Notes",
"Flags",
"Status",
@@ -90,6 +92,7 @@ namespace Saxonite.Net.Standard.Dbas.Internal
public Int32 _OrganisationId { get { return Cols._OrganisationId.Value; } set { Cols._OrganisationId.Value = value; } }
public String _OrganisationRoleCodes { get { return Cols._OrganisationRoleCodes.Value; } set { Cols._OrganisationRoleCodes.Value = value; } }
public Byte _OrganisationRoleCount { get { return Cols._OrganisationRoleCount.Value; } set { Cols._OrganisationRoleCount.Value = value; } }
public String _AdminComment { get { return Cols._AdminComment.Value; } set { Cols._AdminComment.Value = value; } }
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
@@ -125,6 +128,7 @@ namespace Saxonite.Net.Standard.Dbas.Internal
_OrganisationId = GetFieldInt32(dbDataReader, "OrganisationId", _OrganisationId);
_OrganisationRoleCodes = GetFieldString(dbDataReader, "OrganisationRoleCodes", _OrganisationRoleCodes);
_OrganisationRoleCount = GetFieldByte(dbDataReader, "OrganisationRoleCount", _OrganisationRoleCount);
_AdminComment = GetFieldString(dbDataReader, "AdminComment", _AdminComment);
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
_Status = GetFieldString(dbDataReader, "Status", _Status);
@@ -159,6 +163,7 @@ namespace Saxonite.Net.Standard.Dbas.Internal
if (columnNames.ContainsCI("OrganisationId")) AddCommandParameter(dbCommand, "@OrganisationId", _OrganisationId);
if (columnNames.ContainsCI("OrganisationRoleCodes")) AddCommandParameter(dbCommand, "@OrganisationRoleCodes", _OrganisationRoleCodes);
if (columnNames.ContainsCI("OrganisationRoleCount")) AddCommandParameter(dbCommand, "@OrganisationRoleCount", _OrganisationRoleCount);
if (columnNames.ContainsCI("AdminComment")) AddCommandParameter(dbCommand, "@AdminComment", _AdminComment);
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
@@ -208,6 +213,7 @@ namespace Saxonite.Net.Standard.Dbas.Internal
if (columnNames.ContainsCI("OrganisationId")) AddCommandParameter(dbCommand, "@OrganisationId", _OrganisationId);
if (columnNames.ContainsCI("OrganisationRoleCodes")) AddCommandParameter(dbCommand, "@OrganisationRoleCodes", _OrganisationRoleCodes);
if (columnNames.ContainsCI("OrganisationRoleCount")) AddCommandParameter(dbCommand, "@OrganisationRoleCount", _OrganisationRoleCount);
if (columnNames.ContainsCI("AdminComment")) AddCommandParameter(dbCommand, "@AdminComment", _AdminComment);
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Fri 2-Jul-2021 07:46:23
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -505,6 +505,8 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
return "='" + SacsSystem.GetStatusCode(SaStatus.Awaiting) + "'";
if (statusCat == SaxUserAccount.StatusCat.ActiveOnly)
return "='" + SacsSystem.GetStatusCode(SaStatus.Active) + "'";
if (statusCat == SaxUserAccount.StatusCat.AwaitingOrActive)
return " In ('" + SacsSystem.GetStatusCode(SaStatus.Awaiting) + "','" + SacsSystem.GetStatusCode(SaStatus.Active) + "')";
if (statusCat == SaxUserAccount.StatusCat.InactiveOnly)
return "='" + SacsSystem.GetStatusCode(SaStatus.Inactive) + "'";
if (statusCat == SaxUserAccount.StatusCat.NotDeleted)
@@ -31,7 +31,7 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
new StringPair("Id",SysId.ToString(userOrganisation.Id)),
new StringPair("UserAccountId",SysId.ToString(userOrganisation.UserAccountId)),
new StringPair("OrganisationId",SysId.ToString(userOrganisation.OrganisationId)),
new StringPair("Roles",userOrganisation.OrganisationRoles.Select(item => item.ToString()).Concat(", ")),
new StringPair("Roles",userOrganisation.GetOrganisationRoles().ToList().Select(item => item.ToString()).Concat(", ")),
new StringPair("Status",userOrganisation.StatusCode)
};
}
@@ -216,7 +216,8 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
dbUserOrganisation._UserAccountId = SysId.ToInt(userOrganisation.UserAccountId);
dbUserOrganisation._OrganisationId = SysId.ToInt(userOrganisation.OrganisationId);
dbUserOrganisation._OrganisationRoleCodes = userOrganisation.GetOrganisationRoleCodesData();
dbUserOrganisation._OrganisationRoleCount = (byte)userOrganisation.OrganisationRoles.Count;
dbUserOrganisation._OrganisationRoleCount = (byte)userOrganisation.OrganisationRoleCount;
dbUserOrganisation._AdminComment = userOrganisation.AdminComment;
// Common.
dbUserOrganisation._Notes = userOrganisation.Notes;
dbUserOrganisation._Status = SacsSystem.GetStatusCode(userOrganisation.Status);
@@ -237,6 +238,7 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
//userOrganisation.UserAccountId = new SysId(dbUserOrganisation._UserAccountId);
//userOrganisation.OrganisationId = new SysId(dbUserOrganisation._OrganisationId);
userOrganisation.OrganisationRoles = SaxUserOrganisation.GetOrganisationRolesFromCodes(dbUserOrganisation._OrganisationRoleCodes);
userOrganisation.AdminComment = dbUserOrganisation._AdminComment;
// Common.
userOrganisation.Notes = dbUserOrganisation._Notes;
userOrganisation.Status = SacsSystem.GetStatusForCode(dbUserOrganisation._Status);
@@ -256,6 +258,8 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
private static readonly String prefixUserOrganisation_Organisation_Region = "UsrOrg_Org_Rgn_";
private static readonly String aliasUserOrganisation_Organisation_Sport = "UsrOrg_Org_Spt";
private static readonly String prefixUserOrganisation_Organisation_Sport = "UsrOrg_Org_Spt_";
private static readonly String dataName_UserOrganisation_Organisation_Member_Count = "UsrOrg_Org_Mbr_Count";
private static readonly String dataName_UserOrganisation_Organisation_Opportunity_Count = "UsrOrg_Org_Opp_Count";
private void SetUserOrganisationColDfn
(ColumnDfn col, String caption, int width, SaxDbDfn_Core.ColumnIdx dbCol,
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
@@ -329,6 +333,14 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
SetUserOrganisationColDfn(columnDfn, "Last name", 120, SaxDbDfn_Core.ColumnIdx.UserAccount_LastName, ColumnAlignment.Left, DataValue.DataType.String, aliasUserOrganisation_UserAccount, prefixUserOrganisation_UserAccount);
columnDfn.ReadOnly = true;
break;
case SaxUserOrganisation.Column.User_Status:
SetUserOrganisationColDfn(columnDfn, "Status", 80, SaxDbDfn_Core.ColumnIdx.UserAccount_Status, ColumnAlignment.Center, DataValue.DataType.String, aliasUserOrganisation_UserAccount, prefixUserOrganisation_UserAccount);
columnDfn.ReadOnly = true;
break;
case SaxUserOrganisation.Column.User_Status_Desc:
SetUserOrganisationColDfn(columnDfn, "Status", 90, SaxDbDfn_Core.ColumnIdx.UserAccount_Status, ColumnAlignment.Center, DataValue.DataType.String, aliasUserOrganisation_UserAccount, prefixUserOrganisation_UserAccount);
columnDfn.ReadOnly = true;
break;
//-------------------------------------------------------
// Organisation.
@@ -353,6 +365,24 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
columnDfn.ReadOnly = true;
break;
// Derived properties.
case SaxUserOrganisation.Column.Organisation_Member_Count:
SetUserOrganisationColDfn(columnDfn, "Members", 76, SaxDbDfn_Core.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
columnDfn.DataName = dataName_UserOrganisation_Organisation_Member_Count;
columnDfn.ReadOnly = true;
break;
case SaxUserOrganisation.Column.Organisation_Opportunity_Count:
SetUserOrganisationColDfn(columnDfn, "Opportunities", 76, SaxDbDfn_Core.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
columnDfn.DataName = dataName_UserOrganisation_Organisation_Opportunity_Count;
columnDfn.ReadOnly = true;
break;
//-----------------------------------------------------------
// Properties.
case SaxUserOrganisation.Column.AdminComment:
SetUserOrganisationColDfn(columnDfn, "Comment", 240, SaxDbDfn_Core.ColumnIdx.UserOrganisation_AdminComment);
break;
//-----------------------------------------------------------
// Derived properties.
@@ -436,6 +466,25 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
if (!organisationIdsIncluded.IsEmpty())
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_OrganisationId, aliasUserOrganisation) + " IN (" + organisationIdsIncluded + ")");
// 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.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));
}
// Organisation roles.
if (prm.OrganisationMembersOnly)
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_OrganisationRoleCount, aliasUserOrganisation) + ">0");
@@ -465,8 +514,6 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
{
if (statusCat == SaxUserOrganisation.StatusCat.ActiveOnly)
return "='" + SacsSystem.GetStatusCode(SaStatus.Active) + "'";
if (statusCat == SaxUserOrganisation.StatusCat.InactiveOnly)
return "='" + SacsSystem.GetStatusCode(SaStatus.Inactive) + "'";
if (statusCat == SaxUserOrganisation.StatusCat.NotDeleted)
return "!='" + SacsSystem.GetStatusCode(SaStatus.Deleted) + "'";
if (statusCat == SaxUserOrganisation.StatusCat.DeletedOnly)
@@ -572,7 +619,7 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
// Add columns as defined in query list.
if (columns.HasId(SaxUserOrganisation.Column.Id))
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_Id, aliasUserOrganisation));
bool hasUserAccountCols = (columns.HasId(SaxUserOrganisation.Column.User_EmailAddress) || columns.HasId(SaxUserOrganisation.Column.User_DisplayName) || columns.HasId(SaxUserOrganisation.Column.User_Title) || columns.HasId(SaxUserOrganisation.Column.User_FirstName) || columns.HasId(SaxUserOrganisation.Column.User_LastName));
bool hasUserAccountCols = (columns.HasId(SaxUserOrganisation.Column.User_EmailAddress) || columns.HasId(SaxUserOrganisation.Column.User_DisplayName) || columns.HasId(SaxUserOrganisation.Column.User_Title) || columns.HasId(SaxUserOrganisation.Column.User_FirstName) || columns.HasId(SaxUserOrganisation.Column.User_LastName) || columns.HasId(SaxUserOrganisation.Column.User_Status) || columns.HasId(SaxUserOrganisation.Column.User_Status_Desc));
if (columns.HasId(SaxUserOrganisation.Column.UserAccountId) || hasUserAccountCols)
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_UserAccountId, aliasUserOrganisation));
bool hasOrganisationCols = (columns.HasId(SaxUserOrganisation.Column.Organisation_Name) || columns.HasId(SaxUserOrganisation.Column.Organisation_RegionId) || columns.HasId(SaxUserOrganisation.Column.Organisation_SportId));
@@ -584,6 +631,8 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_OrganisationRoleCodes, aliasUserOrganisation));
if (columns.HasId(SaxUserOrganisation.Column.OrganisationRoleCount))
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_OrganisationRoleCount, aliasUserOrganisation));
if (columns.HasId(SaxUserOrganisation.Column.AdminComment))
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_AdminComment, aliasUserOrganisation));
// Common properties.
if (columns.HasId(SaxUserOrganisation.Column.Notes))
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_Notes, aliasUserOrganisation));
@@ -608,10 +657,16 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
joinUserAccount.Filters.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserAccount_Id, aliasUserOrganisation_UserAccount) + "=" + SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_UserAccountId, aliasUserOrganisation));
query.Joins.Add(joinUserAccount);
List<SaxDbDfn_Core.ColumnIdx> cols = new List<SaxDbDfn_Core.ColumnIdx>();
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress);
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_Title);
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_FirstName);
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_LastName);
if (columns.HasId(SaxUserOrganisation.Column.User_EmailAddress))
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress);
if (columns.HasId(SaxUserOrganisation.Column.User_Title) || columns.HasId(SaxUserOrganisation.Column.User_DisplayName))
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_Title);
if (columns.HasId(SaxUserOrganisation.Column.User_FirstName) || columns.HasId(SaxUserOrganisation.Column.User_DisplayName))
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_FirstName);
if (columns.HasId(SaxUserOrganisation.Column.User_LastName) || columns.HasId(SaxUserOrganisation.Column.User_DisplayName))
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_LastName);
if (columns.HasId(SaxUserOrganisation.Column.User_Status) || columns.HasId(SaxUserOrganisation.Column.User_Status_Desc))
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_Status);
foreach (var col in cols)
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(col, aliasUserOrganisation_UserAccount), prefixUserOrganisation_UserAccount + SaxDbDfn_Core.GetColumnName(col, false));
}
@@ -659,6 +714,34 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
}
}
//---------------------------------------------------------------------
// Organisation Member count.
if (columns.HasId(SaxUserOrganisation.Column.Organisation_Member_Count))
{
// Count 'Member' entries on User Organisation for the Organisation.
String aliasOrgMbr = "OrgMbr";
DbQuery qryOrgMbr = new DbQuery(CoreDatabase.DbmsType);
qryOrgMbr.Tables.Add(SaxDbDfn_Core.GetTableName(SaxDbDfn_Core.TableIdx.UserOrganisation), aliasOrgMbr);
qryOrgMbr.Columns.Add("Count(*)");
qryOrgMbr.Filters.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_OrganisationId, aliasOrgMbr) + "=" + SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_OrganisationId, aliasUserOrganisation));
qryOrgMbr.Filters.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_OrganisationRoleCount, aliasOrgMbr) + ">0");
query.Columns.Add("(" + qryOrgMbr.BuildQuery() + ")", dataName_UserOrganisation_Organisation_Member_Count);
}
//---------------------------------------------------------------------
// Organisation Opportunity count.
if (columns.HasId(SaxUserOrganisation.Column.Organisation_Opportunity_Count))
{
// Count Organisation Opportunities.
String aliasOrgOpp = "OrgOpp";
DbQuery qryOrgOpp = new DbQuery(CoreDatabase.DbmsType);
qryOrgOpp.Tables.Add(SaxDbDfn_Core.GetTableName(SaxDbDfn_Core.TableIdx.OrganisationOpportunity), aliasOrgOpp);
qryOrgOpp.Columns.Add("Count(*)");
qryOrgOpp.Filters.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.OrganisationOpportunity_OrganisationId, aliasOrgOpp) + "=" + SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.UserOrganisation_OrganisationId, aliasUserOrganisation));
// ToDo Should be limited by expiry etc.
query.Columns.Add("(" + qryOrgOpp.BuildQuery() + ")", dataName_UserOrganisation_Organisation_Opportunity_Count);
}
//---------------------------------------------------------------------
// Populate filter.
query.Filters.AddRange(GetUserOrganisationQueryFilter(prm));