This commit is contained in:
2022-03-03 18:46:08 +00:00
parent 1ac4c7f51a
commit 122056a9da
59 changed files with 1259 additions and 474 deletions
@@ -16,8 +16,8 @@ namespace Saxonite.Net.Standard.Dbas.Bus
//-------------------------------------------------------------------
// Construction.
public SaxActivityIndex_Dbas(ISacsDatabase database, ItemId itemId, SysId sportId, SysId regionId, DateTime effectiveOn, UInt16 flags) :
base(itemId, sportId, regionId, effectiveOn)
public SaxActivityIndex_Dbas(ISacsDatabase database, ItemId itemId, SysId sportId, SysId regionId, UInt16 flags) :
base(itemId, sportId, regionId)
{
this.database = database;
Flags = flags;
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:00
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -24,6 +24,9 @@ namespace Saxonite.Net.Standard.Dbas.Internal
public ColumnDataInt32 _SportId { get; } = new ColumnDataInt32("SportId");
public ColumnDataInt32 _RegionId { get; } = new ColumnDataInt32("RegionId");
public ColumnDataDateTime _EffectiveOn { get; } = new ColumnDataDateTime("EffectiveOn");
public ColumnDataInt32 _UserAccountIdOwner { get; } = new ColumnDataInt32("UserAccountIdOwner");
public ColumnDataInt32 _OrganisationIdOwner { get; } = new ColumnDataInt32("OrganisationIdOwner");
public ColumnDataDateTime _ExpiresOn { get; } = new ColumnDataDateTime("ExpiresOn");
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
@@ -44,6 +47,9 @@ namespace Saxonite.Net.Standard.Dbas.Internal
"SportId",
"RegionId",
"EffectiveOn",
"UserAccountIdOwner",
"OrganisationIdOwner",
"ExpiresOn",
"Notes",
"Flags",
"Status",
@@ -63,7 +69,6 @@ namespace Saxonite.Net.Standard.Dbas.Internal
"ItemId",
"SportId",
"RegionId",
"EffectiveOn",
};
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
{
@@ -93,6 +98,9 @@ namespace Saxonite.Net.Standard.Dbas.Internal
public Int32 _SportId { get { return Cols._SportId.Value; } set { Cols._SportId.Value = value; } }
public Int32 _RegionId { get { return Cols._RegionId.Value; } set { Cols._RegionId.Value = value; } }
public DateTime _EffectiveOn { get { return Cols._EffectiveOn.Value; } set { Cols._EffectiveOn.Value = value; } }
public Int32 _UserAccountIdOwner { get { return Cols._UserAccountIdOwner.Value; } set { Cols._UserAccountIdOwner.Value = value; } }
public Int32 _OrganisationIdOwner { get { return Cols._OrganisationIdOwner.Value; } set { Cols._OrganisationIdOwner.Value = value; } }
public DateTime _ExpiresOn { get { return Cols._ExpiresOn.Value; } set { Cols._ExpiresOn.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; } }
@@ -128,6 +136,9 @@ namespace Saxonite.Net.Standard.Dbas.Internal
_SportId = GetFieldInt32(dbDataReader, "SportId", _SportId);
_RegionId = GetFieldInt32(dbDataReader, "RegionId", _RegionId);
_EffectiveOn = GetFieldDateTime(dbDataReader, "EffectiveOn", _EffectiveOn);
_UserAccountIdOwner = GetFieldInt32(dbDataReader, "UserAccountIdOwner", _UserAccountIdOwner);
_OrganisationIdOwner = GetFieldInt32(dbDataReader, "OrganisationIdOwner", _OrganisationIdOwner);
_ExpiresOn = GetFieldDateTime(dbDataReader, "ExpiresOn", _ExpiresOn);
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
_Status = GetFieldString(dbDataReader, "Status", _Status);
@@ -160,6 +171,9 @@ namespace Saxonite.Net.Standard.Dbas.Internal
if (columnNames.ContainsCI("SportId")) AddCommandParameter(dbCommand, "@SportId", _SportId);
if (columnNames.ContainsCI("RegionId")) AddCommandParameter(dbCommand, "@RegionId", _RegionId);
if (columnNames.ContainsCI("EffectiveOn")) AddCommandParameter(dbCommand, "@EffectiveOn", _EffectiveOn);
if (columnNames.ContainsCI("UserAccountIdOwner")) AddCommandParameter(dbCommand, "@UserAccountIdOwner", _UserAccountIdOwner);
if (columnNames.ContainsCI("OrganisationIdOwner")) AddCommandParameter(dbCommand, "@OrganisationIdOwner", _OrganisationIdOwner);
if (columnNames.ContainsCI("ExpiresOn")) AddCommandParameter(dbCommand, "@ExpiresOn", _ExpiresOn);
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
@@ -190,17 +204,21 @@ namespace Saxonite.Net.Standard.Dbas.Internal
if (dbCommand is SqlCommand)
{
query += StringPairList.CreateFrom(columnNames.Bracket("[","]"),columnNames).Concat("=@").Concat(", ") + " ";
query += "WHERE ItemType=@ItemType AND ItemId=@ItemId AND SportId=@SportId AND RegionId=@RegionId AND EffectiveOn=@EffectiveOn;";
query += "WHERE ItemType=@ItemType AND ItemId=@ItemId AND SportId=@SportId AND RegionId=@RegionId;";
}
else
{
query += columnNames.Concat(", ", "", "=?") + " ";
query += "WHERE ItemType=? AND ItemId=? AND SportId=? AND RegionId=? AND EffectiveOn=?;";
query += "WHERE ItemType=? AND ItemId=? AND SportId=? AND RegionId=?;";
}
dbCommand.CommandText = query;
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
// Populate parameters.
dbCommand.Parameters.Clear();
if (columnNames.ContainsCI("EffectiveOn")) AddCommandParameter(dbCommand, "@EffectiveOn", _EffectiveOn);
if (columnNames.ContainsCI("UserAccountIdOwner")) AddCommandParameter(dbCommand, "@UserAccountIdOwner", _UserAccountIdOwner);
if (columnNames.ContainsCI("OrganisationIdOwner")) AddCommandParameter(dbCommand, "@OrganisationIdOwner", _OrganisationIdOwner);
if (columnNames.ContainsCI("ExpiresOn")) AddCommandParameter(dbCommand, "@ExpiresOn", _ExpiresOn);
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
@@ -211,7 +229,6 @@ namespace Saxonite.Net.Standard.Dbas.Internal
AddCommandParameter(dbCommand, "@ItemId", _ItemId);
AddCommandParameter(dbCommand, "@SportId", _SportId);
AddCommandParameter(dbCommand, "@RegionId", _RegionId);
AddCommandParameter(dbCommand, "@EffectiveOn", _EffectiveOn);
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
return (executeNonQueryResult == 1);
}
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:00
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:00
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:00
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:00
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:00
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:00
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:00
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:00
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:00
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -20,6 +20,7 @@ namespace Saxonite.Net.Standard.Dbas.Internal
public class ColumnsData
{
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id", true);
public ColumnDataInt32 _SportIdParent { get; } = new ColumnDataInt32("SportIdParent");
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
public ColumnDataInt16 _SpecialityLabel { get; } = new ColumnDataInt16("SpecialityLabel");
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
@@ -38,6 +39,7 @@ namespace Saxonite.Net.Standard.Dbas.Internal
protected static List<String> fields { get; } = new List<String>()
{
"Id",
"SportIdParent",
"Name",
"SpecialityLabel",
"Notes",
@@ -82,6 +84,7 @@ namespace Saxonite.Net.Standard.Dbas.Internal
// Columns.
public ColumnsData Cols { get; } = new ColumnsData();
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
public Int32 _SportIdParent { get { return Cols._SportIdParent.Value; } set { Cols._SportIdParent.Value = value; } }
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
public Int16 _SpecialityLabel { get { return Cols._SpecialityLabel.Value; } set { Cols._SpecialityLabel.Value = value; } }
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
@@ -115,6 +118,7 @@ namespace Saxonite.Net.Standard.Dbas.Internal
public override void PopulateFrom (DbDataReader dbDataReader)
{
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
_SportIdParent = GetFieldInt32(dbDataReader, "SportIdParent", _SportIdParent);
_Name = GetFieldString(dbDataReader, "Name", _Name);
_SpecialityLabel = GetFieldInt16(dbDataReader, "SpecialityLabel", _SpecialityLabel);
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
@@ -147,6 +151,7 @@ namespace Saxonite.Net.Standard.Dbas.Internal
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
// Populate parameters.
dbCommand.Parameters.Clear();
if (columnNames.ContainsCI("SportIdParent")) AddCommandParameter(dbCommand, "@SportIdParent", _SportIdParent);
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
if (columnNames.ContainsCI("SpecialityLabel")) AddCommandParameter(dbCommand, "@SpecialityLabel", _SpecialityLabel);
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
@@ -194,6 +199,7 @@ namespace Saxonite.Net.Standard.Dbas.Internal
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
// Populate parameters.
dbCommand.Parameters.Clear();
if (columnNames.ContainsCI("SportIdParent")) AddCommandParameter(dbCommand, "@SportIdParent", _SportIdParent);
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
if (columnNames.ContainsCI("SpecialityLabel")) AddCommandParameter(dbCommand, "@SpecialityLabel", _SpecialityLabel);
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:00
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -9,7 +9,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Sat 15-Jan-2022 16:34:34
// Code generated by Sarand Database Utilities Thu 3-Mar-2022 16:50:01
//---------------------------------------------------------------------------
namespace Saxonite.Net.Standard.Dbas.Internal
{
@@ -69,7 +69,7 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
}
catch (Exception exc)
{
SaLogger.Warn(fn + " ");
SaLogger.Warn(fn + " " + ExceptionUtil.GetLogMessage(exc, 0));
return false;
}
return true;
@@ -298,6 +298,10 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
SetUserOnlineColDfn(columnDfn, "Email", 160, SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress, ColumnAlignment.Left, DataValue.DataType.String, aliasUserOnline_UserAccount, prefixUserOnline_UserAccount);
columnDfn.ReadOnly = true;
break;
case SaxUserOnline.Column.DisplayName:
SetUserOnlineColDfn(columnDfn, "User", 160, SaxDbDfn_Core.ColumnIdx.UserAccount_LastName, ColumnAlignment.Left, DataValue.DataType.String, aliasUserOnline_UserAccount, prefixUserOnline_UserAccount);
columnDfn.ReadOnly = true;
break;
case SaxUserOnline.Column.Title:
SetUserOnlineColDfn(columnDfn, "Title", 70, SaxDbDfn_Core.ColumnIdx.UserAccount_Title, ColumnAlignment.Left, DataValue.DataType.String, aliasUserOnline_UserAccount, prefixUserOnline_UserAccount);
columnDfn.ReadOnly = true;
@@ -310,6 +314,10 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
SetUserOnlineColDfn(columnDfn, "Last name", 120, SaxDbDfn_Core.ColumnIdx.UserAccount_LastName, ColumnAlignment.Left, DataValue.DataType.String, aliasUserOnline_UserAccount, prefixUserOnline_UserAccount);
columnDfn.ReadOnly = true;
break;
case SaxUserOnline.Column.LastLoginOn:
SetUserOnlineColDfn(columnDfn, "Last login on", 80, SaxDbDfn_Core.ColumnIdx.UserAccount_LastLoginAt, ColumnAlignment.Center, DataValue.DataType.Date, aliasUserOnline_UserAccount, prefixUserOnline_UserAccount);
columnDfn.ReadOnly = true;
break;
case SaxUserOnline.Column.LastLoginAt:
SetUserOnlineColDfn(columnDfn, "Last login", 100, SaxDbDfn_Core.ColumnIdx.UserAccount_LastLoginAt, ColumnAlignment.Center, DataValue.DataType.DateTime, aliasUserOnline_UserAccount, prefixUserOnline_UserAccount);
columnDfn.ReadOnly = true;
@@ -504,7 +512,7 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------------
// User Account.
bool hasUserAccountCols = columns.HasId(SaxUserOnline.Column.EmailAddress) || columns.HasId(SaxUserOnline.Column.Title) || columns.HasId(SaxUserOnline.Column.FirstName) || columns.HasId(SaxUserOnline.Column.LastName) || columns.HasId(SaxUserOnline.Column.LastLoginAt);
bool hasUserAccountCols = columns.HasId(SaxUserOnline.Column.EmailAddress) || columns.HasId(SaxUserOnline.Column.DisplayName) || columns.HasId(SaxUserOnline.Column.Title) || columns.HasId(SaxUserOnline.Column.FirstName) || columns.HasId(SaxUserOnline.Column.LastName) || columns.HasId(SaxUserOnline.Column.LastLoginOn) || columns.HasId(SaxUserOnline.Column.LastLoginAt);
if (hasUserAccountCols)
{
prm.Alias_UserAccount = aliasUserOnline_UserAccount;
@@ -514,13 +522,13 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
List<SaxDbDfn_Core.ColumnIdx> cols = new List<SaxDbDfn_Core.ColumnIdx>();
if (columns.HasId(SaxUserOnline.Column.EmailAddress))
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress);
if (columns.HasId(SaxUserOnline.Column.Title))
if (columns.HasId(SaxUserOnline.Column.DisplayName) || columns.HasId(SaxUserOnline.Column.Title))
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_Title);
if (columns.HasId(SaxUserOnline.Column.FirstName))
if (columns.HasId(SaxUserOnline.Column.DisplayName) || columns.HasId(SaxUserOnline.Column.FirstName))
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_FirstName);
if (columns.HasId(SaxUserOnline.Column.LastName))
if (columns.HasId(SaxUserOnline.Column.DisplayName) || columns.HasId(SaxUserOnline.Column.LastName))
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_LastName);
if (columns.HasId(SaxUserOnline.Column.LastLoginAt))
if (columns.HasId(SaxUserOnline.Column.LastLoginOn) || columns.HasId(SaxUserOnline.Column.LastLoginAt))
cols.Add(SaxDbDfn_Core.ColumnIdx.UserAccount_LastLoginAt);
if (cols.Count > 0)
{
@@ -37,16 +37,16 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
//-------------------------------------------------------------------
// Create item.
public override SaxActivityIndex CreateActivityIndex(ItemId itemId, SysId sportId, SysId regionId, DateTime effectiveOn)
public override SaxActivityIndex CreateActivityIndex(ItemId itemId, SysId sportId, SysId regionId)
{
ClearErrorState();
return new SaxActivityIndex_Dbas(CoreDatabase, itemId, sportId, regionId, effectiveOn, 0);
return new SaxActivityIndex_Dbas(CoreDatabase, itemId, sportId, regionId, 0);
}
private SaxActivityIndex_Dbas CreateActivityIndex(ActivityIndex_Db dbActivityIndex)
{
ClearErrorState();
ItemId itemId = new ItemId(dbActivityIndex._ItemType, new SysId(dbActivityIndex._ItemId));
SaxActivityIndex_Dbas activityIndex = new SaxActivityIndex_Dbas(CoreDatabase, itemId, new SysId(dbActivityIndex._SportId), new SysId(dbActivityIndex._RegionId), dbActivityIndex._EffectiveOn, (UInt16)dbActivityIndex._Flags);
SaxActivityIndex_Dbas activityIndex = new SaxActivityIndex_Dbas(CoreDatabase, itemId, new SysId(dbActivityIndex._SportId), new SysId(dbActivityIndex._RegionId), (UInt16)dbActivityIndex._Flags);
PopulateFrom(dbActivityIndex, activityIndex);
return activityIndex;
}
@@ -209,7 +209,10 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
dbActivityIndex._ItemId = SysId.ToInt(activityIndex.ItemId.Id);
dbActivityIndex._SportId = SysId.ToInt(activityIndex.SportId);
dbActivityIndex._RegionId = SysId.ToInt(activityIndex.RegionId);
dbActivityIndex._UserAccountIdOwner = SysId.ToInt(activityIndex.UserAccountIdOwner);
dbActivityIndex._OrganisationIdOwner = SysId.ToInt(activityIndex.OrganisationIdOwner);
dbActivityIndex._EffectiveOn = activityIndex.EffectiveOn;
dbActivityIndex._ExpiresOn = activityIndex.ExpiresOn;
dbActivityIndex._Notes = activityIndex.Notes;
dbActivityIndex._Status = SacsSystem.GetStatusCode(activityIndex.Status);
dbActivityIndex._Flags = (short)activityIndex.Flags;
@@ -228,7 +231,10 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
//activityIndex.ItemId = new ItemId(dbActivityIndex._ItemType, new SysId(dbActivityIndex._ItemId);
//activityIndex.SportId = new SysId(dbActivityIndex._SportId);
//activityIndex.RegionId = new SysId(dbActivityIndex._RegionId);
activityIndex.UserAccountIdOwner = new SysId(dbActivityIndex._UserAccountIdOwner);
activityIndex.OrganisationIdOwner = new SysId(dbActivityIndex._OrganisationIdOwner);
activityIndex.EffectiveOn = dbActivityIndex._EffectiveOn;
activityIndex.ExpiresOn = dbActivityIndex._ExpiresOn;
activityIndex.Notes = dbActivityIndex._Notes;
activityIndex.Status = SacsSystem.GetStatusForCode(dbActivityIndex._Status);
activityIndex.SetCreateStamp(dbActivityIndex._CreateOn, new SysId(dbActivityIndex._CreateBy), dbActivityIndex._CreateHost);
@@ -438,15 +444,22 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
filter.Add(itemIdFilters.Concat(" OR ", "(", ")"));
}
// Sport Ids.
String sportIdsIncluded = prm.SportIdsIncluded.Concat(",");
if (!sportIdsIncluded.IsEmpty())
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_SportId, aliasActivityIndex) + " IN (" + sportIdsIncluded + ")");
// Activities are applicable if match on eo fthe sport/region combinations or match one of the owners (user or organisation).
List<String> applicableFilter = new List<string>();
// Region Ids.
String regionIdsIncluded = prm.RegionIdsIncluded.Concat(",");
if (!regionIdsIncluded.IsEmpty())
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_RegionId, aliasActivityIndex) + " IN (" + regionIdsIncluded + ")");
// Sport and Region Id combinations.
foreach (SaxActivityIndex.SportRegionIds sportRegionIds in prm.SportRegionIdsIncluded)
applicableFilter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_SportId, aliasActivityIndex) + "=" + sportRegionIds.SportId.ToString() + " AND " + SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_RegionId, aliasActivityIndex) + "=" + sportRegionIds.RegionId.ToString());
// Owner - User Account and/or Organisation.
if (prm.UserAccountIdsOwnerIncluded.Exists(item => SysId.IsValid(item)))
applicableFilter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_UserAccountIdOwner, aliasActivityIndex) + " IN (" + prm.UserAccountIdsOwnerIncluded.Concat(",") + ")");
if (prm.OrganisationIdsOwnerIncluded.Exists(item => SysId.IsValid(item)))
applicableFilter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_OrganisationIdOwner, aliasActivityIndex) + " IN (" + prm.OrganisationIdsOwnerIncluded.Concat(",") + ")");
// Any one of the applicable filters can be matched.
if (!applicableFilter.IsEmpty())
filter.Add(applicableFilter.Concat(" OR ", "(", ")"));
// Effective period.
if (DateUtil.IsValid(prm.EffectiveFrom))
@@ -454,6 +467,10 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
if (DateUtil.IsValid(prm.EffectiveTo))
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_EffectiveOn, aliasActivityIndex) + "<" + DbQuery.FormatDateForCondition(DateUtil.IncrementDate(prm.EffectiveTo.Date, 1)));
// Expiry.
if (DateUtil.IsValid(prm.NotExpiredOn))
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_ExpiresOn, aliasActivityIndex) + " Is Null Or " + SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ActivityIndex_ExpiresOn, aliasActivityIndex) + ">" + DbQuery.FormatDateForCondition(prm.NotExpiredOn.Date));
if (filter.Count < 1) filter.Add("1=1");
return filter;
}
@@ -211,6 +211,7 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
private void PopulateTo(Sport_Db dbSport, SaxSport sport, DbUpdateInfo dbUpdateInfo)
{
dbSport._Id = SysId.ToInt(sport.Id);
dbSport._SportIdParent = SysId.ToInt(sport.SportIdParent);
dbSport._Name = sport.Name;
dbSport._SpecialityLabel = (short)sport.SpecialityLabel;
// Common properties.
@@ -230,6 +231,7 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
private void PopulateFrom(Sport_Db dbSport, SaxSport sport)
{
//sport.Id = new SysId(dbSport._Id);
sport.SportIdParent = new SysId(dbSport._SportIdParent);
sport.Name = dbSport._Name;
sport.SpecialityLabel = (Sax.SportSpecialityLabel)dbSport._SpecialityLabel;
// Common properties.
@@ -242,7 +244,9 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
//-------------------------------------------------------------------
// Item column definitions.
private static readonly String aliasSport = "Sprt";
private static readonly String aliasSport = "Spt";
private static readonly String aliasSport_Parent = "Spt_Prt";
private static readonly String prefixSport_Parent = aliasSport_Parent + "_";
//private static readonly String colSport_AssociatedData_Count = "UsrAct_AD_Count";
private void SetSportColDfn
(ColumnDfn col, String caption, int width, SaxDbDfn_Core.ColumnIdx dbCol,
@@ -275,6 +279,14 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
//-----------------------------------------------------------
// Properties.
case SaxSport.Column.SportIdParent:
SetSportColDfn(columnDfn, "Parent #", 60, SaxDbDfn_Core.ColumnIdx.Sport_SportIdParent, ColumnAlignment.Right, DataValue.DataType.Long);
columnDfn.ReadOnly = true;
break;
case SaxSport.Column.ParentSport_Name:
SetSportColDfn(columnDfn, "Parent", 120, SaxDbDfn_Core.ColumnIdx.Sport_Name, ColumnAlignment.Center, DataValue.DataType.String, aliasSport_Parent, prefixSport_Parent);
columnDfn.ReadOnly = true;
break;
case SaxSport.Column.Name:
SetSportColDfn(columnDfn, "Name", 120, SaxDbDfn_Core.ColumnIdx.Sport_Name);
break;
@@ -338,6 +350,10 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
if (!excludedIds.IsEmpty())
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Sport_Id, aliasSport) + " NOT IN (" + excludedIds + ")");
// Parent Sport.
if (SysId.IsValid(prm.SportIdParent))
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Sport_SportIdParent, aliasSport) + "=" + prm.SportIdParent.ToString());
// Generic filter.
if (!StringUtil.IsEmpty(prm.SportFilter))
{
@@ -480,6 +496,8 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
// Add columns as defined in query list.
if (columns.HasId(SaxSport.Column.Id))
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Sport_Id, aliasSport));
if (columns.HasId(SaxSport.Column.SportIdParent))
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Sport_SportIdParent, aliasSport));
if (columns.HasId(SaxSport.Column.Name))
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Sport_Name, aliasSport));
if (columns.HasId(SaxSport.Column.SpecialityLabel) || columns.HasId(SaxSport.Column.SpecialityLabel_Desc))
@@ -497,20 +515,18 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Sport_UpdateOn, aliasSport));
//---------------------------------------------------------------------
// Movement count.
/*
if (columns.HasId(SaxSport.Column.Movement_Count))
// Parent Sport.
if (columns.HasId(SaxSport.Column.ParentSport_Name))
{
// Ref. SaxSport_Dbas.HasAssetMovements
String aliasMovement = "aCntMov";
DbQuery queryMovement = new DbQuery(SaxDatabase.DbmsType);
queryMovement.Tables.Add(SaxDbDfn.GetTableName(SaxDbDfn.TableIdx.AssetMovement), aliasMovement);
queryMovement.Columns.Add("Count(*)");
queryMovement.Filters.Add(SaxDbDfn.GetColumnNameQual(SaxDbDfn.ColumnIdx.AssetMovement_AssetItemType, aliasMovement) + "=" + (int)Sax.AssetItemType.Sport);
queryMovement.Filters.Add(SaxDbDfn.GetColumnNameQual(SaxDbDfn.ColumnIdx.AssetMovement_AssetItemId, aliasMovement) + "=" + SaxDbDfn.GetColumnNameQual(SaxDbDfn.ColumnIdx.Sport_Id, aliasSport));
query.Columns.Add("(" + queryMovement.BuildQuery() + ")", colSport_Movement_Count);
DbQueryJoin joinSport = new DbQueryJoin(DbJoinType.LeftOuter);
joinSport.Table = new StringPair(SaxDbDfn_Core.GetTableName(SaxDbDfn_Core.TableIdx.Sport), aliasSport_Parent);
joinSport.Filters.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Sport_Id, aliasSport_Parent) + "=" + SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Sport_SportIdParent, aliasSport));
query.Joins.Add(joinSport);
List<SaxDbDfn_Core.ColumnIdx> cols = new List<SaxDbDfn_Core.ColumnIdx>();
cols.Add(SaxDbDfn_Core.ColumnIdx.Sport_Name);
foreach (var col in cols)
query.Columns.Add(SaxDbDfn_Core.GetColumnNameQual(col, aliasSport_Parent), prefixSport_Parent + SaxDbDfn_Core.GetColumnName(col, false));
}
*/
//---------------------------------------------------------------------
// Populate filter.