1.2.11.9 Golf Countries & Provinces
This commit is contained in:
@@ -317,6 +317,10 @@ namespace Saxonite.Net.Standard.Dbas.Mgr.Reference
|
||||
private static readonly String aliasUsgaCountry = "UsgPrv";
|
||||
private static readonly String aliasUsgaCountry_Dummy = "UsgPrv_Cty";
|
||||
private static readonly String prefixUsgaCountry_Dummy = aliasUsgaCountry_Dummy + "_";
|
||||
private static readonly String colCountry_Province_Count = "Cty_Prv_Count";
|
||||
private static readonly String colCountry_Province_Active_Count = "Cty_Prv_Act_Count";
|
||||
private static readonly String colCountry_Facility_Count = "Cty_Fty_Count";
|
||||
private static readonly String colCountry_Facility_Active_Count = "Cty_Fty_Act_Count";
|
||||
private void SetUsgaCountryColDfn
|
||||
(ColumnDfn col, String caption, int width, SaxDbDfn_Reference.ColumnIdx dbCol,
|
||||
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
|
||||
@@ -357,6 +361,22 @@ namespace Saxonite.Net.Standard.Dbas.Mgr.Reference
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Derived properties.
|
||||
case SaxGolfUsgaCountry.Column.ProvinceCount_All:
|
||||
SetUsgaCountryColDfn(columnDfn, "Provinces", 60, SaxDbDfn_Reference.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = colCountry_Province_Count;
|
||||
break;
|
||||
case SaxGolfUsgaCountry.Column.ProvinceCount_Active:
|
||||
SetUsgaCountryColDfn(columnDfn, "Provinces (act)", 60, SaxDbDfn_Reference.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = colCountry_Province_Active_Count;
|
||||
break;
|
||||
case SaxGolfUsgaCountry.Column.FacilityCount_All:
|
||||
SetUsgaCountryColDfn(columnDfn, "Facilities", 60, SaxDbDfn_Reference.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = colCountry_Facility_Count;
|
||||
break;
|
||||
case SaxGolfUsgaCountry.Column.FacilityCount_Active:
|
||||
SetUsgaCountryColDfn(columnDfn, "Facilities (act)", 60, SaxDbDfn_Reference.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = colCountry_Facility_Active_Count;
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Common properties.
|
||||
@@ -418,10 +438,10 @@ namespace Saxonite.Net.Standard.Dbas.Mgr.Reference
|
||||
filterWords.RemoveBlanks();
|
||||
foreach (String filterWord in filterWords)
|
||||
{
|
||||
List<String> articleFilter = new List<String>();
|
||||
articleFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCountry_CountryCode, aliasUsgaCountry)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
articleFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCountry_CountryName, aliasUsgaCountry)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
filter.Add(articleFilter.Concat(" OR ", "(", ")"));
|
||||
List<String> countryFilter = new List<String>();
|
||||
countryFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCountry_CountryCode, aliasUsgaCountry)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
countryFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCountry_CountryName, aliasUsgaCountry)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
filter.Add(countryFilter.Concat(" OR ", "(", ")"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -469,7 +489,7 @@ namespace Saxonite.Net.Standard.Dbas.Mgr.Reference
|
||||
public List<String> GetUsgaCountrySortColumns(SaxGolfUsgaCountry.Params prm)
|
||||
{
|
||||
// Sort sequence:
|
||||
List<String> sortColumnNames = new List<String>();
|
||||
HashSet<String> sortColumnNames = new HashSet<String>();
|
||||
foreach (var columnDfn in prm.SortColumns)
|
||||
{
|
||||
// Need to ensure correct alias used for UsgaCountry columns in case of conflict.
|
||||
@@ -496,7 +516,7 @@ namespace Saxonite.Net.Standard.Dbas.Mgr.Reference
|
||||
// Default sort columns.
|
||||
sortColumnNames.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCountry_Id, aliasUsgaCountry) + " ASC");
|
||||
}
|
||||
return sortColumnNames;
|
||||
return sortColumnNames.ToList();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -581,6 +601,68 @@ namespace Saxonite.Net.Standard.Dbas.Mgr.Reference
|
||||
if (columns.HasId(SaxGolfUsgaCountry.Column.UpdateOn_Date))
|
||||
query.Columns.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCountry_UpdateOn, aliasUsgaCountry));
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Province count.
|
||||
if (columns.HasId(SaxGolfUsgaCountry.Column.ProvinceCount_All))
|
||||
{
|
||||
String aliasProvince = "aCtyPrv_Count";
|
||||
DbQuery queryProvince = new DbQuery(CoreDatabase.DbmsType);
|
||||
queryProvince.Tables.Add(SaxDbDfn_Reference.GetTableNameQual(SaxDbDfn_Reference.TableIdx.UsgaProvince), aliasProvince);
|
||||
queryProvince.Columns.Add("Count(*)");
|
||||
queryProvince.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_CountryId, aliasProvince) + "=" + SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCountry_Id, aliasUsgaCountry));
|
||||
query.Columns.Add("(" + queryProvince.BuildQuery() + ")", colCountry_Province_Count);
|
||||
}
|
||||
|
||||
// Active Province count.
|
||||
if (columns.HasId(SaxGolfUsgaCountry.Column.ProvinceCount_Active))
|
||||
{
|
||||
String aliasProvince = "aCtyPrvAct_Count";
|
||||
DbQuery queryProvince = new DbQuery(CoreDatabase.DbmsType);
|
||||
queryProvince.Tables.Add(SaxDbDfn_Reference.GetTableNameQual(SaxDbDfn_Reference.TableIdx.UsgaProvince), aliasProvince);
|
||||
queryProvince.Columns.Add("Count(*)");
|
||||
queryProvince.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_CountryId, aliasProvince) + "=" + SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCountry_Id, aliasUsgaCountry));
|
||||
queryProvince.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_Status, aliasProvince) + "='" + SacsSystem.GetStatusCode(SaStatus.Active) + "'");
|
||||
query.Columns.Add("(" + queryProvince.BuildQuery() + ")", colCountry_Province_Active_Count);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Facility count.
|
||||
if (columns.HasId(SaxGolfUsgaCountry.Column.ProvinceCount_All))
|
||||
{
|
||||
String aliasProvince = "aCtyFty_Count_Prv";
|
||||
DbQuery queryProvince = new DbQuery(CoreDatabase.DbmsType);
|
||||
queryProvince.Tables.Add(SaxDbDfn_Reference.GetTableNameQual(SaxDbDfn_Reference.TableIdx.UsgaProvince), aliasProvince);
|
||||
queryProvince.Columns.Add("Count(*)");
|
||||
queryProvince.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_CountryId, aliasProvince) + "=" + SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCountry_Id, aliasUsgaCountry));
|
||||
// Join to Facility.
|
||||
String aliasFacility = "aCtyFty_Count_Fty";
|
||||
DbQueryJoin joinFacility = new DbQueryJoin(DbJoinType.Inner);
|
||||
joinFacility.Table = new StringPair(SaxDbDfn_Reference.GetTableNameQual(SaxDbDfn_Reference.TableIdx.UsgaFacility), aliasFacility);
|
||||
joinFacility.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaFacility_ProvinceId, aliasFacility) + "=" + SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_Id, aliasProvince));
|
||||
queryProvince.Joins.Add(joinFacility);
|
||||
// Construct sub-query.
|
||||
query.Columns.Add("(" + queryProvince.BuildQuery() + ")", colCountry_Facility_Count);
|
||||
}
|
||||
|
||||
// Active Facility count.
|
||||
if (columns.HasId(SaxGolfUsgaCountry.Column.ProvinceCount_Active))
|
||||
{
|
||||
String aliasProvince = "aCtyFty_Count_Prv";
|
||||
DbQuery queryProvince = new DbQuery(CoreDatabase.DbmsType);
|
||||
queryProvince.Tables.Add(SaxDbDfn_Reference.GetTableNameQual(SaxDbDfn_Reference.TableIdx.UsgaProvince), aliasProvince);
|
||||
queryProvince.Columns.Add("Count(*)");
|
||||
queryProvince.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_CountryId, aliasProvince) + "=" + SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCountry_Id, aliasUsgaCountry));
|
||||
// Join to Facility.
|
||||
String aliasFacility = "aCtyFty_Count_Fty";
|
||||
DbQueryJoin joinFacility = new DbQueryJoin(DbJoinType.Inner);
|
||||
joinFacility.Table = new StringPair(SaxDbDfn_Reference.GetTableNameQual(SaxDbDfn_Reference.TableIdx.UsgaFacility), aliasFacility);
|
||||
joinFacility.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaFacility_ProvinceId, aliasFacility) + "=" + SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_Id, aliasProvince));
|
||||
joinFacility.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaFacility_Status, aliasFacility) + "='" + SacsSystem.GetStatusCode(SaStatus.Active) + "'");
|
||||
queryProvince.Joins.Add(joinFacility);
|
||||
// Construct sub-query.
|
||||
query.Columns.Add("(" + queryProvince.BuildQuery() + ")", colCountry_Facility_Active_Count);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Populate filter.
|
||||
query.Filters.AddRange(GetUsgaCountryQueryFilter(prm));
|
||||
|
||||
@@ -529,13 +529,13 @@ namespace Saxonite.Net.Standard.Dbas.Mgr.Reference
|
||||
filterWords.RemoveBlanks();
|
||||
foreach (String filterWord in filterWords)
|
||||
{
|
||||
List<String> articleFilter = new List<String>();
|
||||
articleFilter.Add($"{col_CourseName} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
articleFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCourse_FullName, aliasUsgaCourse)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
articleFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCourse_Address1, aliasUsgaCourse)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
articleFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCourse_Address2, aliasUsgaCourse)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
articleFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCourse_City, aliasUsgaCourse)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
filter.Add(articleFilter.Concat(" OR ", "(", ")"));
|
||||
List<String> courseFilter = new List<String>();
|
||||
courseFilter.Add($"{col_CourseName} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
courseFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCourse_FullName, aliasUsgaCourse)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
courseFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCourse_Address1, aliasUsgaCourse)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
courseFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCourse_Address2, aliasUsgaCourse)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
courseFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCourse_City, aliasUsgaCourse)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
filter.Add(courseFilter.Concat(" OR ", "(", ")"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -468,9 +468,9 @@ namespace Saxonite.Net.Standard.Dbas.Mgr.Reference
|
||||
filterWords.RemoveBlanks();
|
||||
foreach (String filterWord in filterWords)
|
||||
{
|
||||
List<String> articleFilter = new List<String>();
|
||||
articleFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaFacility_FacilityName, aliasUsgaFacility)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
filter.Add(articleFilter.Concat(" OR ", "(", ")"));
|
||||
List<String> facilityFilter = new List<String>();
|
||||
facilityFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaFacility_FacilityName, aliasUsgaFacility)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
filter.Add(facilityFilter.Concat(" OR ", "(", ")"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -514,12 +514,12 @@ namespace Saxonite.Net.Standard.Dbas.Mgr.Reference
|
||||
filterWords.RemoveBlanks();
|
||||
foreach (String filterWord in filterWords)
|
||||
{
|
||||
List<String> articleFilter = new List<String>();
|
||||
articleFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaMarker_Caption, aliasUsgaMarker)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
articleFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaMarker_HolesCaption, aliasUsgaMarker)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
articleFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaMarker_Tee, aliasUsgaMarker)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
articleFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaMarker_Gender, aliasUsgaMarker)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
filter.Add(articleFilter.Concat(" OR ", "(", ")"));
|
||||
List<String> markerFilter = new List<String>();
|
||||
markerFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaMarker_Caption, aliasUsgaMarker)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
markerFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaMarker_HolesCaption, aliasUsgaMarker)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
markerFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaMarker_Tee, aliasUsgaMarker)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
markerFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaMarker_Gender, aliasUsgaMarker)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
filter.Add(markerFilter.Concat(" OR ", "(", ")"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -327,6 +327,10 @@ namespace Saxonite.Net.Standard.Dbas.Mgr.Reference
|
||||
private static readonly String aliasUsgaProvince = "UsgPrv";
|
||||
private static readonly String aliasUsgaProvince_Country = "UsgPrv_Cty";
|
||||
private static readonly String prefixUsgaProvince_Country = aliasUsgaProvince_Country + "_";
|
||||
private static readonly String colProvince_Facility_Count = "Prv_Fty_Count";
|
||||
private static readonly String colProvince_Facility_Active_Count = "Prv_Fty_Act_Count";
|
||||
private static readonly String colProvince_Course_Count = "Prv_Crs_Count";
|
||||
private static readonly String colProvince_Course_Active_Count = "Prv_Crs_Act_Count";
|
||||
private void SetUsgaProvinceColDfn
|
||||
(ColumnDfn col, String caption, int width, SaxDbDfn_Reference.ColumnIdx dbCol,
|
||||
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
|
||||
@@ -377,6 +381,22 @@ namespace Saxonite.Net.Standard.Dbas.Mgr.Reference
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Derived properties.
|
||||
case SaxGolfUsgaProvince.Column.FacilityCount_All:
|
||||
SetUsgaProvinceColDfn(columnDfn, "Facilities", 60, SaxDbDfn_Reference.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = colProvince_Facility_Count;
|
||||
break;
|
||||
case SaxGolfUsgaProvince.Column.FacilityCount_Active:
|
||||
SetUsgaProvinceColDfn(columnDfn, "Facilities (act)", 60, SaxDbDfn_Reference.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = colProvince_Facility_Active_Count;
|
||||
break;
|
||||
case SaxGolfUsgaProvince.Column.CourseCount_All:
|
||||
SetUsgaProvinceColDfn(columnDfn, "Courses", 60, SaxDbDfn_Reference.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = colProvince_Course_Count;
|
||||
break;
|
||||
case SaxGolfUsgaProvince.Column.CourseCount_Active:
|
||||
SetUsgaProvinceColDfn(columnDfn, "Courses (act)", 60, SaxDbDfn_Reference.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = colProvince_Course_Active_Count;
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Common properties.
|
||||
@@ -442,10 +462,10 @@ namespace Saxonite.Net.Standard.Dbas.Mgr.Reference
|
||||
filterWords.RemoveBlanks();
|
||||
foreach (String filterWord in filterWords)
|
||||
{
|
||||
List<String> articleFilter = new List<String>();
|
||||
articleFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_ProvinceCode, aliasUsgaProvince)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
articleFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_ProvinceName, aliasUsgaProvince)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
filter.Add(articleFilter.Concat(" OR ", "(", ")"));
|
||||
List<String> provinceFilter = new List<String>();
|
||||
provinceFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_ProvinceCode, aliasUsgaProvince)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
provinceFilter.Add($"{SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_ProvinceName, aliasUsgaProvince)} Like '%{DbQuery.FormatForLike(filterWord, true)}%'");
|
||||
filter.Add(provinceFilter.Concat(" OR ", "(", ")"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -623,6 +643,68 @@ namespace Saxonite.Net.Standard.Dbas.Mgr.Reference
|
||||
prm.Alias_Country = aliasUsgaProvince_Country;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Facility count.
|
||||
if (columns.HasId(SaxGolfUsgaProvince.Column.FacilityCount_All))
|
||||
{
|
||||
String aliasFacility = "aPrvFty_Count";
|
||||
DbQuery queryFacility = new DbQuery(CoreDatabase.DbmsType);
|
||||
queryFacility.Tables.Add(SaxDbDfn_Reference.GetTableNameQual(SaxDbDfn_Reference.TableIdx.UsgaFacility), aliasFacility);
|
||||
queryFacility.Columns.Add("Count(*)");
|
||||
queryFacility.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaFacility_ProvinceId, aliasFacility) + "=" + SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_Id, aliasUsgaProvince));
|
||||
query.Columns.Add("(" + queryFacility.BuildQuery() + ")", colProvince_Facility_Count);
|
||||
}
|
||||
|
||||
// Active Facility count.
|
||||
if (columns.HasId(SaxGolfUsgaProvince.Column.FacilityCount_Active))
|
||||
{
|
||||
String aliasFacility = "aPrvFtyAct_Count";
|
||||
DbQuery queryFacility = new DbQuery(CoreDatabase.DbmsType);
|
||||
queryFacility.Tables.Add(SaxDbDfn_Reference.GetTableNameQual(SaxDbDfn_Reference.TableIdx.UsgaFacility), aliasFacility);
|
||||
queryFacility.Columns.Add("Count(*)");
|
||||
queryFacility.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaFacility_ProvinceId, aliasFacility) + "=" + SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_Id, aliasUsgaProvince));
|
||||
queryFacility.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaFacility_Status, aliasFacility) + "='" + SacsSystem.GetStatusCode(SaStatus.Active) + "'");
|
||||
query.Columns.Add("(" + queryFacility.BuildQuery() + ")", colProvince_Facility_Active_Count);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Course count.
|
||||
if (columns.HasId(SaxGolfUsgaProvince.Column.FacilityCount_All))
|
||||
{
|
||||
String aliasFacility = "aPrvFty_Count_Fty";
|
||||
DbQuery queryFacility = new DbQuery(CoreDatabase.DbmsType);
|
||||
queryFacility.Tables.Add(SaxDbDfn_Reference.GetTableNameQual(SaxDbDfn_Reference.TableIdx.UsgaFacility), aliasFacility);
|
||||
queryFacility.Columns.Add("Count(*)");
|
||||
queryFacility.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaFacility_ProvinceId, aliasFacility) + "=" + SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_Id, aliasUsgaProvince));
|
||||
// Join to Course.
|
||||
String aliasCourse = "aPrvFty_Count_Crs";
|
||||
DbQueryJoin joinCourse = new DbQueryJoin(DbJoinType.Inner);
|
||||
joinCourse.Table = new StringPair(SaxDbDfn_Reference.GetTableNameQual(SaxDbDfn_Reference.TableIdx.UsgaCourse), aliasCourse);
|
||||
joinCourse.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCourse_FacilityId, aliasCourse) + "=" + SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaFacility_Id, aliasFacility));
|
||||
queryFacility.Joins.Add(joinCourse);
|
||||
// Construct sub-query.
|
||||
query.Columns.Add("(" + queryFacility.BuildQuery() + ")", colProvince_Course_Count);
|
||||
}
|
||||
|
||||
// Active Course count.
|
||||
if (columns.HasId(SaxGolfUsgaProvince.Column.FacilityCount_Active))
|
||||
{
|
||||
String aliasFacility = "aPrvFty_Count_Fty";
|
||||
DbQuery queryFacility = new DbQuery(CoreDatabase.DbmsType);
|
||||
queryFacility.Tables.Add(SaxDbDfn_Reference.GetTableNameQual(SaxDbDfn_Reference.TableIdx.UsgaFacility), aliasFacility);
|
||||
queryFacility.Columns.Add("Count(*)");
|
||||
queryFacility.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaFacility_ProvinceId, aliasFacility) + "=" + SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaProvince_Id, aliasUsgaProvince));
|
||||
// Join to Course.
|
||||
String aliasCourse = "aPrvFty_Count_Crs";
|
||||
DbQueryJoin joinCourse = new DbQueryJoin(DbJoinType.Inner);
|
||||
joinCourse.Table = new StringPair(SaxDbDfn_Reference.GetTableNameQual(SaxDbDfn_Reference.TableIdx.UsgaCourse), aliasCourse);
|
||||
joinCourse.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCourse_FacilityId, aliasCourse) + "=" + SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaFacility_Id, aliasFacility));
|
||||
joinCourse.Filters.Add(SaxDbDfn_Reference.GetColumnNameQual(SaxDbDfn_Reference.ColumnIdx.UsgaCourse_Status, aliasCourse) + "='" + SacsSystem.GetStatusCode(SaStatus.Active) + "'");
|
||||
queryFacility.Joins.Add(joinCourse);
|
||||
// Construct sub-query.
|
||||
query.Columns.Add("(" + queryFacility.BuildQuery() + ")", colProvince_Course_Active_Count);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Populate filter.
|
||||
query.Filters.AddRange(GetUsgaProvinceQueryFilter(prm));
|
||||
|
||||
Reference in New Issue
Block a user