v1.2.11.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.2.10.6";
|
||||
private static String version { get; } = "1.2.11.0";
|
||||
// Retrieve version.
|
||||
public static String GetFullVersion () { return version; }
|
||||
public static String GetAppVersion ()
|
||||
@@ -40,9 +40,12 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
//-------------------------------------------------------------------
|
||||
// Version history.
|
||||
//-------------------------------------------------------------------
|
||||
// 1.2.11 6-Jul-2023
|
||||
// - Organisation associations.
|
||||
// 1.2.10 11-Oct-2022
|
||||
// - Online organisations display issue fixed.
|
||||
// - User Sport 'Preparing' options.
|
||||
// - User reports.
|
||||
// 1.2.9 12-Oct-2022
|
||||
// - Online Sports Experience update bug resolved.
|
||||
// - Sports Experience Awards.
|
||||
|
||||
@@ -310,6 +310,13 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// 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,
|
||||
@@ -320,6 +327,20 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
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
|
||||
{
|
||||
@@ -358,6 +379,8 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
Twitter = 310,
|
||||
Facebook = 320,
|
||||
Instagram = 330,
|
||||
YouTube = 340,
|
||||
Twitch = 350,
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -407,7 +430,7 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
{
|
||||
Unknown = 0,
|
||||
/* Do not change the values or codes - tied to database. */
|
||||
Enhancement= 10,
|
||||
Enhancement = 10,
|
||||
Information = 20,
|
||||
Bug = 30,
|
||||
}
|
||||
|
||||
@@ -272,6 +272,8 @@ namespace Saxonite.Net.Standard.Base.App
|
||||
contactMethodCodes.Add(Sax.ContactMethod.Twitter, Sax.ContactMethod.Twitter.ToString(), "Twitter");
|
||||
contactMethodCodes.Add(Sax.ContactMethod.Facebook, Sax.ContactMethod.Facebook.ToString(), "Facebook");
|
||||
contactMethodCodes.Add(Sax.ContactMethod.Instagram, Sax.ContactMethod.Instagram.ToString(), "Instagram");
|
||||
contactMethodCodes.Add(Sax.ContactMethod.YouTube, Sax.ContactMethod.YouTube.ToString(), "YouTube");
|
||||
contactMethodCodes.Add(Sax.ContactMethod.Twitch, Sax.ContactMethod.Twitch.ToString(), "Twitch");
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Event types.
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Org.BouncyCastle.Utilities;
|
||||
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.Data;
|
||||
using System.Text;
|
||||
using static Sarand.Net.Standard.Base.Bus.ItemId;
|
||||
using static Sarand.Net.Standard.Base.ItemOptions.SaItemOptionDfn;
|
||||
using static Saxonite.Net.Standard.Base.App.Sax;
|
||||
|
||||
namespace Saxonite.Net.Standard.Base.Bus
|
||||
{
|
||||
@@ -30,6 +36,13 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
ItemTypeTo_Desc,
|
||||
ItemIdTo,
|
||||
ItemTo_Caption,
|
||||
// Specific item properties.
|
||||
OrganisationFrom_Name,
|
||||
OrganisationFrom_SportIdPrimary,
|
||||
OrganisationFrom_RegionIdPrimary,
|
||||
OrganisationTo_Name,
|
||||
OrganisationTo_SportIdPrimary,
|
||||
OrganisationTo_RegionIdPrimary,
|
||||
// Association type.
|
||||
AssociationType,
|
||||
AssociationType_Code,
|
||||
@@ -45,6 +58,40 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
UpdateOn_Date,
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public class TypeOptionData
|
||||
{
|
||||
public TypeOptionData(Sax.AssociationTypeOption typeOption, String caption)
|
||||
{
|
||||
TypeOption = typeOption;
|
||||
Caption = StringUtil.OnBlank(caption);
|
||||
}
|
||||
public TypeOptionData(Sax.AssociationType associationType, bool reversed, String caption) :
|
||||
this(GetAssociationTypeOption(associationType, reversed), caption)
|
||||
{
|
||||
}
|
||||
// Properties.
|
||||
public AssociationTypeOption TypeOption { get; }
|
||||
public String Caption { get; }
|
||||
// Comparison.
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj == null) return false;
|
||||
return Equals(obj as TypeOptionData);
|
||||
}
|
||||
public bool Equals(TypeOptionData value)
|
||||
{
|
||||
if (value == null) return false;
|
||||
if (this.TypeOption != value.TypeOption) return false;
|
||||
if (!this.Caption.EqualsCI(value.Caption)) return false;
|
||||
return true;
|
||||
}
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return HashCode.Combine(TypeOption, Caption);
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
/// <summary>Properties other than common.</summary>
|
||||
public class DataProperties
|
||||
@@ -172,6 +219,19 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
}
|
||||
return itemTypes;
|
||||
}
|
||||
/// <summary>Determin type option from type and parent/child direction.</summary>
|
||||
/// <param name="associationType"></param>
|
||||
/// <param name="reversed"></param>
|
||||
/// <returns></returns>
|
||||
public static AssociationTypeOption GetAssociationTypeOption(Sax.AssociationType associationType, bool reversed)
|
||||
{
|
||||
switch (associationType)
|
||||
{
|
||||
case Sax.AssociationType.Affiliate: return reversed ? AssociationTypeOption.AffiliateChild : AssociationTypeOption.AffiliateParent;
|
||||
case Sax.AssociationType.Partner: return AssociationTypeOption.Partner;
|
||||
}
|
||||
return AssociationTypeOption.Unknown;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
@@ -191,17 +251,17 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
public ItemId ItemIdFrom
|
||||
{
|
||||
get { return data.ItemIdFrom; }
|
||||
protected set { data.ItemIdFrom = value; }
|
||||
set { data.ItemIdFrom = value; }
|
||||
}
|
||||
public ItemId ItemIdTo
|
||||
{
|
||||
get { return data.ItemIdTo; }
|
||||
protected set { data.ItemIdTo = value; }
|
||||
set { data.ItemIdTo = value; }
|
||||
}
|
||||
public Sax.AssociationType AssociationType
|
||||
{
|
||||
get { return data.AssociationType; }
|
||||
protected set { data.AssociationType = value; }
|
||||
set { data.AssociationType = value; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
@@ -210,6 +210,8 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
Sax.ContactMethod.Twitter,
|
||||
Sax.ContactMethod.Facebook,
|
||||
Sax.ContactMethod.Instagram,
|
||||
Sax.ContactMethod.YouTube,
|
||||
Sax.ContactMethod.Twitch,
|
||||
};
|
||||
public static List<Sax.ContactMethod> ValidContactMethods { get { return new List<Sax.ContactMethod>(validContactMethods); } }
|
||||
|
||||
|
||||
@@ -78,6 +78,16 @@ namespace Saxonite.Net.Standard.Base.Helpers
|
||||
// Instagram.
|
||||
return SacsDataValidationHelper.IsValidInstagramUrl(value);
|
||||
}
|
||||
else if (method == Sax.ContactMethod.YouTube)
|
||||
{
|
||||
// YouTube.
|
||||
return SacsDataValidationHelper.IsValidYouTubeUrl(value);
|
||||
}
|
||||
else if (method == Sax.ContactMethod.Twitch)
|
||||
{
|
||||
// Twitch.
|
||||
return SacsDataValidationHelper.IsValidTwitchUrl(value);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Generic URL.
|
||||
|
||||
Reference in New Issue
Block a user