v1.0.8.1
This commit is contained in:
@@ -15,7 +15,7 @@ namespace Saxonite.Net.Standard.Base.Consoles
|
||||
// to identifying the activities that are relevant to a User or other context
|
||||
// that defines at least one region/sport combination and an effective date (usually today).
|
||||
//=======================================================================
|
||||
public abstract class SaxActivityConsole : SacsDisposable
|
||||
public abstract class SaxActivityConsole : SaErrorStateItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Definitions.
|
||||
@@ -24,6 +24,11 @@ namespace Saxonite.Net.Standard.Base.Consoles
|
||||
/// </summary>
|
||||
public class IndexContext
|
||||
{
|
||||
public IndexContext (SysId userAccountId)
|
||||
{
|
||||
UserAccountId = userAccountId;
|
||||
}
|
||||
public SysId UserAccountId { get; }
|
||||
public List<SysId> SportIds { get; } = new List<SysId>();
|
||||
public List<SysId> RegionIds { get; } = new List<SysId>();
|
||||
// Default period is ~3 months up to today.
|
||||
@@ -55,10 +60,15 @@ namespace Saxonite.Net.Standard.Base.Consoles
|
||||
public DateTime EffectiveOn { get; }
|
||||
public String Caption { get; protected set; }
|
||||
public String Blurb { get; protected set; }
|
||||
public SysId SportId{ get; protected set; }
|
||||
public String SportName{ get; protected set; }
|
||||
public SysId SportId { get; protected set; }
|
||||
public String SportName { get; protected set; }
|
||||
public SysId RegionId { get; protected set; }
|
||||
public String RegionName{ get; protected set; }
|
||||
public String RegionName { get; protected set; }
|
||||
// User Activity.
|
||||
public DateTime LastListedAt { get; protected set; }
|
||||
public DateTime LastViewedAt { get; protected set; }
|
||||
public Sax.ActivityReaction Reaction { get; protected set; }
|
||||
public DateTime LastReactedAt { get; protected set; }
|
||||
}
|
||||
public List<ActivityData> Items { get; } = new List<ActivityData>();
|
||||
}
|
||||
@@ -105,6 +115,8 @@ namespace Saxonite.Net.Standard.Base.Consoles
|
||||
/// </summary>
|
||||
public bool StoreActivityIndex(SaxJournalistArticle article, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
ClearErrorState();
|
||||
|
||||
// Only active articles have an activity index.
|
||||
if (!article.IsStatusActive) ClearActivityIndex(article.GetItemId(), dbUpdateInfo);
|
||||
|
||||
@@ -128,6 +140,8 @@ namespace Saxonite.Net.Standard.Base.Consoles
|
||||
/// </summary>
|
||||
public bool StoreActivityIndex(SaxOrganisationOpportunity opportunity, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
ClearErrorState();
|
||||
|
||||
// Only active opportunities have an activity index.
|
||||
if (!opportunity.IsStatusActive) ClearActivityIndex(opportunity.GetItemId(), dbUpdateInfo);
|
||||
|
||||
@@ -209,16 +223,15 @@ namespace Saxonite.Net.Standard.Base.Consoles
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Activity Index data.
|
||||
protected abstract bool StoreActivityIndexData(IndexData indexData, DbUpdateInfo dbUpdateInfo);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
protected abstract bool ClearActivityIndex(ItemId itemId, DbUpdateInfo dbUpdateInfo);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Utilities.
|
||||
//-------------------------------------------------------------------
|
||||
// Activity Index Utilities.
|
||||
protected List<IndexEntryData> GetEntriesForIndex(IndexData indexData)
|
||||
{
|
||||
ClearErrorState();
|
||||
List<IndexEntryData> indexEntries = new List<IndexEntryData>();
|
||||
if (ItemId.IsValid(indexData.ItemId) && DateUtil.IsValid(indexData.EffectiveOn))
|
||||
{
|
||||
@@ -235,6 +248,13 @@ namespace Saxonite.Net.Standard.Base.Consoles
|
||||
return indexEntries;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// User Activities
|
||||
//-------------------------------------------------------------------
|
||||
public abstract bool RecordUserActivitiesListed(SysId userAccountId, List<ItemId> activityItemIds, DbUpdateInfo dbUpdateInfo);
|
||||
public abstract bool RecordUserActivityViewed(SysId userAccountId, ItemId activityItemId, DbUpdateInfo dbUpdateInfo);
|
||||
public abstract bool RecordUserActivityReaction(SysId userAccountId, ItemId activityItemId, Sax.ActivityReaction activityReaction, DbUpdateInfo dbUpdateInfo);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
Reference in New Issue
Block a user