Dynamic Portal menu
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user