v1.2.5
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.2.4.4";
|
||||
private static String version { get; } = "1.2.5.0";
|
||||
// Retrieve version.
|
||||
public static String GetFullVersion () { return version; }
|
||||
public static String GetAppVersion ()
|
||||
@@ -31,7 +31,7 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
String[] versionElements = version.Split('.');
|
||||
return String.Join(".", versionElements.Take(3));
|
||||
}
|
||||
catch (Exception exc) { SaLogger.Warn("Sax.Version.ToString " + ExceptionUtil.GetErrorStateMessage(exc)); }
|
||||
catch (Exception exc) { SaLogger.Warn("Sax.Version.GetAppVersion " + ExceptionUtil.GetErrorStateMessage(exc)); }
|
||||
}
|
||||
return version;
|
||||
}
|
||||
@@ -40,6 +40,9 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
//-------------------------------------------------------------------
|
||||
// Version history.
|
||||
//-------------------------------------------------------------------
|
||||
// 1.2.5 20-Apr-2022 Article feedback
|
||||
// - Online Activity/Article feedback 5 stars, summary on Article list/popup.
|
||||
// - Admin - User - Sports listed.
|
||||
// 1.2.4 3-Mar-2022 View own articles.
|
||||
// - Online Home page lists own articlesregardless of sport/region.
|
||||
// - Admin System Database Table info.
|
||||
|
||||
@@ -284,9 +284,11 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
{
|
||||
Unknown = 0,
|
||||
/* Do not change the values or codes - tied to database. */
|
||||
Good = 400,
|
||||
VeryGood = 600,
|
||||
Exceptional = 800,
|
||||
OK = 1,
|
||||
Good = 2,
|
||||
VeryGood = 3,
|
||||
Outstanding = 4,
|
||||
Exceptional = 5,
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 7-Mar-2022 10:06:56
|
||||
// Code generated by Sarand Database Utilities Mon 11-Apr-2022 17:51:44
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Saxonite.Base.App
|
||||
{
|
||||
@@ -17,6 +17,7 @@ namespace Saxonite.Base.App
|
||||
public enum TableIdx
|
||||
{
|
||||
Unknown = 0,
|
||||
ActivityFeedback,
|
||||
ActivityIndex,
|
||||
Article,
|
||||
ItemAddress,
|
||||
@@ -42,6 +43,14 @@ namespace Saxonite.Base.App
|
||||
public enum ColumnIdx
|
||||
{
|
||||
Unknown = 0,
|
||||
ActivityFeedback_ItemType,
|
||||
ActivityFeedback_ItemId,
|
||||
ActivityFeedback_ViewCount,
|
||||
ActivityFeedback_FeedbackCount,
|
||||
ActivityFeedback_FeedbackTotal,
|
||||
ActivityFeedback_FeedbackAverage,
|
||||
ActivityFeedback_CreateOn,
|
||||
ActivityFeedback_UpdateOn,
|
||||
ActivityIndex_ItemType,
|
||||
ActivityIndex_ItemId,
|
||||
ActivityIndex_SportId,
|
||||
@@ -367,8 +376,8 @@ namespace Saxonite.Base.App
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private static readonly int tableCount = 18;
|
||||
private static readonly int columnCount = 321;
|
||||
private static readonly int tableCount = 19;
|
||||
private static readonly int columnCount = 329;
|
||||
private static ulong maxTextLen = 0;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -514,6 +523,7 @@ namespace Saxonite.Base.App
|
||||
// Table definitions.
|
||||
private static readonly String[] tables =
|
||||
{
|
||||
"ActivityFeedback",
|
||||
"ActivityIndex",
|
||||
"Article",
|
||||
"ItemAddress",
|
||||
@@ -560,30 +570,20 @@ namespace Saxonite.Base.App
|
||||
{
|
||||
new ColumnDfn(1,"ItemType",3,5,false,5),
|
||||
new ColumnDfn(1,"ItemId",5,-5,false,19),
|
||||
new ColumnDfn(1,"SportId",4,4,false,10),
|
||||
new ColumnDfn(1,"RegionId",4,4,false,10),
|
||||
new ColumnDfn(1,"UserAccountIdOwner",4,4,false,10),
|
||||
new ColumnDfn(1,"OrganisationIdOwner",4,4,false,10),
|
||||
new ColumnDfn(1,"EffectiveOn",9,93,false,16),
|
||||
new ColumnDfn(1,"ExpiresOn",9,93,false,16),
|
||||
new ColumnDfn(1,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(1,"Flags",3,5,false,5),
|
||||
new ColumnDfn(1,"Status",0,12,false,3),
|
||||
new ColumnDfn(1,"ViewCount",5,-5,false,19),
|
||||
new ColumnDfn(1,"FeedbackCount",5,-5,false,19),
|
||||
new ColumnDfn(1,"FeedbackTotal",5,-5,false,19),
|
||||
new ColumnDfn(1,"FeedbackAverage",8,3,false,9),
|
||||
new ColumnDfn(1,"CreateOn",9,93,false,23),
|
||||
new ColumnDfn(1,"CreateBy",4,4,false,10),
|
||||
new ColumnDfn(1,"CreateHost",0,12,false,100),
|
||||
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",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,"ItemType",3,5,false,5),
|
||||
new ColumnDfn(2,"ItemId",5,-5,false,19),
|
||||
new ColumnDfn(2,"SportId",4,4,false,10),
|
||||
new ColumnDfn(2,"RegionId",4,4,false,10),
|
||||
new ColumnDfn(2,"UserAccountIdOwner",4,4,false,10),
|
||||
new ColumnDfn(2,"OrganisationIdOwner",4,4,false,10),
|
||||
new ColumnDfn(2,"EffectiveOn",9,93,false,16),
|
||||
new ColumnDfn(2,"ExpiresOn",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,12,false,3),
|
||||
@@ -593,32 +593,18 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(2,"UpdateOn",9,93,false,23),
|
||||
new ColumnDfn(2,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(2,"UpdateHost",0,12,false,100),
|
||||
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,"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,"Id",4,4,true,10),
|
||||
new ColumnDfn(3,"UserAccountIdAuthor",4,4,false,10),
|
||||
new ColumnDfn(3,"OrganisationId",4,4,false,10),
|
||||
new ColumnDfn(3,"SportIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(3,"RegionIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(3,"Headline",0,-9,false,200),
|
||||
new ColumnDfn(3,"Summary",0,-9,false,2000),
|
||||
new ColumnDfn(3,"BodyData",0,-9,false,0),
|
||||
new ColumnDfn(3,"PublishedAt",9,93,false,16),
|
||||
new ColumnDfn(3,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(3,"Flags",3,5,false,5),
|
||||
new ColumnDfn(3,"Status",0,1,false,3),
|
||||
new ColumnDfn(3,"Status",0,12,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),
|
||||
@@ -628,30 +614,48 @@ namespace Saxonite.Base.App
|
||||
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,"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,"AddressType",3,5,false,5),
|
||||
new ColumnDfn(4,"Caption",0,-9,false,200),
|
||||
new ColumnDfn(4,"Line1",0,-9,false,200),
|
||||
new ColumnDfn(4,"Line2",0,-9,false,200),
|
||||
new ColumnDfn(4,"Line3",0,-9,false,200),
|
||||
new ColumnDfn(4,"Town",0,-9,false,100),
|
||||
new ColumnDfn(4,"Province",0,-9,false,100),
|
||||
new ColumnDfn(4,"RegionIdProvince",4,4,false,10),
|
||||
new ColumnDfn(4,"Country",0,-9,false,100),
|
||||
new ColumnDfn(4,"RegionIdCountry",4,4,false,10),
|
||||
new ColumnDfn(4,"PostalCode",0,-9,false,32),
|
||||
new ColumnDfn(4,"PhoneMain",0,-9,false,100),
|
||||
new ColumnDfn(4,"LocationSource",0,12,false,100),
|
||||
new ColumnDfn(4,"LocationStoredAt",9,93,false,16),
|
||||
new ColumnDfn(4,"LocationUpdateRequired",1,-7,false,1),
|
||||
new ColumnDfn(4,"LocationData",0,-9,false,4000),
|
||||
new ColumnDfn(4,"LocationFormattedAddress",0,-9,false,4000),
|
||||
new ColumnDfn(4,"LocationLatitude",8,3,false,9),
|
||||
new ColumnDfn(4,"LocationLongitude",8,3,false,9),
|
||||
new ColumnDfn(4,"LocationAltitude",8,3,false,9),
|
||||
new ColumnDfn(4,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(4,"Flags",3,5,false,5),
|
||||
new ColumnDfn(4,"Status",0,12,false,3),
|
||||
new ColumnDfn(4,"Status",0,1,false,3),
|
||||
new ColumnDfn(4,"CreateOn",9,93,false,23),
|
||||
new ColumnDfn(4,"CreateBy",4,4,false,10),
|
||||
new ColumnDfn(4,"CreateHost",0,12,false,100),
|
||||
new ColumnDfn(4,"UpdateOn",9,93,false,23),
|
||||
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,"Id",5,-5,true,19),
|
||||
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,"ImageType",3,5,false,5),
|
||||
new ColumnDfn(5,"ImageSeq",2,-6,false,3),
|
||||
new ColumnDfn(5,"SessionUid",5,-5,false,19),
|
||||
new ColumnDfn(5,"ImageUid",4,4,false,10),
|
||||
new ColumnDfn(5,"Filename",0,-9,false,1024),
|
||||
new ColumnDfn(5,"Mime",0,12,false,64),
|
||||
new ColumnDfn(5,"ContentType",0,12,false,128),
|
||||
new ColumnDfn(5,"Width",4,4,false,10),
|
||||
new ColumnDfn(5,"Height",4,4,false,10),
|
||||
new ColumnDfn(5,"ImageData",10,-3,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),
|
||||
@@ -662,14 +666,10 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(5,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(5,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(6,"Id",4,4,true,10),
|
||||
new ColumnDfn(6,"Name",0,-9,false,100),
|
||||
new ColumnDfn(6,"OrganisationType",0,12,false,3),
|
||||
new ColumnDfn(6,"OrganisationCategory",0,12,false,3),
|
||||
new ColumnDfn(6,"SportIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(6,"RegionIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(6,"CountryIso2Code",0,12,false,2),
|
||||
new ColumnDfn(6,"PhoneMain",0,-9,false,50),
|
||||
new ColumnDfn(6,"PhoneAlt",0,-9,false,50),
|
||||
new ColumnDfn(6,"ItemType",3,5,false,5),
|
||||
new ColumnDfn(6,"ItemId",4,4,false,10),
|
||||
new ColumnDfn(6,"SportId",4,4,false,10),
|
||||
new ColumnDfn(6,"ItemSportData",0,-9,false,0),
|
||||
new ColumnDfn(6,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(6,"Flags",3,5,false,5),
|
||||
new ColumnDfn(6,"Status",0,12,false,3),
|
||||
@@ -680,16 +680,14 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(6,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(6,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(7,"Id",4,4,true,10),
|
||||
new ColumnDfn(7,"OrganisationId",4,4,false,10),
|
||||
new ColumnDfn(7,"Name",0,-9,false,100),
|
||||
new ColumnDfn(7,"OrganisationType",0,12,false,3),
|
||||
new ColumnDfn(7,"OrganisationCategory",0,12,false,3),
|
||||
new ColumnDfn(7,"SportIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(7,"RegionIdCountry",4,4,false,10),
|
||||
new ColumnDfn(7,"EventAt",9,93,false,16),
|
||||
new ColumnDfn(7,"EventTypeCode",0,12,false,3),
|
||||
new ColumnDfn(7,"Summary",0,-9,false,200),
|
||||
new ColumnDfn(7,"Details",0,-9,false,2000),
|
||||
new ColumnDfn(7,"EventData",0,-9,false,0),
|
||||
new ColumnDfn(7,"PublishedAt",9,93,false,16),
|
||||
new ColumnDfn(7,"ExpiresAt",9,93,false,16),
|
||||
new ColumnDfn(7,"RegionIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(7,"CountryIso2Code",0,12,false,2),
|
||||
new ColumnDfn(7,"PhoneMain",0,-9,false,50),
|
||||
new ColumnDfn(7,"PhoneAlt",0,-9,false,50),
|
||||
new ColumnDfn(7,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(7,"Flags",3,5,false,5),
|
||||
new ColumnDfn(7,"Status",0,12,false,3),
|
||||
@@ -702,11 +700,12 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(8,"Id",4,4,true,10),
|
||||
new ColumnDfn(8,"OrganisationId",4,4,false,10),
|
||||
new ColumnDfn(8,"SportIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(8,"RegionIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(8,"OpportunityTypeCode",0,12,false,3),
|
||||
new ColumnDfn(8,"Position",0,-9,false,200),
|
||||
new ColumnDfn(8,"Outline",0,-9,false,2000),
|
||||
new ColumnDfn(8,"OpportunityData",0,-9,false,0),
|
||||
new ColumnDfn(8,"RegionIdCountry",4,4,false,10),
|
||||
new ColumnDfn(8,"EventAt",9,93,false,16),
|
||||
new ColumnDfn(8,"EventTypeCode",0,12,false,3),
|
||||
new ColumnDfn(8,"Summary",0,-9,false,200),
|
||||
new ColumnDfn(8,"Details",0,-9,false,2000),
|
||||
new ColumnDfn(8,"EventData",0,-9,false,0),
|
||||
new ColumnDfn(8,"PublishedAt",9,93,false,16),
|
||||
new ColumnDfn(8,"ExpiresAt",9,93,false,16),
|
||||
new ColumnDfn(8,"Notes",0,-9,false,2000),
|
||||
@@ -719,12 +718,15 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(8,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(8,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(9,"Id",4,4,true,10),
|
||||
new ColumnDfn(9,"RegionType",3,5,false,5),
|
||||
new ColumnDfn(9,"CountryIso2Code",0,12,false,2),
|
||||
new ColumnDfn(9,"Name",0,-9,false,100),
|
||||
new ColumnDfn(9,"Latitude",8,3,false,9),
|
||||
new ColumnDfn(9,"Longitude",8,3,false,9),
|
||||
new ColumnDfn(9,"RegionIdParent",4,4,false,10),
|
||||
new ColumnDfn(9,"OrganisationId",4,4,false,10),
|
||||
new ColumnDfn(9,"SportIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(9,"RegionIdPrimary",4,4,false,10),
|
||||
new ColumnDfn(9,"OpportunityTypeCode",0,12,false,3),
|
||||
new ColumnDfn(9,"Position",0,-9,false,200),
|
||||
new ColumnDfn(9,"Outline",0,-9,false,2000),
|
||||
new ColumnDfn(9,"OpportunityData",0,-9,false,0),
|
||||
new ColumnDfn(9,"PublishedAt",9,93,false,16),
|
||||
new ColumnDfn(9,"ExpiresAt",9,93,false,16),
|
||||
new ColumnDfn(9,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(9,"Flags",3,5,false,5),
|
||||
new ColumnDfn(9,"Status",0,12,false,3),
|
||||
@@ -735,9 +737,12 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(9,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(9,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(10,"Id",4,4,true,10),
|
||||
new ColumnDfn(10,"SportIdParent",4,4,false,10),
|
||||
new ColumnDfn(10,"RegionType",3,5,false,5),
|
||||
new ColumnDfn(10,"CountryIso2Code",0,12,false,2),
|
||||
new ColumnDfn(10,"Name",0,-9,false,100),
|
||||
new ColumnDfn(10,"SpecialityLabel",3,5,false,5),
|
||||
new ColumnDfn(10,"Latitude",8,3,false,9),
|
||||
new ColumnDfn(10,"Longitude",8,3,false,9),
|
||||
new ColumnDfn(10,"RegionIdParent",4,4,false,10),
|
||||
new ColumnDfn(10,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(10,"Flags",3,5,false,5),
|
||||
new ColumnDfn(10,"Status",0,12,false,3),
|
||||
@@ -748,29 +753,9 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(10,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(10,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(11,"Id",4,4,true,10),
|
||||
new ColumnDfn(11,"EmailAddress",0,-9,false,200),
|
||||
new ColumnDfn(11,"Title",0,-9,false,20),
|
||||
new ColumnDfn(11,"FirstName",0,-9,false,100),
|
||||
new ColumnDfn(11,"Initials",0,-9,false,10),
|
||||
new ColumnDfn(11,"LastName",0,-9,false,100),
|
||||
new ColumnDfn(11,"About",0,-9,false,2000),
|
||||
new ColumnDfn(11,"PhoneMain",0,-9,false,50),
|
||||
new ColumnDfn(11,"PhoneMobile",0,-9,false,50),
|
||||
new ColumnDfn(11,"PhoneAlt",0,-9,false,50),
|
||||
new ColumnDfn(11,"Gender",2,-6,false,3),
|
||||
new ColumnDfn(11,"DateOfBirthDay",2,-6,false,3),
|
||||
new ColumnDfn(11,"DateOfBirthMonth",2,-6,false,3),
|
||||
new ColumnDfn(11,"DateOfBirthYear",3,5,false,5),
|
||||
new ColumnDfn(11,"RegionIdCountry",4,4,false,10),
|
||||
new ColumnDfn(11,"RegionIdProvince",4,4,false,10),
|
||||
new ColumnDfn(11,"JournalistData",0,-9,false,0),
|
||||
new ColumnDfn(11,"PasswordToken",0,12,false,32),
|
||||
new ColumnDfn(11,"PasswordHashed",0,-9,false,100),
|
||||
new ColumnDfn(11,"PasswordHistory",0,-9,false,0),
|
||||
new ColumnDfn(11,"PasswordChangedAt",9,93,false,16),
|
||||
new ColumnDfn(11,"LastLoginAt",9,93,false,16),
|
||||
new ColumnDfn(11,"LastInvalidLoginAt",9,93,false,16),
|
||||
new ColumnDfn(11,"InvalidLoginCount",3,5,false,5),
|
||||
new ColumnDfn(11,"SportIdParent",4,4,false,10),
|
||||
new ColumnDfn(11,"Name",0,-9,false,100),
|
||||
new ColumnDfn(11,"SpecialityLabel",3,5,false,5),
|
||||
new ColumnDfn(11,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(11,"Flags",3,5,false,5),
|
||||
new ColumnDfn(11,"Status",0,12,false,3),
|
||||
@@ -780,19 +765,30 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(11,"UpdateOn",9,93,false,23),
|
||||
new ColumnDfn(11,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(11,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(12,"Id",5,-5,true,19),
|
||||
new ColumnDfn(12,"UserAccountId",4,4,false,10),
|
||||
new ColumnDfn(12,"ItemType",3,5,false,5),
|
||||
new ColumnDfn(12,"ItemId",5,-5,false,19),
|
||||
new ColumnDfn(12,"CurrentlyListed",1,-7,false,1),
|
||||
new ColumnDfn(12,"ListedAtFirst",9,93,false,16),
|
||||
new ColumnDfn(12,"ListedAtLast",9,93,false,16),
|
||||
new ColumnDfn(12,"ViewedAtFirst",9,93,false,16),
|
||||
new ColumnDfn(12,"ViewedAtLast",9,93,false,16),
|
||||
new ColumnDfn(12,"Reaction",3,5,false,5),
|
||||
new ColumnDfn(12,"ReactedAtFirst",9,93,false,16),
|
||||
new ColumnDfn(12,"ReactedAtLast",9,93,false,16),
|
||||
new ColumnDfn(12,"UserActivityData",0,-9,false,0),
|
||||
new ColumnDfn(12,"Id",4,4,true,10),
|
||||
new ColumnDfn(12,"EmailAddress",0,-9,false,200),
|
||||
new ColumnDfn(12,"Title",0,-9,false,20),
|
||||
new ColumnDfn(12,"FirstName",0,-9,false,100),
|
||||
new ColumnDfn(12,"Initials",0,-9,false,10),
|
||||
new ColumnDfn(12,"LastName",0,-9,false,100),
|
||||
new ColumnDfn(12,"About",0,-9,false,2000),
|
||||
new ColumnDfn(12,"PhoneMain",0,-9,false,50),
|
||||
new ColumnDfn(12,"PhoneMobile",0,-9,false,50),
|
||||
new ColumnDfn(12,"PhoneAlt",0,-9,false,50),
|
||||
new ColumnDfn(12,"Gender",2,-6,false,3),
|
||||
new ColumnDfn(12,"DateOfBirthDay",2,-6,false,3),
|
||||
new ColumnDfn(12,"DateOfBirthMonth",2,-6,false,3),
|
||||
new ColumnDfn(12,"DateOfBirthYear",3,5,false,5),
|
||||
new ColumnDfn(12,"RegionIdCountry",4,4,false,10),
|
||||
new ColumnDfn(12,"RegionIdProvince",4,4,false,10),
|
||||
new ColumnDfn(12,"JournalistData",0,-9,false,0),
|
||||
new ColumnDfn(12,"PasswordToken",0,12,false,32),
|
||||
new ColumnDfn(12,"PasswordHashed",0,-9,false,100),
|
||||
new ColumnDfn(12,"PasswordHistory",0,-9,false,0),
|
||||
new ColumnDfn(12,"PasswordChangedAt",9,93,false,16),
|
||||
new ColumnDfn(12,"LastLoginAt",9,93,false,16),
|
||||
new ColumnDfn(12,"LastInvalidLoginAt",9,93,false,16),
|
||||
new ColumnDfn(12,"InvalidLoginCount",3,5,false,5),
|
||||
new ColumnDfn(12,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(12,"Flags",3,5,false,5),
|
||||
new ColumnDfn(12,"Status",0,12,false,3),
|
||||
@@ -802,29 +798,36 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(12,"UpdateOn",9,93,false,23),
|
||||
new ColumnDfn(12,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(12,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(13,"Id",5,-5,true,19),
|
||||
new ColumnDfn(13,"UserAccountId",4,4,false,10),
|
||||
new ColumnDfn(13,"OnlineAt",9,93,false,16),
|
||||
new ColumnDfn(14,"Id",5,-5,true,19),
|
||||
new ColumnDfn(13,"ItemType",3,5,false,5),
|
||||
new ColumnDfn(13,"ItemId",5,-5,false,19),
|
||||
new ColumnDfn(13,"CurrentlyListed",1,-7,false,1),
|
||||
new ColumnDfn(13,"ListedAtFirst",9,93,false,16),
|
||||
new ColumnDfn(13,"ListedAtLast",9,93,false,16),
|
||||
new ColumnDfn(13,"ViewedAtFirst",9,93,false,16),
|
||||
new ColumnDfn(13,"ViewedAtLast",9,93,false,16),
|
||||
new ColumnDfn(13,"Reaction",3,5,false,5),
|
||||
new ColumnDfn(13,"ReactedAtFirst",9,93,false,16),
|
||||
new ColumnDfn(13,"ReactedAtLast",9,93,false,16),
|
||||
new ColumnDfn(13,"UserActivityData",0,-9,false,0),
|
||||
new ColumnDfn(13,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(13,"Flags",3,5,false,5),
|
||||
new ColumnDfn(13,"Status",0,12,false,3),
|
||||
new ColumnDfn(13,"CreateOn",9,93,false,23),
|
||||
new ColumnDfn(13,"CreateBy",4,4,false,10),
|
||||
new ColumnDfn(13,"CreateHost",0,12,false,100),
|
||||
new ColumnDfn(13,"UpdateOn",9,93,false,23),
|
||||
new ColumnDfn(13,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(13,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(14,"UserAccountId",4,4,false,10),
|
||||
new ColumnDfn(14,"OrganisationId",4,4,false,10),
|
||||
new ColumnDfn(14,"OrganisationRoleCodes",0,12,false,256),
|
||||
new ColumnDfn(14,"OrganisationRoleCount",2,-6,false,3),
|
||||
new ColumnDfn(14,"AdminComment",0,-9,false,2000),
|
||||
new ColumnDfn(14,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(14,"Flags",3,5,false,5),
|
||||
new ColumnDfn(14,"Status",0,12,false,3),
|
||||
new ColumnDfn(14,"CreateOn",9,93,false,23),
|
||||
new ColumnDfn(14,"CreateBy",4,4,false,10),
|
||||
new ColumnDfn(14,"CreateHost",0,12,false,100),
|
||||
new ColumnDfn(14,"UpdateOn",9,93,false,23),
|
||||
new ColumnDfn(14,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(14,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(14,"OnlineAt",9,93,false,16),
|
||||
new ColumnDfn(15,"Id",5,-5,true,19),
|
||||
new ColumnDfn(15,"UserAccountId",4,4,false,10),
|
||||
new ColumnDfn(15,"UserRoleCode",0,12,false,16),
|
||||
new ColumnDfn(15,"LastLoginAt",9,93,false,16),
|
||||
new ColumnDfn(15,"LastInvalidLoginAt",9,93,false,16),
|
||||
new ColumnDfn(15,"InvalidLoginCount",3,5,false,5),
|
||||
new ColumnDfn(15,"OrganisationId",4,4,false,10),
|
||||
new ColumnDfn(15,"OrganisationRoleCodes",0,12,false,256),
|
||||
new ColumnDfn(15,"OrganisationRoleCount",2,-6,false,3),
|
||||
new ColumnDfn(15,"AdminComment",0,-9,false,2000),
|
||||
new ColumnDfn(15,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(15,"Flags",3,5,false,5),
|
||||
new ColumnDfn(15,"Status",0,12,false,3),
|
||||
@@ -834,42 +837,34 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(15,"UpdateOn",9,93,false,23),
|
||||
new ColumnDfn(15,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(15,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(16,"Id",5,-5,true,19),
|
||||
new ColumnDfn(16,"UserAccountId",4,4,false,10),
|
||||
new ColumnDfn(16,"ActivityIndexIds",0,-9,false,0),
|
||||
new ColumnDfn(16,"UserSessionData",0,-9,false,0),
|
||||
new ColumnDfn(16,"UserRoleCode",0,12,false,16),
|
||||
new ColumnDfn(16,"LastLoginAt",9,93,false,16),
|
||||
new ColumnDfn(16,"LastInvalidLoginAt",9,93,false,16),
|
||||
new ColumnDfn(16,"InvalidLoginCount",3,5,false,5),
|
||||
new ColumnDfn(16,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(16,"Flags",3,5,false,5),
|
||||
new ColumnDfn(16,"Status",0,12,false,3),
|
||||
new ColumnDfn(16,"CreateOn",9,93,false,23),
|
||||
new ColumnDfn(16,"CreateBy",4,4,false,10),
|
||||
new ColumnDfn(16,"CreateHost",0,12,false,100),
|
||||
new ColumnDfn(16,"UpdateOn",9,93,false,23),
|
||||
new ColumnDfn(17,"Id",5,-5,true,19),
|
||||
new ColumnDfn(16,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(16,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(17,"UserAccountId",4,4,false,10),
|
||||
new ColumnDfn(17,"SportId",4,4,false,10),
|
||||
new ColumnDfn(17,"About",0,-9,false,2000),
|
||||
new ColumnDfn(17,"Participation",3,5,false,5),
|
||||
new ColumnDfn(17,"Officiating",3,5,false,5),
|
||||
new ColumnDfn(17,"UserSportData",0,-9,false,0),
|
||||
new ColumnDfn(17,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(17,"ActivityIndexIds",0,-9,false,0),
|
||||
new ColumnDfn(17,"UserSessionData",0,-9,false,0),
|
||||
new ColumnDfn(17,"Flags",3,5,false,5),
|
||||
new ColumnDfn(17,"Status",0,12,false,3),
|
||||
new ColumnDfn(17,"CreateOn",9,93,false,23),
|
||||
new ColumnDfn(17,"CreateBy",4,4,false,10),
|
||||
new ColumnDfn(17,"CreateHost",0,12,false,100),
|
||||
new ColumnDfn(17,"UpdateOn",9,93,false,23),
|
||||
new ColumnDfn(17,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(17,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(18,"Id",5,-5,true,19),
|
||||
new ColumnDfn(18,"UserSportId",5,-5,false,19),
|
||||
new ColumnDfn(18,"PeriodFrom",9,93,false,16),
|
||||
new ColumnDfn(18,"PeriodTo",9,93,false,16),
|
||||
new ColumnDfn(18,"OrganisationId",4,4,false,10),
|
||||
new ColumnDfn(18,"OrganisationName",0,-9,false,200),
|
||||
new ColumnDfn(18,"Summary",0,-9,false,2000),
|
||||
new ColumnDfn(18,"Team",0,-9,false,64),
|
||||
new ColumnDfn(18,"League",0,-9,false,64),
|
||||
new ColumnDfn(18,"Speciality",0,-9,false,64),
|
||||
new ColumnDfn(18,"SpecialitiesOther",0,-9,false,1000),
|
||||
new ColumnDfn(18,"RegionIdNation",4,4,false,10),
|
||||
new ColumnDfn(18,"RegionIdProvince",4,4,false,10),
|
||||
new ColumnDfn(18,"UserSportExperienceData",0,-9,false,0),
|
||||
new ColumnDfn(18,"UserAccountId",4,4,false,10),
|
||||
new ColumnDfn(18,"SportId",4,4,false,10),
|
||||
new ColumnDfn(18,"About",0,-9,false,2000),
|
||||
new ColumnDfn(18,"Participation",3,5,false,5),
|
||||
new ColumnDfn(18,"Officiating",3,5,false,5),
|
||||
new ColumnDfn(18,"UserSportData",0,-9,false,0),
|
||||
new ColumnDfn(18,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(18,"Flags",3,5,false,5),
|
||||
new ColumnDfn(18,"Status",0,12,false,3),
|
||||
@@ -879,6 +874,29 @@ namespace Saxonite.Base.App
|
||||
new ColumnDfn(18,"UpdateOn",9,93,false,23),
|
||||
new ColumnDfn(18,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(18,"UpdateHost",0,12,false,100),
|
||||
new ColumnDfn(19,"Id",5,-5,true,19),
|
||||
new ColumnDfn(19,"UserSportId",5,-5,false,19),
|
||||
new ColumnDfn(19,"PeriodFrom",9,93,false,16),
|
||||
new ColumnDfn(19,"PeriodTo",9,93,false,16),
|
||||
new ColumnDfn(19,"OrganisationId",4,4,false,10),
|
||||
new ColumnDfn(19,"OrganisationName",0,-9,false,200),
|
||||
new ColumnDfn(19,"Summary",0,-9,false,2000),
|
||||
new ColumnDfn(19,"Team",0,-9,false,64),
|
||||
new ColumnDfn(19,"League",0,-9,false,64),
|
||||
new ColumnDfn(19,"Speciality",0,-9,false,64),
|
||||
new ColumnDfn(19,"SpecialitiesOther",0,-9,false,1000),
|
||||
new ColumnDfn(19,"RegionIdNation",4,4,false,10),
|
||||
new ColumnDfn(19,"RegionIdProvince",4,4,false,10),
|
||||
new ColumnDfn(19,"UserSportExperienceData",0,-9,false,0),
|
||||
new ColumnDfn(19,"Notes",0,-9,false,2000),
|
||||
new ColumnDfn(19,"Flags",3,5,false,5),
|
||||
new ColumnDfn(19,"Status",0,12,false,3),
|
||||
new ColumnDfn(19,"CreateOn",9,93,false,23),
|
||||
new ColumnDfn(19,"CreateBy",4,4,false,10),
|
||||
new ColumnDfn(19,"CreateHost",0,12,false,100),
|
||||
new ColumnDfn(19,"UpdateOn",9,93,false,23),
|
||||
new ColumnDfn(19,"UpdateBy",4,4,false,10),
|
||||
new ColumnDfn(19,"UpdateHost",0,12,false,100),
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
@@ -0,0 +1,212 @@
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Saxonite.Net.Standard.Base.App;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Saxonite.Net.Standard.Base.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
// ActivityIndex.
|
||||
//=======================================================================
|
||||
public abstract class SaxActivityFeedback : SacsHierarchyItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Columns.
|
||||
public enum Column
|
||||
{
|
||||
Pos,
|
||||
// Item.
|
||||
ItemType,
|
||||
ItemType_Code,
|
||||
ItemType_Desc,
|
||||
ItemId,
|
||||
// Feedback.
|
||||
ViewCount,
|
||||
FeedbackCount,
|
||||
FeedbackTotal,
|
||||
FeedbackAverage,
|
||||
// Common.
|
||||
CreateOn_Date,
|
||||
UpdateOn_Date,
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
/// <summary>Properties other than common.</summary>
|
||||
public class DataProperties
|
||||
{
|
||||
public ItemId ItemId { get; set; } = new ItemId();
|
||||
public long ViewCount { get; set; }
|
||||
public long FeedbackCount { get; set; }
|
||||
public long FeedbackTotal { get; set; }
|
||||
public decimal FeedbackAverage { get; set; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data.
|
||||
public new class Data : SacsHierarchyItem.Data
|
||||
{
|
||||
// Data members.
|
||||
private readonly DataProperties data = new DataProperties();
|
||||
// Construction.
|
||||
public Data() { }
|
||||
// Properties.
|
||||
public ItemId ItemId
|
||||
{
|
||||
get { return data.ItemId; }
|
||||
set { CheckChanged(data.ItemId, value); data.ItemId = value; }
|
||||
}
|
||||
public long ViewCount
|
||||
{
|
||||
get { return data.ViewCount; }
|
||||
set { CheckChanged(data.ViewCount, value); data.ViewCount = value; }
|
||||
}
|
||||
public long FeedbackCount
|
||||
{
|
||||
get { return data.FeedbackCount; }
|
||||
set { CheckChanged(data.FeedbackCount, value); data.FeedbackCount = value; }
|
||||
}
|
||||
public long FeedbackTotal
|
||||
{
|
||||
get { return data.FeedbackTotal; }
|
||||
set { CheckChanged(data.FeedbackTotal, value); data.FeedbackTotal = value; }
|
||||
}
|
||||
public decimal FeedbackAverage
|
||||
{
|
||||
get { return data.FeedbackAverage; }
|
||||
set { CheckChanged(data.FeedbackAverage, value); data.FeedbackAverage = value; }
|
||||
}
|
||||
// Population.
|
||||
internal void PopulateFrom(Data data)
|
||||
{
|
||||
ItemId = data.ItemId;
|
||||
ViewCount = data.ViewCount;
|
||||
FeedbackCount = data.FeedbackCount;
|
||||
FeedbackTotal = data.FeedbackTotal;
|
||||
FeedbackAverage = data.FeedbackAverage;
|
||||
base.PopulateFrom(data);
|
||||
}
|
||||
public Data Clone()
|
||||
{
|
||||
Data data = new Data();
|
||||
data.PopulateFrom(this);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Error field - identify properties with validation error.
|
||||
public new class ErrField : SacsHierarchyItem.ErrField
|
||||
{
|
||||
// Identifies the field that has invalid data.
|
||||
public ValidValue ItemId { get; set; } = ValidValue.Valid;
|
||||
public ValidValue ViewCount { get; set; } = ValidValue.Valid;
|
||||
public ValidValue FeedbackCount { get; set; } = ValidValue.Valid;
|
||||
public ValidValue FeedbackTotal { get; set; } = ValidValue.Valid;
|
||||
public ValidValue FeedbackAverage { get; set; } = ValidValue.Valid;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly Data data = new Data();
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SaxActivityFeedback(ItemId itemId) : base()
|
||||
{
|
||||
base.SetData(data);
|
||||
ItemId = itemId;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Item Types.
|
||||
private readonly static List<Sax.DataItemType> validItemTypes = new List<Sax.DataItemType>()
|
||||
{ Sax.DataItemType.Article, Sax.DataItemType.OrganisationEvent, Sax.DataItemType.OrganisationOpportunity };
|
||||
public static List<Sax.DataItemType> ValidItemTypes { get { return new List<Sax.DataItemType>(validItemTypes); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Utilities.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public Data GetData() { return data.Clone(); }
|
||||
public void SetData(Data data)
|
||||
{
|
||||
String fn = GetType().Name + ".SetData";
|
||||
// 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 (ItemId.IsValid(ItemId) && ItemId.Type != data.ItemId.Type && SysId.ToInt(ItemId.Id) != SysId.ToInt(data.ItemId.Id))
|
||||
throw new NotSupportedException(fn + " Item Id cannot be changed");
|
||||
this.data.PopulateFrom(data);
|
||||
}
|
||||
public ItemId ItemId
|
||||
{
|
||||
get { return data.ItemId; }
|
||||
protected set { data.ItemId = value; }
|
||||
}
|
||||
public long ViewCount
|
||||
{
|
||||
get { return data.ViewCount; }
|
||||
set { data.ViewCount = value; }
|
||||
}
|
||||
public long FeedbackCount
|
||||
{
|
||||
get { return data.FeedbackCount; }
|
||||
set { data.FeedbackCount = value; }
|
||||
}
|
||||
public long FeedbackTotal
|
||||
{
|
||||
get { return data.FeedbackTotal; }
|
||||
set { data.FeedbackTotal = value; }
|
||||
}
|
||||
public decimal FeedbackAverage
|
||||
{
|
||||
get { return data.FeedbackAverage; }
|
||||
set { data.FeedbackAverage = value; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Flags - positions 1-16 available.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// A s s o c i a t e d D a t a
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// P a r a m s
|
||||
//-------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Combination Sport and Region Ids to index activities.
|
||||
/// </summary>
|
||||
public class SportFeedbackAverages
|
||||
{
|
||||
public SportFeedbackAverages(SysId sportId, SysId regionId)
|
||||
{
|
||||
FeedbackTotal = sportId;
|
||||
FeedbackAverage = regionId;
|
||||
}
|
||||
public SysId FeedbackTotal { get; }
|
||||
public SysId FeedbackAverage { get; }
|
||||
}
|
||||
/// <summary>
|
||||
/// Item list parameters.
|
||||
/// </summary>
|
||||
public new class Params : SacsHierarchyItem.Params
|
||||
{
|
||||
// List filtering.
|
||||
public List<ItemId> ItemIdsIncluded { get; } = new List<ItemId>();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
// Item list extension methods.
|
||||
public static class SaxActivityFeedbackList
|
||||
{
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -60,7 +60,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
/// <summary>Properties other than common.</summary>
|
||||
public class DataProperties
|
||||
{
|
||||
public ItemId ItemId { get; set; }
|
||||
public ItemId ItemId { get; set; } = new ItemId();
|
||||
public SysId UserAccountIdOwner { get; set; }
|
||||
public SysId OrganisationIdOwner { get; set; }
|
||||
public SysId SportId { get; set; }
|
||||
@@ -175,6 +175,12 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
Status = DefaultStatus;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Item Types.
|
||||
private readonly static List<Sax.DataItemType> validItemTypes = new List<Sax.DataItemType>()
|
||||
{ Sax.DataItemType.Article, Sax.DataItemType.OrganisationEvent, Sax.DataItemType.OrganisationOpportunity };
|
||||
public static List<Sax.DataItemType> ValidItemTypes { get { return new List<Sax.DataItemType>(validItemTypes); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Status.
|
||||
private static readonly List<SaStatus> validStatuses = new List<SaStatus>()
|
||||
@@ -286,8 +292,6 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
public new class Params : SacsHierarchyItem.Params
|
||||
{
|
||||
// List filtering.
|
||||
public List<SysId> IdsIncluded { get; } = new List<SysId>();
|
||||
public List<SysId> IdsExcluded { get; } = new List<SysId>();
|
||||
public List<ItemId> ItemIdsIncluded { get; } = new List<ItemId>();
|
||||
/// <summary>Activities must match one of the sport/region combinations specified.</summary>
|
||||
public List<SportRegionIds> SportRegionIdsIncluded { get; } = new List<SportRegionIds>();
|
||||
|
||||
@@ -38,6 +38,11 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
Summary,
|
||||
PublishedAt_Date,
|
||||
PublishedAt_DateTime,
|
||||
// Feedback.
|
||||
Feedback_ViewCount,
|
||||
Feedback_FeedbackCount,
|
||||
Feedback_FeedbackTotal,
|
||||
Feedback_FeedbackAverage,
|
||||
// Associated data.
|
||||
// Common.
|
||||
Notes,
|
||||
|
||||
@@ -58,7 +58,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
/// <summary>Properties other than common.</summary>
|
||||
public class DataProperties
|
||||
{
|
||||
public ItemId ItemId { get; set; }
|
||||
public ItemId ItemId { get; set; } = new ItemId();
|
||||
public Sax.AddressType AddressType { get; set; }
|
||||
public String Caption { get; set; }
|
||||
public String Line1 { get; set; }
|
||||
|
||||
@@ -50,7 +50,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
/// <summary>Properties other than common.</summary>
|
||||
public class DataProperties
|
||||
{
|
||||
public ItemId ItemId { get; set; }
|
||||
public ItemId ItemId { get; set; } = new ItemId();
|
||||
public Sax.ImageType ImageType { get; set; }
|
||||
public byte ImageSeq { get; set; }
|
||||
public long SessionUid { get; set; }
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
/// <summary>Properties other than common.</summary>
|
||||
public class DataProperties
|
||||
{
|
||||
public ItemId ItemId { get; set; }
|
||||
public ItemId ItemId { get; set; } = new ItemId();
|
||||
public SysId SportId { get; set; }
|
||||
public String ItemSportData { get; set; }
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
// Data members.
|
||||
private readonly DataProperties data = new DataProperties();
|
||||
// Construction.
|
||||
public Data ()
|
||||
public Data()
|
||||
{
|
||||
Status = DefaultStatus;
|
||||
}
|
||||
@@ -71,14 +71,14 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
set { CheckChanged((short)data.SpecialityLabel, (short)value); data.SpecialityLabel = value; }
|
||||
}
|
||||
// Population.
|
||||
internal void PopulateFrom (Data data)
|
||||
internal void PopulateFrom(Data data)
|
||||
{
|
||||
SportIdParent = data.SportIdParent;
|
||||
Name = data.Name;
|
||||
SpecialityLabel = data.SpecialityLabel;
|
||||
base.PopulateFrom(data);
|
||||
}
|
||||
public Data Clone ()
|
||||
public Data Clone()
|
||||
{
|
||||
Data data = new Data();
|
||||
data.PopulateFrom(this);
|
||||
@@ -102,7 +102,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SaxSport (SysId id) : base(id)
|
||||
protected SaxSport(SysId id) : base(id)
|
||||
{
|
||||
base.SetData(data);
|
||||
Status = DefaultStatus;
|
||||
@@ -118,7 +118,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
};
|
||||
public static SaStatus DefaultStatus { get { return SaStatus.Active; } }
|
||||
public static List<SaStatus> ValidStatuses { get { return new List<SaStatus>(validStatuses); } }
|
||||
public static DataValue.TriStateType GetStatusTriState (SaStatus status)
|
||||
public static DataValue.TriStateType GetStatusTriState(SaStatus status)
|
||||
{
|
||||
if (status == SaStatus.Active) return DataValue.TriStateType.Green;
|
||||
if (status == SaStatus.Inactive) return DataValue.TriStateType.Red;
|
||||
@@ -128,15 +128,15 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Utilities.
|
||||
public ItemId GetItemId ()
|
||||
public ItemId GetItemId()
|
||||
{
|
||||
return new ItemId((short)Sax.DataItemType.Sport, Id);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public Data GetData () { return data.Clone(); }
|
||||
public void SetData (Data data)
|
||||
public Data GetData() { return data.Clone(); }
|
||||
public void SetData(Data data)
|
||||
{
|
||||
String fn = GetType().Name + ".SetData";
|
||||
// Properties that cannot be changed if previously specified.
|
||||
@@ -187,7 +187,7 @@ 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 SysId SportIdParent {get; set; }
|
||||
public SysId SportIdParent { get; set; }
|
||||
/// <summary>Generic filter - partial sport name, or other matching value (tbd).</summary>
|
||||
public String SportFilter { get; set; }
|
||||
public String NameFull { get; set; }
|
||||
@@ -203,6 +203,16 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
// Item list extension methods.
|
||||
public static class SaxSportList
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
public static SaxSport GetSportById(this IEnumerable<SaxSport> values, SysId sportId)
|
||||
{
|
||||
if (!SysId.IsValid(sportId)) return null;
|
||||
foreach (SaxSport sport in values)
|
||||
if (sport.Id.Equals(sportId)) return sport;
|
||||
return null;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
||||
@@ -46,6 +46,8 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
LastInvalidLoginAt,
|
||||
InvalidLoginCount,
|
||||
// Associated data.
|
||||
UserSportCount,
|
||||
UserSportCount_Active,
|
||||
UserRoleCount,
|
||||
SystemAdminUser,
|
||||
LastAdminLoginOn,
|
||||
|
||||
@@ -53,7 +53,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
public class DataProperties
|
||||
{
|
||||
public SysId UserAccountId { get; set; }
|
||||
public ItemId ItemId { get; set; }
|
||||
public ItemId ItemId { get; set; } = new ItemId();
|
||||
public bool CurrentlyListed {get; set; }
|
||||
public DateTime ListedAtFirst { get; set; }
|
||||
public DateTime ListedAtLast { get; set; }
|
||||
|
||||
@@ -3,6 +3,7 @@ using Sarand.Net.Standard.Base.Core;
|
||||
using Saxonite.Net.Standard.Base.App;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Saxonite.Net.Standard.Base.Bus
|
||||
@@ -257,6 +258,17 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
// Item list extension methods.
|
||||
public static class SaxUserSportList
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Extract Sport Ids.
|
||||
public static List<SysId> GetSportIds(this IEnumerable<SaxUserSport> values)
|
||||
{
|
||||
List<SysId> sportIds = new List<SysId>();
|
||||
foreach (SaxUserSport userSport in values)
|
||||
sportIds.AddId(userSport.SportId);
|
||||
return sportIds;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
||||
@@ -0,0 +1,191 @@
|
||||
using Sarand.Net.Standard.Base.App;
|
||||
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;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Saxonite.Net.Standard.Base.Mgr
|
||||
{
|
||||
//=======================================================================
|
||||
partial class SaxActivityMgr
|
||||
{
|
||||
//*******************************************************************
|
||||
// Activity Mgr - Activity Index
|
||||
//*******************************************************************
|
||||
// Utilities.
|
||||
public Boolean IsValidItemForFeedback(ItemId itemId)
|
||||
{
|
||||
if (!ItemId.IsValid(itemId))
|
||||
return false;
|
||||
if (!SaxActivityFeedback.ValidItemTypes.Contains((Sax.DataItemType)itemId.Type))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public SaxActivityFeedback GetActivityFeedbackForItem(ItemId itemId)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!ItemId.IsValid(itemId))
|
||||
return null;
|
||||
SaxActivityFeedback.Params prmActivityFeedback = new SaxActivityFeedback.Params();
|
||||
prmActivityFeedback.ItemIdsIncluded.Add(itemId);
|
||||
return GetActivityFeedback(prmActivityFeedback);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public Boolean UpdateActivityFeedback(ItemId itemId, int viewCountIncrement, int feedbackCountIncrement, int feedbackTotalIncrement, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = "UpdateActivityFeedback";
|
||||
ClearErrorState();
|
||||
if (!ItemId.IsValid(itemId))
|
||||
return SetErrorState("Unable to update activity feedback - Item Id must be supplied");
|
||||
if (viewCountIncrement == 0 && feedbackCountIncrement == 0 && feedbackTotalIncrement == 0)
|
||||
return true;
|
||||
if (DebugMode)
|
||||
SaLogger.Info(fn + " View count incr: " + viewCountIncrement + ". Feedback count incr: " + feedbackCountIncrement + ". Feedback total incr: " + feedbackTotalIncrement);
|
||||
using (DisposableCollection<SacsDisposable> disposableItems = new DisposableCollection<SacsDisposable>())
|
||||
{
|
||||
bool activityFeedbackCreated = false;
|
||||
SaxActivityFeedback activityFeedback = GetActivityFeedbackForItem(itemId);
|
||||
if (activityFeedback == null)
|
||||
{
|
||||
activityFeedback = CreateActivityFeedback(itemId);
|
||||
activityFeedbackCreated = true;
|
||||
}
|
||||
disposableItems.Add(activityFeedback);
|
||||
// Update properties.
|
||||
activityFeedback.ViewCount = Math.Max(0, activityFeedback.ViewCount + viewCountIncrement);
|
||||
activityFeedback.FeedbackCount = Math.Max(0, activityFeedback.FeedbackCount + feedbackCountIncrement);
|
||||
activityFeedback.FeedbackTotal = Math.Max(0, activityFeedback.FeedbackTotal + feedbackTotalIncrement);
|
||||
activityFeedback.FeedbackAverage = activityFeedback.FeedbackCount > 0 ? (decimal)activityFeedback.FeedbackTotal / activityFeedback.FeedbackCount : 0;
|
||||
// Store feedback.
|
||||
if (activityFeedbackCreated)
|
||||
InsertActivityFeedback(activityFeedback, dbUpdateInfo);
|
||||
else
|
||||
UpdateActivityFeedback(activityFeedback, dbUpdateInfo);
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Create item.
|
||||
public abstract SaxActivityFeedback CreateActivityFeedback(ItemId itemId);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Retrieve individual items.
|
||||
public abstract SaxActivityFeedback GetActivityFeedback(SaxActivityFeedback.Params prmActivityFeedback);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate item data.
|
||||
public bool IsValidActivityFeedback(SaxActivityFeedback activityIndex)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (activityIndex == null) return SetErrorState(ErrorMessage.ItemNotSpecified);
|
||||
return IsValidActivityFeedbackData(activityIndex.GetData(), new SaxActivityFeedback.ErrField());
|
||||
}
|
||||
public virtual bool IsValidActivityFeedbackData(SaxActivityFeedback.Data data, SaxActivityFeedback.ErrField errField)
|
||||
{
|
||||
ClearErrorState();
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Item Id.
|
||||
if (errField.ItemId != SacsHierarchyItem.ValidValue.Ignore)
|
||||
{
|
||||
if (!ItemId.IsValid(data.ItemId))
|
||||
{
|
||||
errField.ItemId = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("item id must be specified");
|
||||
}
|
||||
if (!IsValidItemForFeedback(data.ItemId))
|
||||
{
|
||||
errField.ItemId = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("invalid item type specified");
|
||||
}
|
||||
}
|
||||
// View Count.
|
||||
if (errField.ViewCount != SacsHierarchyItem.ValidValue.Ignore && data.ViewCount < 0)
|
||||
{
|
||||
errField.ViewCount = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("View count must not be negative");
|
||||
}
|
||||
// Feedback Count.
|
||||
if (errField.FeedbackCount != SacsHierarchyItem.ValidValue.Ignore && data.FeedbackCount < 0)
|
||||
{
|
||||
errField.FeedbackCount = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("Feedback count must not be negative");
|
||||
}
|
||||
// Feedback Total.
|
||||
if (errField.FeedbackTotal != SacsHierarchyItem.ValidValue.Ignore && data.FeedbackTotal < 0)
|
||||
{
|
||||
errField.FeedbackTotal = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("Feedback count must not be negative");
|
||||
}
|
||||
// Feedback Average.
|
||||
if (errField.FeedbackAverage != SacsHierarchyItem.ValidValue.Ignore && data.FeedbackAverage < 0)
|
||||
{
|
||||
errField.FeedbackAverage = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("Feedback count must not be negative");
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// ActivityFeedback database interface.
|
||||
public abstract bool InsertActivityFeedback(SaxActivityFeedback activityIndex, DbUpdateInfo dbUpdateInfo);
|
||||
public abstract bool UpdateActivityFeedback(SaxActivityFeedback activityIndex, DbUpdateInfo dbUpdateInfo);
|
||||
public virtual bool ActivityFeedbackCanBeDeleted(SaxActivityFeedback activityIndex)
|
||||
{
|
||||
ClearErrorState();
|
||||
return true;
|
||||
}
|
||||
public abstract bool DeleteActivityFeedback(SaxActivityFeedback activityIndex, DbUpdateInfo dbUpdateInfo);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// ActivityFeedback list:
|
||||
public abstract ColumnDfn GetActivityFeedbackColumnDfn(SaxActivityFeedback.Column columnId, String caption = "", int width = 0);
|
||||
public abstract List<String> GetActivityFeedbackQueryFilter(SaxActivityFeedback.Params prmActivityFeedback);
|
||||
public abstract long GetActivityFeedbackCount(SaxActivityFeedback.Params prmActivityFeedback);
|
||||
public abstract List<SaxActivityFeedback> GetActivityFeedbackList(SaxActivityFeedback.Params prmActivityFeedback);
|
||||
public abstract DbResultSet ExecuteActivityFeedbackQuery(List<ColumnDfn> columns, SaxActivityFeedback.Params prmActivityFeedback);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
/// <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 GetActivityFeedbackDataValue(ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SaxActivityFeedback.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// Data item type.
|
||||
case SaxActivityFeedback.Column.ItemType_Code:
|
||||
{
|
||||
value = new DataValue(DataItemTypeCodes.GetCodeForType(values.GetLong(column.DataName)));
|
||||
}
|
||||
break;
|
||||
case SaxActivityFeedback.Column.ItemType_Desc:
|
||||
{
|
||||
value = new DataValue(DataItemTypeCodes.GetDescForType(values.GetLong(column.DataName)));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -4,6 +4,7 @@ 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;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -18,11 +19,21 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
// Activity Mgr - Activity Index
|
||||
//*******************************************************************
|
||||
// Utilities.
|
||||
public Boolean IsValidItemForIndex(ItemId itemId)
|
||||
{
|
||||
if (!ItemId.IsValid(itemId))
|
||||
return false;
|
||||
if (!SaxActivityFeedback.ValidItemTypes.Contains((Sax.DataItemType)itemId.Type))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public List<SaxActivityIndex> GetActivityIndexListForItem(ItemId itemId)
|
||||
{
|
||||
ClearErrorState();
|
||||
List<SaxActivityIndex> activityIndexEntries = new List<SaxActivityIndex>();
|
||||
if (!ItemId.IsValid(itemId)) return activityIndexEntries;
|
||||
if (!IsValidItemForIndex(itemId)) return activityIndexEntries;
|
||||
SaxActivityIndex.Params prmActivityIndex = new SaxActivityIndex.Params();
|
||||
prmActivityIndex.ItemIdsIncluded.Add(itemId);
|
||||
return GetActivityIndexList(prmActivityIndex);
|
||||
@@ -50,10 +61,18 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Item Id.
|
||||
if (errField.ItemId != SacsHierarchyItem.ValidValue.Ignore && !ItemId.IsValid(data.ItemId))
|
||||
if (errField.ItemId != SacsHierarchyItem.ValidValue.Ignore)
|
||||
{
|
||||
errField.ItemId = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("Item Id must be specified");
|
||||
if (!ItemId.IsValid(data.ItemId))
|
||||
{
|
||||
errField.ItemId = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("item id must be specified");
|
||||
}
|
||||
if (!IsValidItemForIndex(data.ItemId))
|
||||
{
|
||||
errField.ItemId = SacsHierarchyItem.ValidValue.Invalid;
|
||||
return SetErrorState("invalid item type specified");
|
||||
}
|
||||
}
|
||||
// Sport.
|
||||
if (errField.SportId != SacsHierarchyItem.ValidValue.Ignore && !SysId.IsValid(data.SportId))
|
||||
|
||||
@@ -169,6 +169,14 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
public abstract List<String> GetRegionQueryFilter(SaxRegion.Params prmRegion);
|
||||
public abstract long GetRegionCount(SaxRegion.Params prmRegion);
|
||||
public abstract List<SaxRegion> GetRegionList(SaxRegion.Params prmRegion);
|
||||
public List<SaxRegion> GetRegionListByIds(List<SysId> regionIds)
|
||||
{
|
||||
if (regionIds.IsEmpty()) return new List<SaxRegion>();
|
||||
SaxRegion.Params prmRegion = new SaxRegion.Params();
|
||||
prmRegion.IdsIncluded.AddIds(regionIds);
|
||||
prmRegion.StatusCat = SaxRegion.StatusCat.Any;
|
||||
return GetRegionList(prmRegion);
|
||||
}
|
||||
public abstract DbResultSet ExecuteRegionQuery(List<ColumnDfn> columns, SaxRegion.Params prmRegion);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
@@ -149,6 +149,14 @@ namespace Saxonite.Net.Standard.Base.Mgr
|
||||
public abstract List<String> GetSportQueryFilter(SaxSport.Params prmSport);
|
||||
public abstract long GetSportCount(SaxSport.Params prmSport);
|
||||
public abstract List<SaxSport> GetSportList(SaxSport.Params prmSport);
|
||||
public List<SaxSport> GetSportListByIds(List<SysId> sportIds)
|
||||
{
|
||||
if (sportIds.IsEmpty()) return new List<SaxSport>();
|
||||
SaxSport.Params prmSport = new SaxSport.Params();
|
||||
prmSport.IdsIncluded.AddIds(sportIds);
|
||||
prmSport.StatusCat = SaxSport.StatusCat.Any;
|
||||
return GetSportList(prmSport);
|
||||
}
|
||||
public abstract DbResultSet ExecuteSportQuery(List<ColumnDfn> columns, SaxSport.Params prmSport);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user