Dynamic Portal menu

This commit is contained in:
Andy Howard
2025-01-13 14:52:09 +00:00
parent 4a72043f00
commit ee988b1f76
21 changed files with 218 additions and 229 deletions
@@ -366,7 +366,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
private static readonly String aliasAffiliate_AddPrim = "Aff_AddPrim";
private static readonly String prefixAffiliate_AddPrim = aliasAffiliate_AddPrim + "_";
private static readonly String colNameAffiliate_GroupMembers = "GroupMembers";
private static readonly String colNameAffiliate_AssociationCount = "AssocCount";
private static readonly String colNameAffiliate_AssociationOwnerCount = "AssocOwnerCount";
private static readonly String colNameAffiliate_AssociationTargetCount = "AssocTargetCount";
// Column definition population.
private void SetAffiliateColDfn
@@ -499,9 +500,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
SetAffiliateColDfn(columnDfn, "Members", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
columnDfn.DataName = colNameAffiliate_GroupMembers;
break;
case SbmAffiliate.Column.Association_Count:
SetAffiliateColDfn(columnDfn, "Associations", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
columnDfn.DataName = colNameAffiliate_AssociationCount;
case SbmAffiliate.Column.AssociationOwner_Count:
SetAffiliateColDfn(columnDfn, "Owner Assocs", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
columnDfn.DataName = colNameAffiliate_AssociationOwnerCount;
break;
case SbmAffiliate.Column.AssociationTarget_Count:
SetAffiliateColDfn(columnDfn, "Target Assocs", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
columnDfn.DataName = colNameAffiliate_AssociationTargetCount;
break;
//-----------------------------------------------------------------
@@ -1042,16 +1047,32 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
//---------------------------------------------------------------
if (columns.HasId(SbmAffiliate.Column.Association_Count))
// Associations.
if (columns.HasId(SbmAffiliate.Column.AssociationOwner_Count))
{
// Count active associations.
String aliasAffiliate_Associations = "AffAssocs";
String aliasAffiliate_Associations_Owner = "AffAssOwner";
DbQuery qryAssocs = new DbQuery(db.DbmsType);
qryAssocs.Tables.Add((SbmDbDfn.TableIdx.Association).ToString(), aliasAffiliate_Associations);
qryAssocs.Tables.Add((SbmDbDfn.TableIdx.Association).ToString(), aliasAffiliate_Associations_Owner);
qryAssocs.Columns.Add("Count(*)");
qryAssocs.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_AffIdOwner, aliasAffiliate_Associations)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_Id, aliasAffiliate)}");
qryAssocs.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Status, aliasAffiliate_Associations)}='{StatusCurrent}'");
query.Columns.Add("(" + qryAssocs.BuildQuery() + ")", colNameAffiliate_AssociationCount);
qryAssocs.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_AffIdOwner, aliasAffiliate_Associations_Owner)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_Id, aliasAffiliate)}");
qryAssocs.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Type, aliasAffiliate_Associations_Owner)}!={(int)Sbm.AssociationType.Internal}");
qryAssocs.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Status, aliasAffiliate_Associations_Owner)}='{StatusCurrent}'");
query.Columns.Add("(" + qryAssocs.BuildQuery() + ")", colNameAffiliate_AssociationOwnerCount);
}
if (columns.HasId(SbmAffiliate.Column.AssociationTarget_Count))
{
// Count active associations.
String aliasAffiliate_Associations_Target = "AffAssTarget";
DbQuery qryAssocs = new DbQuery(db.DbmsType);
qryAssocs.Tables.Add((SbmDbDfn.TableIdx.Association).ToString(), aliasAffiliate_Associations_Target);
qryAssocs.Columns.Add("Count(*)");
qryAssocs.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_AffIdTarget, aliasAffiliate_Associations_Target)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_Id, aliasAffiliate)}");
qryAssocs.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Type, aliasAffiliate_Associations_Target)}!={(int)Sbm.AssociationType.Internal}");
qryAssocs.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Status, aliasAffiliate_Associations_Target)}='{StatusCurrent}'");
query.Columns.Add("(" + qryAssocs.BuildQuery() + ")", colNameAffiliate_AssociationTargetCount);
}
//---------------------------------------------------------------