v1.2.4
This commit is contained in:
@@ -43,6 +43,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
Region_Name,
|
||||
// Properties.
|
||||
EffectiveOn,
|
||||
ExpiresOn,
|
||||
// Associated data.
|
||||
// Common.
|
||||
Notes,
|
||||
@@ -59,9 +60,12 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
public class DataProperties
|
||||
{
|
||||
public ItemId ItemId { get; set; }
|
||||
public SysId UserAccountIdOwner { get; set; }
|
||||
public SysId OrganisationIdOwner { get; set; }
|
||||
public SysId SportId { get; set; }
|
||||
public SysId RegionId { get; set; }
|
||||
public DateTime EffectiveOn { get; set; }
|
||||
public DateTime ExpiresOn { get; set; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -81,6 +85,16 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
get { return data.ItemId; }
|
||||
set { CheckChanged(data.ItemId, value); data.ItemId = value; }
|
||||
}
|
||||
public SysId UserAccountIdOwner
|
||||
{
|
||||
get { return data.UserAccountIdOwner; }
|
||||
set { CheckChanged(data.UserAccountIdOwner, value); data.UserAccountIdOwner = value; }
|
||||
}
|
||||
public SysId OrganisationIdOwner
|
||||
{
|
||||
get { return data.OrganisationIdOwner; }
|
||||
set { CheckChanged(data.OrganisationIdOwner, value); data.OrganisationIdOwner = value; }
|
||||
}
|
||||
public SysId SportId
|
||||
{
|
||||
get { return data.SportId; }
|
||||
@@ -101,13 +115,26 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
data.EffectiveOn = value.Date;
|
||||
}
|
||||
}
|
||||
public DateTime ExpiresOn
|
||||
{
|
||||
get { return data.ExpiresOn; }
|
||||
set
|
||||
{
|
||||
// Values are restricted to whole date, ie. no time.
|
||||
CheckChanged(data.ExpiresOn, value.Date);
|
||||
data.ExpiresOn = value.Date;
|
||||
}
|
||||
}
|
||||
// Population.
|
||||
internal void PopulateFrom(Data data)
|
||||
{
|
||||
ItemId = data.ItemId;
|
||||
UserAccountIdOwner = data.UserAccountIdOwner;
|
||||
OrganisationIdOwner = data.OrganisationIdOwner;
|
||||
SportId = data.SportId;
|
||||
RegionId = data.RegionId;
|
||||
EffectiveOn = data.EffectiveOn;
|
||||
ExpiresOn = data.ExpiresOn;
|
||||
base.PopulateFrom(data);
|
||||
}
|
||||
public Data Clone()
|
||||
@@ -124,9 +151,12 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
{
|
||||
// Identifies the field that has invalid data.
|
||||
public ValidValue ItemId { get; set; } = ValidValue.Valid;
|
||||
public ValidValue UserAccountIdOwner { get; set; } = ValidValue.Valid;
|
||||
public ValidValue OrganisationIdOwner { get; set; } = ValidValue.Valid;
|
||||
public ValidValue SportId { get; set; } = ValidValue.Valid;
|
||||
public ValidValue RegionId { get; set; } = ValidValue.Valid;
|
||||
public ValidValue EffectiveOn { get; set; } = ValidValue.Valid;
|
||||
public ValidValue ExpiresOn { get; set; } = ValidValue.Valid;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -135,13 +165,12 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SaxActivityIndex(ItemId itemId, SysId sportId, SysId regionId, DateTime effectiveOn) : base()
|
||||
protected SaxActivityIndex(ItemId itemId, SysId sportId, SysId regionId) : base()
|
||||
{
|
||||
base.SetData(data);
|
||||
ItemId = itemId;
|
||||
SportId = sportId;
|
||||
RegionId = regionId;
|
||||
EffectiveOn = effectiveOn;
|
||||
Status = DefaultStatus;
|
||||
}
|
||||
|
||||
@@ -164,13 +193,12 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
//-------------------------------------------------------------------
|
||||
// Utilities.
|
||||
/// <summary>
|
||||
/// Match the item to the sport, region and effective date.
|
||||
/// Match the item to the sport and region.
|
||||
/// </summary>
|
||||
public bool MatchesSportRegionEffective(SysId sportId, SysId regionId, DateTime effectiveOn)
|
||||
public bool MatchesSportRegion(SysId sportId, SysId regionId)
|
||||
{
|
||||
if (!SportId.Equals(sportId)) return false;
|
||||
if (!RegionId.Equals(regionId)) return false;
|
||||
if (!EffectiveOn.Equals(effectiveOn.Date)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -197,6 +225,16 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
get { return data.ItemId; }
|
||||
protected set { data.ItemId = value; }
|
||||
}
|
||||
public SysId UserAccountIdOwner
|
||||
{
|
||||
get { return data.UserAccountIdOwner; }
|
||||
set { data.UserAccountIdOwner = value; }
|
||||
}
|
||||
public SysId OrganisationIdOwner
|
||||
{
|
||||
get { return data.OrganisationIdOwner; }
|
||||
set { data.OrganisationIdOwner = value; }
|
||||
}
|
||||
public SysId SportId
|
||||
{
|
||||
get { return data.SportId; }
|
||||
@@ -212,6 +250,11 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
get { return data.EffectiveOn; }
|
||||
set { data.EffectiveOn = value; }
|
||||
}
|
||||
public DateTime ExpiresOn
|
||||
{
|
||||
get { return data.ExpiresOn; }
|
||||
set { data.ExpiresOn = value; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Flags - positions 1-16 available.
|
||||
@@ -224,6 +267,19 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
// P a r a m s
|
||||
//-------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Combination Sport and Region Ids to index activities.
|
||||
/// </summary>
|
||||
public class SportRegionIds
|
||||
{
|
||||
public SportRegionIds(SysId sportId, SysId regionId)
|
||||
{
|
||||
SportId = sportId;
|
||||
RegionId = regionId;
|
||||
}
|
||||
public SysId SportId { get; }
|
||||
public SysId RegionId { get; }
|
||||
}
|
||||
/// <summary>
|
||||
/// Item list parameters.
|
||||
/// </summary>
|
||||
public new class Params : SacsHierarchyItem.Params
|
||||
@@ -232,12 +288,18 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
public List<SysId> IdsIncluded { get; } = new List<SysId>();
|
||||
public List<SysId> IdsExcluded { get; } = new List<SysId>();
|
||||
public List<ItemId> ItemIdsIncluded { get; } = new List<ItemId>();
|
||||
public List<SysId> SportIdsIncluded { get; } = new List<SysId>();
|
||||
public List<SysId> RegionIdsIncluded { get; } = new List<SysId>();
|
||||
public DateTime EffectiveFrom { get; set; }
|
||||
public DateTime EffectiveTo { get; set; }
|
||||
/// <summary>Activities must match one of the sport/region combinations specified.</summary>
|
||||
public List<SportRegionIds> SportRegionIdsIncluded { get; } = new List<SportRegionIds>();
|
||||
/// <summary>Owner User Accounts - to include activities in result for users regardless of sports/regions.</summary>
|
||||
public List<SysId> UserAccountIdsOwnerIncluded { get; } = new List<SysId>();
|
||||
/// <summary>Owner Organisations - to include activities in result for organisations regardless of sport/region combinations.</summary>
|
||||
public List<SysId> OrganisationIdsOwnerIncluded { get; } = new List<SysId>();
|
||||
/// <summary>User Account - to include User Activity data in result.</summary>
|
||||
public SysId UserAccountId { get; set; }
|
||||
public DateTime EffectiveFrom { get; set; }
|
||||
public DateTime EffectiveTo { get; set; }
|
||||
/// <summary>Not Expired - either Expiry date not set or is after specified date.</summary>
|
||||
public DateTime NotExpiredOn { get; set; }
|
||||
// Table aliases - blank if not linked.
|
||||
public String Alias_ActivityIndex { get; set; }
|
||||
}
|
||||
@@ -249,11 +311,11 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
public static class SaxActivityIndexList
|
||||
{
|
||||
/// <summary>
|
||||
/// Get first entry that matcehs the sport, region and effective date.
|
||||
/// Get first entry that matches the sport and region.
|
||||
/// </summary>
|
||||
public static SaxActivityIndex GetActivityIndexBySportRegionEffective(this List<SaxActivityIndex> values, SysId sportId, SysId regionId, DateTime effectiveOn)
|
||||
public static SaxActivityIndex GetActivityIndexBySportRegion(this List<SaxActivityIndex> values, SysId sportId, SysId regionId)
|
||||
{
|
||||
return values.Find(item => item.MatchesSportRegionEffective(sportId, regionId, effectiveOn));
|
||||
return values.Find(item => item.MatchesSportRegion(sportId, regionId));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user