unit App.Enumerations;

interface

{$SCOPEDENUMS ON}
{$IFNDEF PAS2JS}

uses
  System.SysUtils,
  Aurelius.Mapping.Attributes;
{$ENDIF}

type

{$IFNDEF PAS2JS}
  [Enumeration(TEnumMappingType.emString, 'New,Inactive,Invited,Active,Lapsed,GoneAway')]
{$ENDIF}
  TSchoolStatus = (New, Inactive, Invited, Active, Lapsed, GoneAway);

{$IFNDEF PAS2JS}
  [Enumeration(TEnumMappingType.emString, 'Primary,Secondary,Independent')]
{$ENDIF}
  TSchoolKind = (Primary, Secondary, Independent);

{$IFNDEF PAS2JS}
  [Enumeration(TEnumMappingType.emString, 'School,AcademyTrust,LocalAuthority')]
{$ENDIF}
  TPaymentSource = (School, AcademyTrust, LocalAuthority);

{$IFNDEF PAS2JS}
  [Enumeration(TEnumMappingType.emString, 'Active,Suspended,Deleted')]
{$ENDIF}
  TBasicStatus = (Active, Suspended, Deleted);

{$IFNDEF PAS2JS}
  [Enumeration(TEnumMappingType.emString, 'System,Pending,Inactive,Active,Suspended,Deleted,NotExists,Deceased')]
{$ENDIF}
  TUserStatus = (System, Pending, Inactive, Active, Suspended, Deleted, NotExists, Deceased);

{$IFNDEF PAS2JS}
  [Enumeration(TEnumMappingType.emString, 'User,Admin')]
{$ENDIF}
  TUserCategory = (User, Admin);

{$IFNDEF PAS2JS}
  [Enumeration(TEnumMappingType.emString, 'App,Email,SMS')]
{$ENDIF}
  TMFAPreference = (App, Email, SMS);

{$IFNDEF PAS2JS}
  [Enumeration(TEnumMappingType.emString, 'None,Contact,Primary,Secondary')]
{$ENDIF}
  TCustomerType = (None, Contact, Primary, Secondary);

{$IFNDEF PAS2JS}
  [Enumeration(TEnumMappingType.emString, 'PerHour,PerDay,PerWeek,PerMonth,PerYear')]
{$ENDIF}
  TTimePeriod = (PerHour, PerDay, PerWeek, PerMonth, PerYear);

{$IFNDEF PAS2JS}
  [Enumeration(TEnumMappingType.emString, 'Premium,Other')]
{$ENDIF}
  TCostItemType = (Premium, Other);

const
  Yes_No: array [boolean] of string = ('No', 'Yes');

  Cost_Item_Type: array [TCostItemType] of string = ('Premium', 'Other');

  School_Status: array [TSchoolStatus] of string = ('New', 'Inactive', 'Invited', 'Active', 'Lapsed', 'GoneAway');
  School_Kind: array [TSchoolKind] of string = ('Primary', 'Secondary', 'Independent');

  User_Category: array [TUserCategory] of string = ('User', 'Admin');

implementation

{$SCOPEDENUMS OFF}

end.
