Files
andy 9f22b522df v1.3.0 Restructure Saxonite workspace and upgrade to .NET 10 (#1)
Move Saxonite’s projects into a dedicated `Workspace` folder and align the solution with .NET 10 and the current Common workspace. Update encryption integration, test project structure and coverage, and repository guidance and upgrade notes.

- Relocate application and library projects while retaining Git rename history.
- Split tests into Admin, Online, and Shared projects; add representative behavioral and serialization tests.
- Update Common integration, application version, and repository documentation.

Application version: 1.3.0

Reviewed-on: #1
Co-authored-by: andy <andy@sarand.com>
2026-10-16 18:24:16 +01:00

480 lines
12 KiB
C#

using Sarand.Net.Standard.Base.App;
using System;
using System.Collections.Generic;
using System.Text;
namespace Saxonite.Net.Standard.Base.App
{
//=======================================================================
public static partial class Sax
{
//-------------------------------------------------------------------
/// <summary>
/// Code types (static lists).
/// <para>Defined by the underlying system and available for use throughout any application.</para>
/// <para>Only maintainable by updates to the software, ie. not held on the database.</para>
/// </summary>
public enum CodeType
{
YesNo,
DataItemType,
Gender,
SportGrouping,
SportSpecialityLabel,
SportContactType,
SportParticipating,
SportPreparing,
SportOfficiating,
RegionType,
EligibilityType,
UserRole,
Title,
ImageType,
OrganisationType,
OrganisationCategory,
OrganisationRole,
AssociationType,
AddressType,
ContactMethod,
EventType,
OpportunityType,
ActivityReaction,
// Support.
UserReportType,
SupportItemProcessType
};
//-------------------------------------------------------------------
public enum Application
{
Online = 100,
Api = 400,
Admin = 900,
}
//-------------------------------------------------------------------
public enum Environment
{
Development = 0,
Staging = 50,
Production = 90,
}
//-------------------------------------------------------------------
public enum InstanceType
{
Prod,
UAT,
QC,
Dev
}
//-------------------------------------------------------------------
public enum Database
{
Unknown = 0,
Core = 10,
Reference = 20,
Support = 90,
}
//-------------------------------------------------------------------
/// <summary>Yes or No option.</summary>
public enum YesNo
{
Unknown = 0,
Yes,
No
}
//-------------------------------------------------------------------
public enum DataItemType
{
Unknown = 0,
/* Do not change the numeric values - tied to database. */
// Reference data.
Region = 10,
Sport = 11,
// Accounts.
UserAccount = 100,
UserRole = 101,
UserOrganisation = 102,
UserSport = 103,
UserSportExperience = 104,
UserEligibility = 105,
Organisation = 120,
// Activity data.
ActivityIndex = 200,
UserActivity = 202,
Article = 210,
OrganisationOpportunity = 220,
OrganisationEvent = 225,
// Item link components.
ItemImage = 400,
ItemAddress = 405,
ItemAssociation = 410,
ItemSport = 420,
// Reference.
Golf_UsgaCountry = 1000,
Golf_UsgaProvince = 1001,
Golf_UsgaFacility = 1002,
Golf_UsgaCourse = 1003,
Golf_UsgaMarker = 1004,
// Support.
UserReport = 9010,
SupportItemProcess = 9020,
}
//-------------------------------------------------------------------
public enum Gender
{
Unknown = 0,
/* Do not change the numeric values - tied to database. */
Female = 1,
Male = 2,
TransFemale = 10,
TransMale = 11,
Nonconforming = 20,
PreferNotToSay = 99,
}
//-------------------------------------------------------------------
public enum RegionType
{
Unknown = 0,
/* Do not change the numeric values - tied to database. */
Universe = 1,
Galaxy = 2,
World = 5,
Continent = 10,
SubContinent = 20,
/// <summary>Country - self-governing political entity, eg. Country, State (not US state)</summary>
Country = 30,
/// <summary>Nation, eg. Home Nation.</summary>
Nation = 50,
/// <summary>STate - major subdivision of country, eg. US state.</summary>
State = 70,
/// <summary>Province - eg. GB County.</summary>
Province = 90
}
//-------------------------------------------------------------------
public enum EligibilityType
{
Unknown = 0,
/* Do not change the numeric values - tied to database. */
Birth = 10,
Naturalised = 20,
Parent = 100,
Grandparent = 110,
Passport = 200,
Visa = 210,
}
//-------------------------------------------------------------------
/// <summary>User Config</summary>
public enum UserConfigType
{
/* Do not change the values - tied to database. */
Online_Profile = 100,
}
//-------------------------------------------------------------------
/// <summary>User roles</summary>
public enum UserRole
{
Unknown = 0,
/* Do not change the values - tied to database. */
Journalist,
SystemAdmin,
SystemReviewer,
}
//-------------------------------------------------------------------
/// <summary>Sport Grouping</summary>
public enum SportGrouping
{
/* Do not change the values/codes - tied to database. */
Specific = 10,
Banner = 20,
Group = 30,
}
//-------------------------------------------------------------------
/// <summary>Sport Speciality Label</summary>
public enum SportSpecialityLabel
{
Default = 0,
/* Do not change the values/codes - tied to database. */
Positon = 10,
Discipline = 20,
NotRelevant = 90,
}
//-------------------------------------------------------------------
/// <summary>Sport Contact Type</summary>
public enum SportContactType
{
Unknown = 0,
/* Do not change the values/codes - tied to database. */
Coach = 100,
Manager = 200,
Agent = 300,
}
//-------------------------------------------------------------------
/// <summary>Sport Participating</summary>
public enum SportParticipating
{
Unknown = 0,
/* Do not change the values/codes - tied to database. */
Professional = 100,
Regular = 200,
Occasional = 300,
Spectator = 400,
Interested = 900,
}
//-------------------------------------------------------------------
/// <summary>Sport Preparing</summary>
public enum SportPreparing
{
Unknown = 0,
/* Do not change the values/codes - tied to database. */
Coach = 100,
Manager = 200,
Agent = 300,
}
//-------------------------------------------------------------------
/// <summary>Sport Officiating</summary>
public enum SportOfficiating
{
Unknown = 0,
/* Do not change the values/codes - tied to database. */
Professional = 100,
Regular = 200,
Occasional = 300,
Interested = 900,
}
//-------------------------------------------------------------------
/// <summary>Titles - for Contact details.</summary>
public enum Title
{
Unknown = 0,
Mr,
Mrs,
Miss,
Mx,
Dr,
Sir,
Madam,
Lord,
Lady
}
//-------------------------------------------------------------------
/// <summary>Image Types.</summary>
public enum ImageType
{
Unknown,
/// <summary>User's profile image.</summary>
Avatar = 100,
/// <summary>User's profile image, uploaded awaiting confirmation.</summary>
Avatar_Upload = 101,
/// <summary>Organisation's main logo.</summary>
OrganisationLogo = 120,
/// <summary>Organisation's main logo, uploaded awaiting confirmation.</summary>
OrganisationLogo_Upload = 121,
/// <summary>Article image.</summary>
Article = 200,
/// <summary>Article image uploaded, awaiting confirmation.</summary>
Article_Upload = 201,
}
//-------------------------------------------------------------------
/// <summary>Organisation Types.</summary>
public enum OrganisationType
{
Unknown = 0,
/* Do not change the names/codes - tied to database. */
Commercial,
SocialEnterprise,
CommunityGroup,
Charity,
PublicSector,
}
//-------------------------------------------------------------------
/// <summary>Organisation Category.</summary>
public enum OrganisationCategory
{
Unknown = 0,
/* Do not change the names/codes - tied to database. */
Association,
Club,
Society,
Education,
SportDepartment,
Syndicate,
/// <summary>Commercial partner</summary>
Partner,
/// <summary>Other</summary>
Other,
}
//-------------------------------------------------------------------
/// <summary>Organisation roles</summary>
public enum OrganisationRole
{
Unknown = 0,
/* Do not change the values/codes - tied to database. */
Member,
Admin,
MemberAdmin,
ScheduleAdmin,
OpportunityAdmin,
ArticleAdmin,
}
//-------------------------------------------------------------------
// Associations.
/// <summary>
/// <u><b>Association type.</b></u>
/// <br>- Affiliate - parent-child relationship.</br>
/// <br>- Partner - equal sided relationship.</br>
/// </summary>
public enum AssociationType
{
Unknown = 0,
/* Do not change the numeric values - tied to database. */
/// <summary>'To' Affiliated to 'From' item. From/To: Organisation.</summary>
Affiliate = 10,
/// <summary>Partner items. From/To: Organisation.</summary>
Partner = 20,
}
/// <summary>
/// Association type option.
/// <br>- Encompasses association type and 'direction' from the perspective of one of the organisations.</br>
/// <br>- Affiliate relationship is either from the parent or to the child.</br>
/// <br>- Partner relationships are directionless.</br>
/// </summary>
public enum AssociationTypeOption
{
Unknown = 0,
AffiliateParent,
AffiliateChild,
Partner,
}
//-------------------------------------------------------------------
public enum AddressType
{
Unknown = 0,
/* Do not change the numeric values - tied to database. */
Location = 10,
Home = 20,
Office = 50,
Delivery = 60,
}
//-------------------------------------------------------------------
public enum ContactMethodType
{
Unknown,
Phone,
Email,
WebUrl,
}
//-------------------------------------------------------------------
public enum ContactMethod
{
Unknown = 0,
/* Do not change the numeric values or names - tied to database. */
PhoneMain = 10,
PhoneMobile = 20,
PhoneHome = 30,
PhoneOffice = 40,
// Online.
Email = 100,
Website = 200,
Wikipedia = 210,
Location = 220,
// Social media.
LinkedIn = 300,
Twitter = 310,
Facebook = 320,
Instagram = 330,
YouTube = 340,
Twitch = 350,
}
//-------------------------------------------------------------------
/// <summary>Event Type</summary>
public enum EventType
{
Unknown = 0,
/* Do not change the values or codes - tied to database. */
Playing,
Training,
Organisation,
Social,
}
//-------------------------------------------------------------------
/// <summary>Opportunity Type</summary>
public enum OpportunityType
{
Unknown = 0,
/* Do not change the values or codes - tied to database. */
Playing,
Official,
Coaching,
Volunteer,
Staff,
Board,
}
//-------------------------------------------------------------------
/// <summary>Activity Reaction</summary>
public enum ActivityReaction
{
Unknown = 0,
/* Do not change the values or codes - tied to database. */
OK = 1,
Good = 2,
VeryGood = 3,
Outstanding = 4,
Exceptional = 5,
}
//-------------------------------------------------------------------
// Support.
//-------------------------------------------------------------------
/// <summary>User Report Type</summary>
public enum UserReportType
{
Unknown = 0,
/* Do not change the values or codes - tied to database. */
Enhancement = 10,
Information = 20,
Bug = 30,
}
/// <summary>Support Item Process Type</summary>
public enum SupportItemProcessType
{
Unknown = 0,
/* Do not change the values or codes - tied to database. */
OrganisationSchedulePopulation = 200,
}
//-------------------------------------------------------------------
}
//=======================================================================
}