v1.1.4.0
This commit is contained in:
@@ -18,7 +18,7 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
//-------------------------------------------------------------------
|
||||
public static class Version
|
||||
{
|
||||
private static String version { get; } = "1.1.3.0";
|
||||
private static String version { get; } = "1.1.4.0";
|
||||
// Retrieve version.
|
||||
public static String GetFullVersion () { return version; }
|
||||
public static String GetAppVersion ()
|
||||
@@ -40,6 +40,10 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
//-------------------------------------------------------------------
|
||||
// Version history.
|
||||
//-------------------------------------------------------------------
|
||||
// 1.1.4 9-Aug-2021 Organisation Articles.
|
||||
// - Journalist Article renamed Article and Organisation Id added.
|
||||
// - Online Organisation Articles.
|
||||
// - Admin Send Emails for User.
|
||||
// 1.1.3 23-Jul-2021 Online Members.
|
||||
// - Online Members.
|
||||
// - Admin organisation activation.
|
||||
|
||||
@@ -145,7 +145,7 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
// Activty data.
|
||||
ActivityIndex = 200,
|
||||
UserActivity = 202,
|
||||
JournalistArticle = 210,
|
||||
Article = 210,
|
||||
OrganisationOpportunity = 220,
|
||||
OrganisationEvent = 225,
|
||||
// Item link components.
|
||||
@@ -234,9 +234,9 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
Avatar = 100,
|
||||
/// <summary>User's profile image, uploaded awaiting confirmation.</summary>
|
||||
AvatarUpload = 101,
|
||||
/// <summary>Journalist Article image.</summary>
|
||||
/// <summary>Article image.</summary>
|
||||
Article = 200,
|
||||
/// <summary>Journalist Article image uploaded, awaiting confirmation.</summary>
|
||||
/// <summary>Article image uploaded, awaiting confirmation.</summary>
|
||||
ArticleUpload = 201,
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Wed 14-Jul-2021 14:06:01
|
||||
// Code generated by Sarand Database Utilities Fri 6-Aug-2021 19:02:06
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Saxonite.Base.App
|
||||
{
|
||||
@@ -18,10 +18,10 @@ namespace Saxonite.Base.App
|
||||
{
|
||||
Unknown = 0,
|
||||
ActivityIndex,
|
||||
Article,
|
||||
ItemAddress,
|
||||
ItemImage,
|
||||
ItemSport,
|
||||
JournalistArticle,
|
||||
Organisation,
|
||||
OrganisationOpportunity,
|
||||
Region,
|
||||
@@ -53,6 +53,24 @@ namespace Saxonite.Base.App
|
||||
ActivityIndex_UpdateOn,
|
||||
ActivityIndex_UpdateBy,
|
||||
ActivityIndex_UpdateHost,
|
||||
Article_Id,
|
||||
Article_UserAccountIdAuthor,
|
||||
Article_OrganisationId,
|
||||
Article_SportIdPrimary,
|
||||
Article_RegionIdPrimary,
|
||||
Article_Headline,
|
||||
Article_Summary,
|
||||
Article_BodyData,
|
||||
Article_PublishedAt,
|
||||
Article_Notes,
|
||||
Article_Flags,
|
||||
Article_Status,
|
||||
Article_CreateOn,
|
||||
Article_CreateBy,
|
||||
Article_CreateHost,
|
||||
Article_UpdateOn,
|
||||
Article_UpdateBy,
|
||||
Article_UpdateHost,
|
||||
ItemAddress_Id,
|
||||
ItemAddress_ItemType,
|
||||
ItemAddress_ItemId,
|
||||
@@ -121,23 +139,6 @@ namespace Saxonite.Base.App
|
||||
ItemSport_UpdateOn,
|
||||
ItemSport_UpdateBy,
|
||||
ItemSport_UpdateHost,
|
||||
JournalistArticle_Id,
|
||||
JournalistArticle_UserAccountIdJournalist,
|
||||
JournalistArticle_SportIdPrimary,
|
||||
JournalistArticle_RegionIdPrimary,
|
||||
JournalistArticle_Headline,
|
||||
JournalistArticle_Summary,
|
||||
JournalistArticle_BodyData,
|
||||
JournalistArticle_PublishedAt,
|
||||
JournalistArticle_Notes,
|
||||
JournalistArticle_Flags,
|
||||
JournalistArticle_Status,
|
||||
JournalistArticle_CreateOn,
|
||||
JournalistArticle_CreateBy,
|
||||
JournalistArticle_CreateHost,
|
||||
JournalistArticle_UpdateOn,
|
||||
JournalistArticle_UpdateBy,
|
||||
JournalistArticle_UpdateHost,
|
||||
Organisation_Id,
|
||||
Organisation_Name,
|
||||
Organisation_OrganisationType,
|
||||
@@ -305,7 +306,7 @@ namespace Saxonite.Base.App
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private static readonly int tableCount = 15;
|
||||
private static readonly int columnCount = 261;
|
||||
private static readonly int columnCount = 262;
|
||||
private static ulong maxTextLen = 0;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -452,10 +453,10 @@ namespace Saxonite.Base.App
|
||||
private static readonly String[] tables =
|
||||
{
|
||||
"ActivityIndex",
|
||||
"Article",
|
||||
"ItemAddress",
|
||||
"ItemImage",
|
||||
"ItemSport",
|
||||
"JournalistArticle",
|
||||
"Organisation",
|
||||
"OrganisationOpportunity",
|
||||
"Region",
|
||||
@@ -506,32 +507,18 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(1,"UpdateOn",9,93,false,23),
|
||||
new ColumnDfn(1,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(1,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(2,"Id",5,-5,true,19),
|
||||
new ColumnDfn(2,"ItemType",3,5,false,5),
|
||||
new ColumnDfn(2,"ItemId",4,4,false,10),
|
||||
new ColumnDfn(2,"AddressType",3,5,false,5),
|
||||
new ColumnDfn(2,"Caption",0,-9,false,200),
|
||||
new ColumnDfn(2,"Line1",0,-9,false,200),
|
||||
new ColumnDfn(2,"Line2",0,-9,false,200),
|
||||
new ColumnDfn(2,"Line3",0,-9,false,200),
|
||||
new ColumnDfn(2,"Town",0,-9,false,100),
|
||||
new ColumnDfn(2,"Province",0,-9,false,100),
|
||||
new ColumnDfn(2,"RegionIdProvince",4,4,false,10),
|
||||
new ColumnDfn(2,"Country",0,-9,false,100),
|
||||
new ColumnDfn(2,"RegionIdCountry",4,4,false,10),
|
||||
new ColumnDfn(2,"PostalCode",0,-9,false,32),
|
||||
new ColumnDfn(2,"PhoneMain",0,-9,false,100),
|
||||
new ColumnDfn(2,"LocationSource",0,12,false,100),
|
||||
new ColumnDfn(2,"LocationStoredAt",9,93,false,16),
|
||||
new ColumnDfn(2,"LocationUpdateRequired",1,-7,false,1),
|
||||
new ColumnDfn(2,"LocationData",0,-9,false,4000),
|
||||
new ColumnDfn(2,"LocationFormattedAddress",0,-9,false,4000),
|
||||
new ColumnDfn(2,"LocationLatitude",8,3,false,9),
|
||||
new ColumnDfn(2,"LocationLongitude",8,3,false,9),
|
||||
new ColumnDfn(2,"LocationAltitude",8,3,false,9),
|
||||
new ColumnDfn(2,"Id",4,4,true,10),
|
||||
new ColumnDfn(2,"UserAccountIdAuthor",4,4,false,10),
|
||||
new ColumnDfn(2,"OrganisationId",4,4,false,10),
|
||||
new ColumnDfn(2,"SportIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(2,"RegionIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(2,"Headline",0,-9,false,200),
|
||||
new ColumnDfn(2,"Summary",0,-9,false,2000),
|
||||
new ColumnDfn(2,"BodyData",0,-9,false,0),
|
||||
new ColumnDfn(2,"PublishedAt",9,93,false,16),
|
||||
new ColumnDfn(2,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(2,"Flags",3,5,false,5),
|
||||
new ColumnDfn(2,"Status",0,1,false,3),
|
||||
new ColumnDfn(2,"Status",0,12,false,3),
|
||||
new ColumnDfn(2,"CreateOn",9,93,false,23),
|
||||
new ColumnDfn(2,"CreateBy",4,4,false,10),
|
||||
new ColumnDfn(2,"CreateHost",0,12,false,100),
|
||||
@@ -541,30 +528,48 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(3,"Id",5,-5,true,19),
|
||||
new ColumnDfn(3,"ItemType",3,5,false,5),
|
||||
new ColumnDfn(3,"ItemId",4,4,false,10),
|
||||
new ColumnDfn(3,"ImageType",3,5,false,5),
|
||||
new ColumnDfn(3,"ImageSeq",2,-6,false,3),
|
||||
new ColumnDfn(3,"SessionUid",5,-5,false,19),
|
||||
new ColumnDfn(3,"ImageUid",4,4,false,10),
|
||||
new ColumnDfn(3,"Filename",0,-9,false,1024),
|
||||
new ColumnDfn(3,"Mime",0,12,false,64),
|
||||
new ColumnDfn(3,"ContentType",0,12,false,128),
|
||||
new ColumnDfn(3,"Width",4,4,false,10),
|
||||
new ColumnDfn(3,"Height",4,4,false,10),
|
||||
new ColumnDfn(3,"ImageData",10,-3,false,0),
|
||||
new ColumnDfn(3,"AddressType",3,5,false,5),
|
||||
new ColumnDfn(3,"Caption",0,-9,false,200),
|
||||
new ColumnDfn(3,"Line1",0,-9,false,200),
|
||||
new ColumnDfn(3,"Line2",0,-9,false,200),
|
||||
new ColumnDfn(3,"Line3",0,-9,false,200),
|
||||
new ColumnDfn(3,"Town",0,-9,false,100),
|
||||
new ColumnDfn(3,"Province",0,-9,false,100),
|
||||
new ColumnDfn(3,"RegionIdProvince",4,4,false,10),
|
||||
new ColumnDfn(3,"Country",0,-9,false,100),
|
||||
new ColumnDfn(3,"RegionIdCountry",4,4,false,10),
|
||||
new ColumnDfn(3,"PostalCode",0,-9,false,32),
|
||||
new ColumnDfn(3,"PhoneMain",0,-9,false,100),
|
||||
new ColumnDfn(3,"LocationSource",0,12,false,100),
|
||||
new ColumnDfn(3,"LocationStoredAt",9,93,false,16),
|
||||
new ColumnDfn(3,"LocationUpdateRequired",1,-7,false,1),
|
||||
new ColumnDfn(3,"LocationData",0,-9,false,4000),
|
||||
new ColumnDfn(3,"LocationFormattedAddress",0,-9,false,4000),
|
||||
new ColumnDfn(3,"LocationLatitude",8,3,false,9),
|
||||
new ColumnDfn(3,"LocationLongitude",8,3,false,9),
|
||||
new ColumnDfn(3,"LocationAltitude",8,3,false,9),
|
||||
new ColumnDfn(3,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(3,"Flags",3,5,false,5),
|
||||
new ColumnDfn(3,"Status",0,12,false,3),
|
||||
new ColumnDfn(3,"Status",0,1,false,3),
|
||||
new ColumnDfn(3,"CreateOn",9,93,false,23),
|
||||
new ColumnDfn(3,"CreateBy",4,4,false,10),
|
||||
new ColumnDfn(3,"CreateHost",0,12,false,100),
|
||||
new ColumnDfn(3,"UpdateOn",9,93,false,23),
|
||||
new ColumnDfn(3,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(3,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(4,"Id",4,4,true,10),
|
||||
new ColumnDfn(4,"Id",5,-5,true,19),
|
||||
new ColumnDfn(4,"ItemType",3,5,false,5),
|
||||
new ColumnDfn(4,"ItemId",4,4,false,10),
|
||||
new ColumnDfn(4,"SportId",4,4,false,10),
|
||||
new ColumnDfn(4,"ItemSportData",0,-9,false,0),
|
||||
new ColumnDfn(4,"ImageType",3,5,false,5),
|
||||
new ColumnDfn(4,"ImageSeq",2,-6,false,3),
|
||||
new ColumnDfn(4,"SessionUid",5,-5,false,19),
|
||||
new ColumnDfn(4,"ImageUid",4,4,false,10),
|
||||
new ColumnDfn(4,"Filename",0,-9,false,1024),
|
||||
new ColumnDfn(4,"Mime",0,12,false,64),
|
||||
new ColumnDfn(4,"ContentType",0,12,false,128),
|
||||
new ColumnDfn(4,"Width",4,4,false,10),
|
||||
new ColumnDfn(4,"Height",4,4,false,10),
|
||||
new ColumnDfn(4,"ImageData",10,-3,false,0),
|
||||
new ColumnDfn(4,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(4,"Flags",3,5,false,5),
|
||||
new ColumnDfn(4,"Status",0,12,false,3),
|
||||
@@ -575,13 +580,10 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(4,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(4,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(5,"Id",4,4,true,10),
|
||||
new ColumnDfn(5,"UserAccountIdJournalist",4,4,false,10),
|
||||
new ColumnDfn(5,"SportIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(5,"RegionIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(5,"Headline",0,-9,false,200),
|
||||
new ColumnDfn(5,"Summary",0,-9,false,2000),
|
||||
new ColumnDfn(5,"BodyData",0,-9,false,0),
|
||||
new ColumnDfn(5,"PublishedAt",9,93,false,16),
|
||||
new ColumnDfn(5,"ItemType",3,5,false,5),
|
||||
new ColumnDfn(5,"ItemId",4,4,false,10),
|
||||
new ColumnDfn(5,"SportId",4,4,false,10),
|
||||
new ColumnDfn(5,"ItemSportData",0,-9,false,0),
|
||||
new ColumnDfn(5,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(5,"Flags",3,5,false,5),
|
||||
new ColumnDfn(5,"Status",0,12,false,3),
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
// Activty data.
|
||||
dataItemTypeCodes.Add(Sax.DataItemType.ActivityIndex, "ActivityIndex", "Activity Index");
|
||||
dataItemTypeCodes.Add(Sax.DataItemType.UserActivity, "UserActivity", "User Activity");
|
||||
dataItemTypeCodes.Add(Sax.DataItemType.JournalistArticle, "JournalistArticle", "Journalist Article");
|
||||
dataItemTypeCodes.Add(Sax.DataItemType.Article, "Article", "Article");
|
||||
dataItemTypeCodes.Add(Sax.DataItemType.OrganisationOpportunity, "OrganisationOpportunity", "Organisation Opportunity");
|
||||
dataItemTypeCodes.Add(Sax.DataItemType.OrganisationEvent, "OrganisationEvent", "Organisation Event");
|
||||
// Item link components.
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
UserActivity_ViewedAtLast,
|
||||
UserActivity_Reaction,
|
||||
UserActivity_ReactedAtLast,
|
||||
// Journalist Article.
|
||||
// Article.
|
||||
Article_Headline,
|
||||
Article_Summary,
|
||||
// Organisation opportunity.
|
||||
|
||||
+2
-2
@@ -11,9 +11,9 @@ using System.Xml.Linq;
|
||||
namespace Saxonite.Net.Standard.Base.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
// Journalist Article - Content data.
|
||||
// Article - Content data.
|
||||
//=======================================================================
|
||||
partial class SaxJournalistArticle
|
||||
partial class SaxArticle
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Definitions.
|
||||
+44
-24
@@ -8,9 +8,9 @@ using System.Text;
|
||||
namespace Saxonite.Net.Standard.Base.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
// Journalist Article.
|
||||
// Article.
|
||||
//=======================================================================
|
||||
public abstract partial class SaxJournalistArticle : SacsHierarchyItem
|
||||
public abstract partial class SaxArticle : SacsHierarchyItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Columns.
|
||||
@@ -18,12 +18,15 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
{
|
||||
Pos,
|
||||
Id,
|
||||
// Journalist.
|
||||
UserAccountIdJournalist,
|
||||
Journalist_DisplayName,
|
||||
Journalist_Title,
|
||||
Journalist_FirstName,
|
||||
Journalist_LastName,
|
||||
// Author.
|
||||
UserAccountIdAuthor,
|
||||
Author_DisplayName,
|
||||
Author_Title,
|
||||
Author_FirstName,
|
||||
Author_LastName,
|
||||
// Organisation.
|
||||
OrganisationId,
|
||||
Organisation_Name,
|
||||
// Sport.
|
||||
SportIdPrimary,
|
||||
Sport_Name,
|
||||
@@ -50,7 +53,8 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
/// <summary>Properties other than common.</summary>
|
||||
public class DataProperties
|
||||
{
|
||||
public SysId UserAccountIdJournalist { get; set; }
|
||||
public SysId UserAccountIdAuthor { get; set; }
|
||||
public SysId OrganisationId { get; set; }
|
||||
public String Headline { get; set; } = String.Empty;
|
||||
public String Summary { get; set; } = String.Empty;
|
||||
public SysId SportIdPrimary { get; set; }
|
||||
@@ -71,10 +75,15 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
Status = DefaultStatus;
|
||||
}
|
||||
// Properties.
|
||||
public SysId UserAccountIdJournalist
|
||||
public SysId UserAccountIdAuthor
|
||||
{
|
||||
get { return data.UserAccountIdJournalist; }
|
||||
set { CheckChanged(data.UserAccountIdJournalist, value); data.UserAccountIdJournalist = value; }
|
||||
get { return data.UserAccountIdAuthor; }
|
||||
set { CheckChanged(data.UserAccountIdAuthor, value); data.UserAccountIdAuthor = value; }
|
||||
}
|
||||
public SysId OrganisationId
|
||||
{
|
||||
get { return data.OrganisationId; }
|
||||
set { CheckChanged(data.OrganisationId, value); data.OrganisationId = value; }
|
||||
}
|
||||
public SysId SportIdPrimary
|
||||
{
|
||||
@@ -109,7 +118,8 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
// Population.
|
||||
internal void PopulateFrom(Data data)
|
||||
{
|
||||
UserAccountIdJournalist = data.UserAccountIdJournalist;
|
||||
UserAccountIdAuthor = data.UserAccountIdAuthor;
|
||||
OrganisationId = data.OrganisationId;
|
||||
SportIdPrimary = data.SportIdPrimary;
|
||||
RegionIdPrimary = data.RegionIdPrimary;
|
||||
Headline = data.Headline;
|
||||
@@ -131,7 +141,8 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
public new class ErrField : SacsHierarchyItem.ErrField
|
||||
{
|
||||
// Identifies the field that has invalid data.
|
||||
public ValidValue UserAccountIdJournalist { get; set; } = ValidValue.Valid;
|
||||
public ValidValue UserAccountIdAuthor { get; set; } = ValidValue.Valid;
|
||||
public ValidValue OrganisationId { get; set; } = ValidValue.Valid;
|
||||
public ValidValue SportIdPrimary { get; set; } = ValidValue.Valid;
|
||||
public ValidValue RegionIdPrimary { get; set; } = ValidValue.Valid;
|
||||
public ValidValue Headline { get; set; } = ValidValue.Valid;
|
||||
@@ -146,10 +157,11 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SaxJournalistArticle(SysId id, SysId UserAccountIdJournalist) : base(id)
|
||||
protected SaxArticle(SysId id, SysId UserAccountIdAuthor, SysId organisationId) : base(id)
|
||||
{
|
||||
base.SetData(data);
|
||||
this.UserAccountIdJournalist = UserAccountIdJournalist;
|
||||
this.UserAccountIdAuthor = UserAccountIdAuthor;
|
||||
this.OrganisationId = organisationId;
|
||||
Status = DefaultStatus;
|
||||
}
|
||||
|
||||
@@ -175,7 +187,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
// Utilities.
|
||||
public ItemId GetItemId()
|
||||
{
|
||||
return new ItemId((short)Sax.DataItemType.JournalistArticle, Id);
|
||||
return new ItemId((short)Sax.DataItemType.Article, Id);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -187,14 +199,21 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
// Properties that cannot be changed if previously specified.
|
||||
if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id))
|
||||
throw new NotSupportedException(fn + " Id cannot be changed");
|
||||
if (SysId.IsValid(UserAccountIdJournalist) && SysId.ToInt(UserAccountIdJournalist) != SysId.ToInt(data.UserAccountIdJournalist))
|
||||
throw new NotSupportedException(fn + " UserAccountIdJournalist cannot be changed");
|
||||
if (SysId.IsValid(UserAccountIdAuthor) && SysId.ToInt(UserAccountIdAuthor) != SysId.ToInt(data.UserAccountIdAuthor))
|
||||
throw new NotSupportedException(fn + " UserAccountIdAuthor cannot be changed");
|
||||
if (SysId.IsValid(OrganisationId) && SysId.ToInt(OrganisationId) != SysId.ToInt(data.OrganisationId))
|
||||
throw new NotSupportedException(fn + " OrganisationId cannot be changed");
|
||||
this.data.PopulateFrom(data);
|
||||
}
|
||||
public SysId UserAccountIdJournalist
|
||||
public SysId UserAccountIdAuthor
|
||||
{
|
||||
get { return data.UserAccountIdJournalist; }
|
||||
protected set { data.UserAccountIdJournalist = value; }
|
||||
get { return data.UserAccountIdAuthor; }
|
||||
protected set { data.UserAccountIdAuthor = value; }
|
||||
}
|
||||
public SysId OrganisationId
|
||||
{
|
||||
get { return data.OrganisationId; }
|
||||
protected set { data.OrganisationId = value; }
|
||||
}
|
||||
public String Headline
|
||||
{
|
||||
@@ -254,7 +273,8 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
// List filtering.
|
||||
public List<SysId> IdsIncluded { get; } = new List<SysId>();
|
||||
public List<SysId> IdsExcluded { get; } = new List<SysId>();
|
||||
public List<SysId> UserAccountIdsJournalistIncluded { get; } = new List<SysId>();
|
||||
public List<SysId> UserAccountIdsAuthorIncluded { get; } = new List<SysId>();
|
||||
public List<SysId> OrganisationIdsIncluded { get; } = new List<SysId>();
|
||||
public List<SysId> SportIdsIncluded { get; set; } = new List<SysId>();
|
||||
public List<SysId> RegionIdsIncluded { get; } = new List<SysId>();
|
||||
public String HeadlinePartial { get; set; }
|
||||
@@ -270,7 +290,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
}
|
||||
//=======================================================================
|
||||
// Item list extension methods.
|
||||
public static class SaxJournalistArticleList
|
||||
public static class SaxAuthorArticleList
|
||||
{
|
||||
}
|
||||
|
||||
@@ -58,6 +58,10 @@ namespace Saxonite.Net.Standard.Base.Consoles
|
||||
}
|
||||
public ItemId ItemId { get; }
|
||||
public DateTime EffectiveOn { get; }
|
||||
public SysId OrganisationId { get; set; }
|
||||
public String Organisation { get; set; }
|
||||
public SysId UserAccountIdAuthor { get; set; }
|
||||
public String Author { get; set; }
|
||||
public String Caption { get; protected set; }
|
||||
public String Blurb { get; protected set; }
|
||||
public SysId SportId { get; protected set; }
|
||||
@@ -78,7 +82,7 @@ namespace Saxonite.Net.Standard.Base.Consoles
|
||||
private SaxInternals internals = null;
|
||||
private readonly List<Sax.DataItemType> validActivityItemTypes = new List<Sax.DataItemType>()
|
||||
{
|
||||
Sax.DataItemType.JournalistArticle,
|
||||
Sax.DataItemType.Article,
|
||||
Sax.DataItemType.OrganisationOpportunity,
|
||||
};
|
||||
|
||||
@@ -111,9 +115,9 @@ namespace Saxonite.Net.Standard.Base.Consoles
|
||||
// Store Activity Index for Specific activities.
|
||||
//-------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Store the Activity Index for a Journalist Article.
|
||||
/// Store the Activity Index for an Article.
|
||||
/// </summary>
|
||||
public bool StoreActivityIndex(SaxJournalistArticle article, DbUpdateInfo dbUpdateInfo)
|
||||
public bool StoreActivityIndex(SaxArticle article, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
ClearErrorState();
|
||||
|
||||
@@ -139,7 +143,7 @@ namespace Saxonite.Net.Standard.Base.Consoles
|
||||
}
|
||||
return ClearActivityIndex(article.GetItemId(), dbUpdateInfo);
|
||||
}
|
||||
public bool ClearActivityIndex(SaxJournalistArticle article, DbUpdateInfo dbUpdateInfo)
|
||||
public bool ClearActivityIndex(SaxArticle article, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
return ClearActivityIndex(article.GetItemId(), dbUpdateInfo);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Helpers;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Saxonite.Base.App;
|
||||
using Saxonite.Net.Standard.Base.Bus;
|
||||
@@ -80,10 +81,18 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
ClearErrorState();
|
||||
|
||||
// Email address.
|
||||
if (errField.EmailAddress != SacsHierarchyItem.ValidValue.Ignore && !IsValidValue(data.EmailAddress, "email", (long)SaxDbDfn_Core.GetColTextLen(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress), true))
|
||||
if (errField.EmailAddress != SacsHierarchyItem.ValidValue.Ignore)
|
||||
{
|
||||
errField.EmailAddress = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return false;
|
||||
if (!IsValidValue(data.EmailAddress, "email", (long)SaxDbDfn_Core.GetColTextLen(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress), true))
|
||||
{
|
||||
errField.EmailAddress = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return false;
|
||||
}
|
||||
if (!SacsDataValidationHelper.IsValidEmailAddress(data.EmailAddress))
|
||||
{
|
||||
errField.EmailAddress = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("Invalid email address");
|
||||
}
|
||||
}
|
||||
// Title.
|
||||
if (errField.Title != SacsHierarchyItem.ValidValue.Ignore && !IsValidValue(data.Title, "Title", (long)SaxDbDfn_Core.GetColTextLen(SaxDbDfn_Core.ColumnIdx.UserAccount_Title)))
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Saxonite.Base.App;
|
||||
using Saxonite.Net.Standard.Base.App;
|
||||
using Saxonite.Net.Standard.Base.Bus;
|
||||
@@ -32,6 +33,7 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
prmUserOrganisation.StatusCat = statusCat;
|
||||
return GetUserOrganisationCount(prmUserOrganisation) > 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Does the user have the specified role with the organisation.
|
||||
/// </summary>
|
||||
@@ -40,6 +42,7 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
if (!SysId.IsValid(userAccountId) || !SysId.IsValid(organisationId) || organisationRole <= 0) return false;
|
||||
return GetOrganisationRolesForUser(userAccountId, organisationId, statusCat).Contains(organisationRole);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve the roles that a user has with the organisation.
|
||||
/// </summary>
|
||||
@@ -57,6 +60,53 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
return organisationRoles;
|
||||
}
|
||||
|
||||
public class OrganisationIdName
|
||||
{
|
||||
public SysId Id { get; internal set; }
|
||||
public String Name { get; internal set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get list of organisation Ids that the user has the specified role with.
|
||||
/// </summary>
|
||||
public List<OrganisationIdName> GetOrganisationsForUserRole(SysId userAccountId, Sax.OrganisationRole organisationRole, SaxUserOrganisation.StatusCat statusCat = SaxUserOrganisation.StatusCat.ActiveOnly)
|
||||
{
|
||||
List<OrganisationIdName> organisationsData = new List<OrganisationIdName>();
|
||||
String organisationRoleCode = Internals.OrganisationRoleCodes.GetCodeForType(organisationRole);
|
||||
if (!SysId.IsValid(userAccountId) || StringUtil.IsEmpty(organisationRoleCode)) return organisationsData;
|
||||
// Columns.
|
||||
ColumnDfn colOrganisationId = GetUserOrganisationColumnDfn(SaxUserOrganisation.Column.OrganisationId);
|
||||
ColumnDfn colOrganisationName = GetUserOrganisationColumnDfn(SaxUserOrganisation.Column.Organisation_Name);
|
||||
// Filter.
|
||||
SaxUserOrganisation.Params prmUserOrganisation = new SaxUserOrganisation.Params();
|
||||
prmUserOrganisation.UserAccountIdsIncluded.Add(userAccountId);
|
||||
prmUserOrganisation.OrganisationStatusCat = SaxOrganisation.StatusCat.ActiveOnly;
|
||||
prmUserOrganisation.OrganisationMembersOnly = true;
|
||||
prmUserOrganisation.OrganisationRoles.Add(organisationRole);
|
||||
prmUserOrganisation.StatusCat = statusCat;
|
||||
prmUserOrganisation.SortColumns.Add(colOrganisationName);
|
||||
// Query.
|
||||
using (DbResultSet resultSet = ExecuteUserOrganisationQuery(new List<ColumnDfn>() { colOrganisationId, colOrganisationName }, prmUserOrganisation))
|
||||
{
|
||||
while (resultSet != null && resultSet.NextRecord())
|
||||
{
|
||||
NamedValue.Map values = resultSet.GetRecordValues();
|
||||
SysId organisationId = new SysId(values.GetLong(colOrganisationId.DataName));
|
||||
String organisationName = values.GetString(colOrganisationName.DataName);
|
||||
if (SysId.IsValid(organisationId) && !StringUtil.IsEmpty(organisationName))
|
||||
{
|
||||
OrganisationIdName organisationData = new OrganisationIdName()
|
||||
{
|
||||
Id = organisationId,
|
||||
Name = organisationName
|
||||
};
|
||||
organisationsData.Add(organisationData);
|
||||
}
|
||||
}
|
||||
}
|
||||
return organisationsData;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Create item.
|
||||
public abstract SaxUserOrganisation CreateUserOrganisation(SysId userAccountId, SysId OrganisationId);
|
||||
|
||||
+84
-60
@@ -15,56 +15,56 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
partial class SaxActivityMgr
|
||||
{
|
||||
//*******************************************************************
|
||||
// Activity Mgr - Journalist Article
|
||||
// Activity Mgr - Article
|
||||
//*******************************************************************
|
||||
// Utilities.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Create item.
|
||||
public abstract SaxJournalistArticle CreateJournalistArticle(SysId userAccountIdJournalist);
|
||||
public abstract SaxArticle CreateArticle(SysId userAccountIdAuthor, SysId organisationId);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Item exists.
|
||||
public bool JournalistArticleExistsById(SysId id)
|
||||
public bool ArticleExistsById(SysId id)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(id)) return false;
|
||||
SaxJournalistArticle.Params prmJournalistArticle = new SaxJournalistArticle.Params();
|
||||
prmJournalistArticle.IdsIncluded.Add(id);
|
||||
prmJournalistArticle.StatusCat = SaxJournalistArticle.StatusCat.Any;
|
||||
return GetJournalistArticleCount(prmJournalistArticle) == 1;
|
||||
SaxArticle.Params prmArticle = new SaxArticle.Params();
|
||||
prmArticle.IdsIncluded.Add(id);
|
||||
prmArticle.StatusCat = SaxArticle.StatusCat.Any;
|
||||
return GetArticleCount(prmArticle) == 1;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Retrieve individual items.
|
||||
public abstract SaxJournalistArticle GetJournalistArticle(SaxJournalistArticle.Params prmJournalistArticle);
|
||||
public SaxJournalistArticle GetJournalistArticleById(SysId id)
|
||||
public abstract SaxArticle GetArticle(SaxArticle.Params prmArticle);
|
||||
public SaxArticle GetArticleById(SysId id)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(id)) return null;
|
||||
SaxJournalistArticle.Params prmJournalistArticle = new SaxJournalistArticle.Params();
|
||||
prmJournalistArticle.IdsIncluded.Add(id);
|
||||
prmJournalistArticle.StatusCat = SaxJournalistArticle.StatusCat.Any;
|
||||
return GetJournalistArticle(prmJournalistArticle);
|
||||
SaxArticle.Params prmArticle = new SaxArticle.Params();
|
||||
prmArticle.IdsIncluded.Add(id);
|
||||
prmArticle.StatusCat = SaxArticle.StatusCat.Any;
|
||||
return GetArticle(prmArticle);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate item data.
|
||||
public bool IsValidJournalistArticle(SaxJournalistArticle journalistArticle)
|
||||
public bool IsValidArticle(SaxArticle article)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (journalistArticle == null) return SetErrorState(ErrorMessage.ItemNotSpecified);
|
||||
return IsValidJournalistArticleData(journalistArticle.GetData(), new SaxJournalistArticle.ErrField());
|
||||
if (article == null) return SetErrorState(ErrorMessage.ItemNotSpecified);
|
||||
return IsValidArticleData(article.GetData(), new SaxArticle.ErrField());
|
||||
}
|
||||
public virtual bool IsValidJournalistArticleData(SaxJournalistArticle.Data data, SaxJournalistArticle.ErrField errField)
|
||||
public virtual bool IsValidArticleData(SaxArticle.Data data, SaxArticle.ErrField errField)
|
||||
{
|
||||
ClearErrorState();
|
||||
|
||||
// User Account - Journalist.
|
||||
if (errField.UserAccountIdJournalist != SacsHierarchyItem.ValidValue.Ignore && !SysId.IsValid(data.UserAccountIdJournalist))
|
||||
// User Account - Author.
|
||||
if (errField.UserAccountIdAuthor != SacsHierarchyItem.ValidValue.Ignore && !SysId.IsValid(data.UserAccountIdAuthor))
|
||||
{
|
||||
errField.UserAccountIdJournalist = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("User must be specified");
|
||||
errField.UserAccountIdAuthor = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("Author must be specified");
|
||||
}
|
||||
// Primary Sport.
|
||||
if (errField.SportIdPrimary != SacsHierarchyItem.ValidValue.Ignore && !SysId.IsValid(data.SportIdPrimary))
|
||||
@@ -80,32 +80,32 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
}
|
||||
|
||||
// Headline.
|
||||
if (errField.Headline != SacsHierarchyItem.ValidValue.Ignore && !IsValidValue(data.Headline, "headline", (long)SaxDbDfn_Core.GetColTextLen(SaxDbDfn_Core.ColumnIdx.JournalistArticle_Headline), true))
|
||||
if (errField.Headline != SacsHierarchyItem.ValidValue.Ignore && !IsValidValue(data.Headline, "headline", (long)SaxDbDfn_Core.GetColTextLen(SaxDbDfn_Core.ColumnIdx.Article_Headline), true))
|
||||
{
|
||||
errField.Headline = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return false;
|
||||
}
|
||||
// Summary.
|
||||
if (errField.Summary != SacsHierarchyItem.ValidValue.Ignore && !IsValidValue(data.Summary, "summary", (long)SaxDbDfn_Core.GetColTextLen(SaxDbDfn_Core.ColumnIdx.JournalistArticle_Summary), true))
|
||||
if (errField.Summary != SacsHierarchyItem.ValidValue.Ignore && !IsValidValue(data.Summary, "summary", (long)SaxDbDfn_Core.GetColTextLen(SaxDbDfn_Core.ColumnIdx.Article_Summary), true))
|
||||
{
|
||||
errField.Summary = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return false;
|
||||
}
|
||||
|
||||
// Common properties.
|
||||
if (errField.Notes != SacsHierarchyItem.ValidValue.Ignore && !IsValidValue(data.Notes, "notes", (long)SaxDbDfn_Core.GetColTextLen(SaxDbDfn_Core.ColumnIdx.JournalistArticle_Notes)))
|
||||
if (errField.Notes != SacsHierarchyItem.ValidValue.Ignore && !IsValidValue(data.Notes, "notes", (long)SaxDbDfn_Core.GetColTextLen(SaxDbDfn_Core.ColumnIdx.Article_Notes)))
|
||||
{
|
||||
errField.Notes = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return false;
|
||||
}
|
||||
if (errField.Status != SacsHierarchyItem.ValidValue.Ignore)
|
||||
{
|
||||
if (!IsValidValue(data.StatusCode, "status", (long)SaxDbDfn_Core.GetColTextLen(SaxDbDfn_Core.ColumnIdx.JournalistArticle_Status), true, true))
|
||||
if (!IsValidValue(data.StatusCode, "status", (long)SaxDbDfn_Core.GetColTextLen(SaxDbDfn_Core.ColumnIdx.Article_Status), true, true))
|
||||
{
|
||||
errField.Status = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return false;
|
||||
}
|
||||
if (!SaxJournalistArticle.ValidStatuses.Contains(data.Status))
|
||||
if (!SaxArticle.ValidStatuses.Contains(data.Status))
|
||||
{
|
||||
errField.Status = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState(ErrorMessage.InvalidStatus);
|
||||
@@ -117,17 +117,41 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
if (!data.IsStatusDeleted)
|
||||
{
|
||||
|
||||
// User Account - Journalist.
|
||||
if (errField.UserAccountIdJournalist != SacsHierarchyItem.ValidValue.Ignore && SysId.IsValid(data.UserAccountIdJournalist))
|
||||
// User Account - Author.
|
||||
if (errField.UserAccountIdAuthor != SacsHierarchyItem.ValidValue.Ignore && SysId.IsValid(data.UserAccountIdAuthor))
|
||||
{
|
||||
SaxUserAccount.Params prmUserAccount = new SaxUserAccount.Params();
|
||||
prmUserAccount.IdsIncluded.Add(data.UserAccountIdJournalist);
|
||||
prmUserAccount.ActiveRoles.Add(App.Sax.UserRole.Journalist);
|
||||
prmUserAccount.StatusCat = SaxUserAccount.StatusCat.NotDeleted;
|
||||
if (AccountMgr.GetUserAccountCount(prmUserAccount) < 1)
|
||||
if (SysId.IsValid(data.OrganisationId))
|
||||
{
|
||||
errField.UserAccountIdJournalist = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("User must be active Journalist");
|
||||
// Validate user.
|
||||
if (!AccountMgr.UserAccountExistsById(data.UserAccountIdAuthor))
|
||||
{
|
||||
errField.UserAccountIdAuthor = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("Invalid Author specified");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Organisation not specified - user must be a journalist.
|
||||
SaxUserAccount.Params prmUserAccount = new SaxUserAccount.Params();
|
||||
prmUserAccount.IdsIncluded.Add(data.UserAccountIdAuthor);
|
||||
prmUserAccount.ActiveRoles.Add(App.Sax.UserRole.Journalist);
|
||||
prmUserAccount.StatusCat = SaxUserAccount.StatusCat.NotDeleted;
|
||||
if (AccountMgr.GetUserAccountCount(prmUserAccount) < 1)
|
||||
{
|
||||
errField.UserAccountIdAuthor = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("User must be active Journalist");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Organisation.
|
||||
if (errField.OrganisationId != SacsHierarchyItem.ValidValue.Ignore && SysId.IsValid(data.OrganisationId))
|
||||
{
|
||||
// Validate organisation.
|
||||
if (!AccountMgr.OrganisationExistsById(data.OrganisationId))
|
||||
{
|
||||
errField.OrganisationId = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("Invalid Organisation specified");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,48 +187,48 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// JournalistArticle database interface.
|
||||
public abstract bool InsertJournalistArticle(SaxJournalistArticle journalistArticle, DbUpdateInfo dbUpdateInfo);
|
||||
public abstract bool UpdateJournalistArticle(SaxJournalistArticle journalistArticle, DbUpdateInfo dbUpdateInfo);
|
||||
public virtual bool JournalistArticleCanBeDeleted(SaxJournalistArticle journalistArticle)
|
||||
// Article database interface.
|
||||
public abstract bool InsertArticle(SaxArticle article, DbUpdateInfo dbUpdateInfo);
|
||||
public abstract bool UpdateArticle(SaxArticle article, DbUpdateInfo dbUpdateInfo);
|
||||
public virtual bool ArticleCanBeDeleted(SaxArticle article)
|
||||
{
|
||||
ClearErrorState();
|
||||
return true;
|
||||
}
|
||||
public abstract bool DeleteJournalistArticle(SaxJournalistArticle journalistArticle, DbUpdateInfo dbUpdateInfo);
|
||||
public abstract bool DeleteArticle(SaxArticle article, DbUpdateInfo dbUpdateInfo);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// JournalistArticle list:
|
||||
public abstract ColumnDfn GetJournalistArticleColumnDfn(SaxJournalistArticle.Column columnId, String caption = "", int width = 0);
|
||||
public abstract List<String> GetJournalistArticleQueryFilter(SaxJournalistArticle.Params prmJournalistArticle);
|
||||
public abstract long GetJournalistArticleCount(SaxJournalistArticle.Params prmJournalistArticle);
|
||||
public abstract List<SaxJournalistArticle> GetJournalistArticleList(SaxJournalistArticle.Params prmJournalistArticle);
|
||||
public abstract DbResultSet ExecuteJournalistArticleQuery(List<ColumnDfn> columns, SaxJournalistArticle.Params prmJournalistArticle);
|
||||
// Article list:
|
||||
public abstract ColumnDfn GetArticleColumnDfn(SaxArticle.Column columnId, String caption = "", int width = 0);
|
||||
public abstract List<String> GetArticleQueryFilter(SaxArticle.Params prmArticle);
|
||||
public abstract long GetArticleCount(SaxArticle.Params prmArticle);
|
||||
public abstract List<SaxArticle> GetArticleList(SaxArticle.Params prmArticle);
|
||||
public abstract DbResultSet ExecuteArticleQuery(List<ColumnDfn> columns, SaxArticle.Params prmArticle);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Extract and format result set data value where specific handling is required.
|
||||
/// <para>Where response is an invalid data value, format value using column.FormatValue(values).</para>
|
||||
/// </summary>
|
||||
public virtual DataValue GetJournalistArticleDataValue(ColumnDfn column, NamedValue.Map values)
|
||||
public virtual DataValue GetArticleDataValue(ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SaxJournalistArticle.Column)column.Id)
|
||||
switch ((SaxArticle.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// Journalist display name.
|
||||
case SaxJournalistArticle.Column.Journalist_DisplayName:
|
||||
// Author display name.
|
||||
case SaxArticle.Column.Author_DisplayName:
|
||||
{
|
||||
String userTitle = values.GetValue(GetJournalistArticleColumnDfn(SaxJournalistArticle.Column.Journalist_Title).DataName).ToString();
|
||||
String userFirstName = values.GetValue(GetJournalistArticleColumnDfn(SaxJournalistArticle.Column.Journalist_FirstName).DataName).ToString();
|
||||
String userLastName = values.GetValue(GetJournalistArticleColumnDfn(SaxJournalistArticle.Column.Journalist_LastName).DataName).ToString();
|
||||
String userTitle = values.GetValue(GetArticleColumnDfn(SaxArticle.Column.Author_Title).DataName).ToString();
|
||||
String userFirstName = values.GetValue(GetArticleColumnDfn(SaxArticle.Column.Author_FirstName).DataName).ToString();
|
||||
String userLastName = values.GetValue(GetArticleColumnDfn(SaxArticle.Column.Author_LastName).DataName).ToString();
|
||||
value = new DataValue(SaxUserAccount.GetDisplayName(userTitle, userFirstName, userLastName));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Summary - limit to 200 chars.
|
||||
case SaxJournalistArticle.Column.Summary:
|
||||
case SaxArticle.Column.Summary:
|
||||
{
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
}
|
||||
@@ -212,7 +236,7 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes - limit to 200 chars.
|
||||
case SaxJournalistArticle.Column.Notes:
|
||||
case SaxArticle.Column.Notes:
|
||||
{
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
}
|
||||
@@ -220,15 +244,15 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SaxJournalistArticle.Column.Status_Desc:
|
||||
case SaxJournalistArticle.Column.Status_Ind:
|
||||
case SaxArticle.Column.Status_Desc:
|
||||
case SaxArticle.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SaxJournalistArticle.Column.Status_Desc)
|
||||
if (column.Id == (int)SaxArticle.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SaxJournalistArticle.Column.Status_Ind)
|
||||
value = new DataValue(SaxJournalistArticle.GetStatusTriState(status));
|
||||
else if (column.Id == (int)SaxArticle.Column.Status_Ind)
|
||||
value = new DataValue(SaxArticle.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user