Activity index, Db schema validation.
This commit is contained in:
2021-05-31 20:27:40 +01:00
parent 63473c725b
commit 7b0a710b13
36 changed files with 1008 additions and 208 deletions
@@ -239,8 +239,12 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
//-------------------------------------------------------------------
// Item column definitions.
private static readonly String aliasActivityIndex = "ActIdx";
private static readonly String aliasActivityIndex_Region = "ActIdx_Reg";
private static readonly String prefixActivityIndex_Region = "ActIdx_Reg_";
private static readonly String aliasActivityIndex_Article = "ActIdx_JrnArt";
private static readonly String prefixActivityIndex_Article = "ActIdx_JrnArt_";
private static readonly String aliasActivityIndex_Opportunity = "ActIdx_OrgOpp";
private static readonly String prefixActivityIndex_Opportunity = "ActIdx_OrgOpp_";
private static readonly String aliasActivityIndex_Region = "ActIdx_Rgn";
private static readonly String prefixActivityIndex_Region = "ActIdx_Rgn_";
private static readonly String aliasActivityIndex_Sport = "ActIdx_Spt";
private static readonly String prefixActivityIndex_Sport = "ActIdx_Spt_";
private void SetActivityIndexColDfn
@@ -287,13 +291,24 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
break;
//-----------------------------------------------------------
// Region.
case SaxActivityIndex.Column.RegionId:
SetActivityIndexColDfn(columnDfn, "Region Id", 80, SaxDbDfn_Core.ColumnIdx.ActivityIndex_RegionId, ColumnAlignment.Right, DataValue.DataType.Long);
// Article.
case SaxActivityIndex.Column.Article_Headline:
SetActivityIndexColDfn(columnDfn, "Headline", 160, SaxDbDfn_Core.ColumnIdx.JournalistArticle_Headline, ColumnAlignment.Left, DataValue.DataType.String, aliasActivityIndex_Article, prefixActivityIndex_Article);
columnDfn.ReadOnly = true;
break;
case SaxActivityIndex.Column.Region_Name:
SetActivityIndexColDfn(columnDfn, "Region", 100, SaxDbDfn_Core.ColumnIdx.Region_Name, ColumnAlignment.Left, DataValue.DataType.String, aliasActivityIndex_Region, prefixActivityIndex_Region);
case SaxActivityIndex.Column.Article_Summary:
SetActivityIndexColDfn(columnDfn, "Summary", 240, SaxDbDfn_Core.ColumnIdx.JournalistArticle_Summary, ColumnAlignment.Left, DataValue.DataType.String, aliasActivityIndex_Article, prefixActivityIndex_Article);
columnDfn.ReadOnly = true;
break;
//-----------------------------------------------------------
// Opportunity.
case SaxActivityIndex.Column.Opportunity_Position:
SetActivityIndexColDfn(columnDfn, "Position", 160, SaxDbDfn_Core.ColumnIdx.OrganisationOpportunity_Position, ColumnAlignment.Left, DataValue.DataType.String, aliasActivityIndex_Opportunity, prefixActivityIndex_Opportunity);
columnDfn.ReadOnly = true;
break;
case SaxActivityIndex.Column.Opportunity_Outline:
SetActivityIndexColDfn(columnDfn, "Outliner", 240, SaxDbDfn_Core.ColumnIdx.OrganisationOpportunity_Outline, ColumnAlignment.Left, DataValue.DataType.String, aliasActivityIndex_Opportunity, prefixActivityIndex_Opportunity);
columnDfn.ReadOnly = true;
break;
@@ -308,6 +323,17 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
columnDfn.ReadOnly = true;
break;
//-----------------------------------------------------------
// Region.
case SaxActivityIndex.Column.RegionId:
SetActivityIndexColDfn(columnDfn, "Region Id", 80, SaxDbDfn_Core.ColumnIdx.ActivityIndex_RegionId, ColumnAlignment.Right, DataValue.DataType.Long);
columnDfn.ReadOnly = true;
break;
case SaxActivityIndex.Column.Region_Name:
SetActivityIndexColDfn(columnDfn, "Region", 100, SaxDbDfn_Core.ColumnIdx.Region_Name, ColumnAlignment.Left, DataValue.DataType.String, aliasActivityIndex_Region, prefixActivityIndex_Region);
columnDfn.ReadOnly = true;
break;
//-----------------------------------------------------------
// Properties.
case SaxActivityIndex.Column.EffectiveOn:
@@ -520,6 +546,38 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
if (columns.HasId(SaxActivityIndex.Column.UpdateOn_Date))
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_UpdateOn, aliasActivityIndex));
//---------------------------------------------------------------------
// Article.
if (columns.HasId(SaxActivityIndex.Column.Article_Headline) || columns.HasId(SaxActivityIndex.Column.Article_Summary))
{
DbQueryJoin joinArticle = new DbQueryJoin(DbJoinType.LeftOuter);
joinArticle.Table = new StringPair(SaxDbDfn_Core.GetTableName(SaxDbDfn_Core.TableIdx.JournalistArticle), aliasActivityIndex_Article);
joinArticle.Filters.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_ItemType, aliasActivityIndex) + "=" + ((int)Sax.DataItemType.JournalistArticle).ToString());
joinArticle.Filters.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.JournalistArticle_Id, aliasActivityIndex_Article) + "=" + SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_ItemId, aliasActivityIndex));
query.Joins.Add(joinArticle);
List<SaxDbDfn_Core.ColumnIdx> cols = new List<SaxDbDfn_Core.ColumnIdx>();
cols.Add(SaxDbDfn_Core.ColumnIdx.JournalistArticle_Headline);
cols.Add(SaxDbDfn_Core.ColumnIdx.JournalistArticle_Summary);
foreach (var col in cols)
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(col, aliasActivityIndex_Article), prefixActivityIndex_Article + SaxDbDfn_Core.GetColumnName(col, false));
}
//---------------------------------------------------------------------
// Opportunity.
if (columns.HasId(SaxActivityIndex.Column.Opportunity_Position) || columns.HasId(SaxActivityIndex.Column.Opportunity_Outline))
{
DbQueryJoin joinOpportunity = new DbQueryJoin(DbJoinType.LeftOuter);
joinOpportunity.Table = new StringPair(SaxDbDfn_Core.GetTableName(SaxDbDfn_Core.TableIdx.OrganisationOpportunity), aliasActivityIndex_Opportunity);
joinOpportunity.Filters.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_ItemType, aliasActivityIndex) + "=" + ((int)Sax.DataItemType.OrganisationOpportunity).ToString());
joinOpportunity.Filters.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.OrganisationOpportunity_Id, aliasActivityIndex_Opportunity) + "=" + SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_ItemId, aliasActivityIndex));
query.Joins.Add(joinOpportunity);
List<SaxDbDfn_Core.ColumnIdx> cols = new List<SaxDbDfn_Core.ColumnIdx>();
cols.Add(SaxDbDfn_Core.ColumnIdx.OrganisationOpportunity_Position);
cols.Add(SaxDbDfn_Core.ColumnIdx.OrganisationOpportunity_Outline);
foreach (var col in cols)
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(col, aliasActivityIndex_Opportunity), prefixActivityIndex_Opportunity + SaxDbDfn_Core.GetColumnName(col, false));
}
//---------------------------------------------------------------------
// Sport.
if (columns.HasId(SaxActivityIndex.Column.Sport_Name))
@@ -248,8 +248,8 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
private static readonly String prefixJournalistArticle_Jourlalist = "JrnArt_Jrn_";
private static readonly String aliasJournalistArticle_Sport = "JrnArt_Spt";
private static readonly String prefixJournalistArticle_Sport = "JrnArt_Spt_";
private static readonly String aliasJournalistArticle_Region = "JrnArt_Reg";
private static readonly String prefixJournalistArticle_Region = "JrnArt_Reg_";
private static readonly String aliasJournalistArticle_Region = "JrnArt_Rgn";
private static readonly String prefixJournalistArticle_Region = "JrnArt_Rgn_";
private void SetJournalistArticleColDfn
(ColumnDfn col, String caption, int width, SaxDbDfn_Core.ColumnIdx dbCol,
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
@@ -253,8 +253,8 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
private static readonly String aliasOrganisationOpportunity_Organisation_UserOrganisation = "OrgOpp_Org_UsrOrg";
private static readonly String aliasOrganisationOpportunity_Sport = "OrgOpp_Spt";
private static readonly String prefixOrganisationOpportunity_Sport = "OrgOpp_Spt_";
private static readonly String aliasOrganisationOpportunity_Region = "OrgOpp_Reg";
private static readonly String prefixOrganisationOpportunity_Region = "OrgOpp_Reg_";
private static readonly String aliasOrganisationOpportunity_Region = "OrgOpp_Rgn";
private static readonly String prefixOrganisationOpportunity_Region = "OrgOpp_Rgn_";
private void SetOrganisationOpportunityColDfn
(ColumnDfn col, String caption, int width, SaxDbDfn_Core.ColumnIdx dbCol,
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,