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
{
//-------------------------------------------------------------------
///
/// Code types (static lists).
/// Defined by the underlying system and available for use throughout any application.
/// Only maintainable by updates to the software, ie. not held on the database.
///
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,
}
//-------------------------------------------------------------------
/// Yes or No option.
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,
/// Country - self-governing political entity, eg. Country, State (not US state)
Country = 30,
/// Nation, eg. Home Nation.
Nation = 50,
/// STate - major subdivision of country, eg. US state.
State = 70,
/// Province - eg. GB County.
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,
}
//-------------------------------------------------------------------
/// User Config
public enum UserConfigType
{
/* Do not change the values - tied to database. */
Online_Profile = 100,
}
//-------------------------------------------------------------------
/// User roles
public enum UserRole
{
Unknown = 0,
/* Do not change the values - tied to database. */
Journalist,
SystemAdmin,
SystemReviewer,
}
//-------------------------------------------------------------------
/// Sport Grouping
public enum SportGrouping
{
/* Do not change the values/codes - tied to database. */
Specific = 10,
Banner = 20,
Group = 30,
}
//-------------------------------------------------------------------
/// Sport Speciality Label
public enum SportSpecialityLabel
{
Default = 0,
/* Do not change the values/codes - tied to database. */
Positon = 10,
Discipline = 20,
NotRelevant = 90,
}
//-------------------------------------------------------------------
/// Sport Contact Type
public enum SportContactType
{
Unknown = 0,
/* Do not change the values/codes - tied to database. */
Coach = 100,
Manager = 200,
Agent = 300,
}
//-------------------------------------------------------------------
/// Sport Participating
public enum SportParticipating
{
Unknown = 0,
/* Do not change the values/codes - tied to database. */
Professional = 100,
Regular = 200,
Occasional = 300,
Spectator = 400,
Interested = 900,
}
//-------------------------------------------------------------------
/// Sport Preparing
public enum SportPreparing
{
Unknown = 0,
/* Do not change the values/codes - tied to database. */
Coach = 100,
Manager = 200,
Agent = 300,
}
//-------------------------------------------------------------------
/// Sport Officiating
public enum SportOfficiating
{
Unknown = 0,
/* Do not change the values/codes - tied to database. */
Professional = 100,
Regular = 200,
Occasional = 300,
Interested = 900,
}
//-------------------------------------------------------------------
/// Titles - for Contact details.
public enum Title
{
Unknown = 0,
Mr,
Mrs,
Miss,
Mx,
Dr,
Sir,
Madam,
Lord,
Lady
}
//-------------------------------------------------------------------
/// Image Types.
public enum ImageType
{
Unknown,
/// User's profile image.
Avatar = 100,
/// User's profile image, uploaded awaiting confirmation.
Avatar_Upload = 101,
/// Organisation's main logo.
OrganisationLogo = 120,
/// Organisation's main logo, uploaded awaiting confirmation.
OrganisationLogo_Upload = 121,
/// Article image.
Article = 200,
/// Article image uploaded, awaiting confirmation.
Article_Upload = 201,
}
//-------------------------------------------------------------------
/// Organisation Types.
public enum OrganisationType
{
Unknown = 0,
/* Do not change the names/codes - tied to database. */
Commercial,
SocialEnterprise,
CommunityGroup,
Charity,
PublicSector,
}
//-------------------------------------------------------------------
/// Organisation Category.
public enum OrganisationCategory
{
Unknown = 0,
/* Do not change the names/codes - tied to database. */
Association,
Club,
Society,
Education,
SportDepartment,
Syndicate,
/// Commercial partner
Partner,
/// Other
Other,
}
//-------------------------------------------------------------------
/// Organisation roles
public enum OrganisationRole
{
Unknown = 0,
/* Do not change the values/codes - tied to database. */
Member,
Admin,
MemberAdmin,
ScheduleAdmin,
OpportunityAdmin,
ArticleAdmin,
}
//-------------------------------------------------------------------
// Associations.
///
/// Association type.
///
- Affiliate - parent-child relationship.
///
- Partner - equal sided relationship.
///
public enum AssociationType
{
Unknown = 0,
/* Do not change the numeric values - tied to database. */
/// 'To' Affiliated to 'From' item. From/To: Organisation.
Affiliate = 10,
/// Partner items. From/To: Organisation.
Partner = 20,
}
///
/// Association type option.
///
- Encompasses association type and 'direction' from the perspective of one of the organisations.
///
- Affiliate relationship is either from the parent or to the child.
///
- Partner relationships are directionless.
///
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,
}
//-------------------------------------------------------------------
/// Event Type
public enum EventType
{
Unknown = 0,
/* Do not change the values or codes - tied to database. */
Playing,
Training,
Organisation,
Social,
}
//-------------------------------------------------------------------
/// Opportunity Type
public enum OpportunityType
{
Unknown = 0,
/* Do not change the values or codes - tied to database. */
Playing,
Official,
Coaching,
Volunteer,
Staff,
Board,
}
//-------------------------------------------------------------------
/// Activity Reaction
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.
//-------------------------------------------------------------------
/// User Report Type
public enum UserReportType
{
Unknown = 0,
/* Do not change the values or codes - tied to database. */
Enhancement = 10,
Information = 20,
Bug = 30,
}
/// Support Item Process Type
public enum SupportItemProcessType
{
Unknown = 0,
/* Do not change the values or codes - tied to database. */
OrganisationSchedulePopulation = 200,
}
//-------------------------------------------------------------------
}
//=======================================================================
}