v1.1.4.0
This commit is contained in:
@@ -11,6 +11,7 @@ using Saxonite.Net.Core.Web.Online.Models;
|
||||
using Saxonite.Net.Standard.Base.App;
|
||||
using Saxonite.Net.Standard.Base.Bus;
|
||||
using Saxonite.Net.Standard.Base.Consoles;
|
||||
using Saxonite.Net.Standard.Base.Mgr;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -49,16 +50,16 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
|
||||
/// <summary>Article activity info. </summary>
|
||||
private class ActivityResponseData_Article
|
||||
{
|
||||
public ActivityResponseData_Article(SaxController_Online controller, SaxModel_Online model, SaxJournalistArticle article)
|
||||
public ActivityResponseData_Article(SaxController_Online controller, SaxModel_Online model, SaxArticle article)
|
||||
{
|
||||
Author = model.GetUserAccountDisplayName(article.UserAccountIdJournalist);
|
||||
Author = model.GetUserAccountDisplayName(article.UserAccountIdAuthor);
|
||||
Headline = article.Headline;
|
||||
Summary = article.Summary;
|
||||
Sport = model.GetSportCaption(article.SportIdPrimary);
|
||||
Region = model.GetRegionCaption(article.RegionIdPrimary);
|
||||
PublishedOnFmt = model.Localiser.FormatDate(article.PublishedAt);
|
||||
SaxJournalistArticle.ContentData content = SaxJournalistArticle.ExtractContent(article.BodyData);
|
||||
foreach (SaxJournalistArticle.ContentData.SegmentData segment in content.Segments)
|
||||
SaxArticle.ContentData content = SaxArticle.ExtractContent(article.BodyData);
|
||||
foreach (SaxArticle.ContentData.SegmentData segment in content.Segments)
|
||||
Content.Segments.Add(new ContentData.SegmentData(controller, segment));
|
||||
}
|
||||
public String Organisation { get; set; }
|
||||
@@ -72,7 +73,7 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
|
||||
{
|
||||
public class SegmentData
|
||||
{
|
||||
public SegmentData(SaxController_Online controller, SaxJournalistArticle.ContentData.SegmentData segment)
|
||||
public SegmentData(SaxController_Online controller, SaxArticle.ContentData.SegmentData segment)
|
||||
{
|
||||
if (segment.Body.IsValid())
|
||||
{
|
||||
@@ -82,7 +83,7 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
|
||||
else if (segment.Image.IsValid())
|
||||
{
|
||||
Image = new ImageData();
|
||||
Image.Link = JournalistController.GetArticleImageLink(controller, segment.Image.ItemImageId);
|
||||
Image.Link = ArticleController.GetArticleImageLink(controller, segment.Image.ItemImageId);
|
||||
}
|
||||
}
|
||||
public class BodyData
|
||||
@@ -140,10 +141,9 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
|
||||
AjaxResponse_ActivityList responseData = new AjaxResponse_ActivityList();
|
||||
|
||||
// Validate session and referrer.
|
||||
if (!ValidReferer)
|
||||
return Forbid();
|
||||
if (!ValidUserSession)
|
||||
return GetAjaxResult_InvalidSession(responseData);
|
||||
if (!ValidReferer) return Forbid();
|
||||
if (!ValidUserSession) return GetAjaxResult_InvalidSession(responseData);
|
||||
RefreshModel(model);
|
||||
SaxSessionData_Online sessionData = SessionData_Online;
|
||||
|
||||
// User context.
|
||||
@@ -167,12 +167,14 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
|
||||
activityItemIds.Add(itemData.ItemId);
|
||||
ActivityResponseData activityData = new ActivityResponseData();
|
||||
activityData.ItemType = itemData.ItemId.Type;
|
||||
if (itemData.ItemId.Type == (int)Sax.DataItemType.JournalistArticle)
|
||||
if (itemData.ItemId.Type == (int)Sax.DataItemType.Article)
|
||||
activityData.ItemTypeClass = "Article";
|
||||
else if (itemData.ItemId.Type == (int)Sax.DataItemType.OrganisationOpportunity)
|
||||
activityData.ItemTypeClass = "Opportunity";
|
||||
// ToDo Mask activity index Id with cross-reference stored in session data.
|
||||
activityData.ItemIdx = SysId.ToLong(itemData.ItemId.Id);
|
||||
activityData.Organisation = itemData.Organisation;
|
||||
activityData.Author = itemData.Author;
|
||||
activityData.Caption = itemData.Caption;
|
||||
activityData.Blurb = itemData.Blurb;
|
||||
activityData.Sport = Localiser.GetSportName(itemData.SportId, itemData.SportName);
|
||||
@@ -211,10 +213,9 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
|
||||
AjaxResponse_ActivityInfo responseData = new AjaxResponse_ActivityInfo();
|
||||
|
||||
// Validate session and referrer.
|
||||
if (!ValidReferer)
|
||||
return Forbid();
|
||||
if (!ValidUserSession)
|
||||
return GetAjaxResult_InvalidSession(responseData);
|
||||
if (!ValidReferer) return Forbid();
|
||||
if (!ValidUserSession) return GetAjaxResult_InvalidSession(responseData);
|
||||
RefreshModel(model);
|
||||
SaxSessionData_Online sessionData = SessionData_Online;
|
||||
|
||||
// Identify activity.
|
||||
@@ -222,18 +223,18 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
|
||||
SysId itemId = model.ActivityIdx.ToSysId();
|
||||
if (itemType <= 0 || !SysId.IsValid(itemId))
|
||||
{
|
||||
SaLogger.Warn(fn + " Activity type/Id inncorrectly specified." + getLogSuffix());
|
||||
SaLogger.Warn(fn + " Activity type/Id inncorrectly specified." + GetLogSuffix());
|
||||
return Json(responseData);
|
||||
}
|
||||
|
||||
// Retrieve activity details.
|
||||
if (itemType == Sax.DataItemType.JournalistArticle)
|
||||
if (itemType == Sax.DataItemType.Article)
|
||||
{
|
||||
// Journalist article.
|
||||
SaxJournalistArticle article = ActivityMgr.GetJournalistArticleById(itemId);
|
||||
// Article.
|
||||
SaxArticle article = ActivityMgr.GetArticleById(itemId);
|
||||
if (article == null)
|
||||
{
|
||||
SaLogger.Warn(fn + " Article not found for Activity Id: " + itemId.ToString() + "." + getLogSuffix());
|
||||
SaLogger.Warn(fn + " Article not found for Activity Id: " + itemId.ToString() + "." + GetLogSuffix());
|
||||
return Json(responseData);
|
||||
}
|
||||
responseData.Article = new ActivityResponseData_Article(this, model, article);
|
||||
@@ -244,7 +245,7 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
|
||||
SaxOrganisationOpportunity opportunity = ActivityMgr.GetOrganisationOpportunityById(itemId);
|
||||
if (opportunity == null)
|
||||
{
|
||||
SaLogger.Warn(fn + " Opportunity not found for Activity Id: " + itemId.ToString() + "." + getLogSuffix());
|
||||
SaLogger.Warn(fn + " Opportunity not found for Activity Id: " + itemId.ToString() + "." + GetLogSuffix());
|
||||
return Json(responseData);
|
||||
}
|
||||
responseData.Opportunity = new ActivityResponseData_Opportunity(model, opportunity);
|
||||
@@ -253,7 +254,7 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
|
||||
// Record activty viewing.
|
||||
if (!ActivityConsole.RecordUserActivityViewed(SessionData.User.UserAccountId, new ItemId((short)itemType, itemId), DbUpdateInfo))
|
||||
{
|
||||
SaLogger.Warn(fn + " Failed to record Activity Viewing: " + ActivityConsole.ErrorStateMessage + "." + getLogSuffix());
|
||||
SaLogger.Warn(fn + " Failed to record Activity Viewing: " + ActivityConsole.ErrorStateMessage + "." + GetLogSuffix());
|
||||
return Json(responseData);
|
||||
}
|
||||
|
||||
@@ -280,10 +281,9 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
|
||||
AjaxResponse_ActivityReaction responseData = new AjaxResponse_ActivityReaction();
|
||||
|
||||
// Validate session and referrer.
|
||||
if (!ValidReferer)
|
||||
return Forbid();
|
||||
if (!ValidUserSession)
|
||||
return GetAjaxResult_InvalidSession(responseData);
|
||||
if (!ValidReferer) return Forbid();
|
||||
if (!ValidUserSession) return GetAjaxResult_InvalidSession(responseData);
|
||||
RefreshModel(model);
|
||||
SaxSessionData_Online sessionData = SessionData_Online;
|
||||
|
||||
// Identify activity.
|
||||
@@ -291,14 +291,14 @@ namespace Saxonite.Net.Core.Web.Online.Controllers
|
||||
SysId itemId = model.ActivityIdx.ToSysId();
|
||||
if (itemType <= 0 || !SysId.IsValid(itemId))
|
||||
{
|
||||
SaLogger.Warn(fn + " Activity type/Id inncorrectly specified." + getLogSuffix());
|
||||
SaLogger.Warn(fn + " Activity type/Id inncorrectly specified." + GetLogSuffix());
|
||||
return Json(responseData);
|
||||
}
|
||||
|
||||
// Record activity reaction.
|
||||
if (!ActivityConsole.RecordUserActivityReaction(SessionData.User.UserAccountId, new ItemId((short)itemType, itemId), model.GetActivityReaction(), DbUpdateInfo))
|
||||
{
|
||||
SaLogger.Warn(fn + " Failed to record Activity Reaction: " + ActivityConsole.ErrorStateMessage + "." + getLogSuffix());
|
||||
SaLogger.Warn(fn + " Failed to record Activity Reaction: " + ActivityConsole.ErrorStateMessage + "." + GetLogSuffix());
|
||||
return Json(responseData);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user