1.2.11.12 Online Events
This commit is contained in:
@@ -1,14 +1,20 @@
|
||||
using Sacs.Web.Components;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Sacs.Web.Components;
|
||||
using Sarand.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Email;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Saxonite.Net.Core.Web.Base.App;
|
||||
using Saxonite.Net.Standard.Base.App;
|
||||
using Saxonite.Net.Standard.Base.Bus;
|
||||
using Saxonite.Net.Standard.Base.Consoles;
|
||||
using Saxonite.Net.Standard.Base.Mgr;
|
||||
using Saxonite.Net.Standard.Base.Mgr.Reference;
|
||||
using Saxonite.Net.Standard.Base.Mgr.Support;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Saxonite.Net.Core.Web.Base.Controllers
|
||||
{
|
||||
@@ -65,6 +71,7 @@ namespace Saxonite.Net.Core.Web.Base.Controllers
|
||||
public SaxSupportMgr SupportMgr { get { return Internals.SupportMgr; } }
|
||||
// System codes.
|
||||
public List<TypeCodeDesc> DataItemTypeCodes { get { return Internals.DataItemTypeCodes; } }
|
||||
public List<TypeCodeDesc> SportGroupingCodes { get { return Internals.SportGroupingCodes; } }
|
||||
public List<TypeCodeDesc> SportSpecialityLabelCodes { get { return Internals.SportSpecialityLabelCodes; } }
|
||||
public List<TypeCodeDesc> SportContactTypeCodes { get { return Internals.SportContactTypeCodes; } }
|
||||
public List<TypeCodeDesc> SportParticipatingCodes { get { return Internals.SportParticipatingCodes; } }
|
||||
@@ -88,6 +95,52 @@ namespace Saxonite.Net.Core.Web.Base.Controllers
|
||||
public SaEmailConfig EmailConfig { get { return App.EmailConfig; } }
|
||||
public SaxEmailConsole EmailConsole { get { return Internals.EmailConsole; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
[NonAction]
|
||||
/// <summary>
|
||||
/// Retrieve sport by matching the name and include groups as required.
|
||||
/// </summary>
|
||||
/// <param name="sportName"></param>
|
||||
/// <param name="includeGroups"></param>
|
||||
/// <returns>List of matching sports.</returns>
|
||||
public List<SaxSport.Data> GetSportsByName(String sportName, bool includeGroups = false)
|
||||
{
|
||||
List<SaxSport.Data> sportsData = new List<SaxSport.Data>();
|
||||
if (DataCacheConsole != null)
|
||||
{
|
||||
List<SaxSport.Data> allSports = DataCacheConsole.GetActiveSports();
|
||||
foreach (SaxSport.Data sport in allSports.Where(item => item.Name.EqualsCI(sportName)))
|
||||
{
|
||||
sportsData.Add(sport);
|
||||
if (!includeGroups) continue;
|
||||
foreach (SaxSport.Data sportParent in allSports.Where(item => item.Id.Equals(sport.SportIdParent)))
|
||||
sportsData.Add(sportParent);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Data cache is not available.
|
||||
// Query direct from the database (Admin).
|
||||
Dictionary<SysId, SaxSport> sports = new Dictionary<SysId, SaxSport>();
|
||||
|
||||
// Sport by name.
|
||||
SaxSport.Params prmSport = new SaxSport.Params();
|
||||
prmSport.NameFull = sportName;
|
||||
sports.AddRange(ReferenceMgr.GetSportList(prmSport).ToDictionary(item => item.Id));
|
||||
|
||||
if (includeGroups)
|
||||
{
|
||||
// Parent sports.
|
||||
prmSport = new SaxSport.Params();
|
||||
prmSport.IdsIncluded.AddIds(sports.Values.Where(item => SysId.IsValid(item.SportIdParent)).Select(item => item.SportIdParent));
|
||||
if (prmSport.IdsIncluded.Any())
|
||||
sports.AddRange(ReferenceMgr.GetSportList(prmSport).ToDictionary(item => item.Id));
|
||||
}
|
||||
sportsData = sports.Values.Select(item => item.GetData()).ToList();
|
||||
}
|
||||
return sportsData;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -69,7 +69,7 @@ namespace Saxonite.Net.Core.Web.Base.Controllers
|
||||
// Some actions (eg. score password) don't need to.
|
||||
if (StoreSessionData)
|
||||
{
|
||||
String sessionDataJson = JsonConvert.SerializeObject(SessionData);
|
||||
String sessionDataJson = NewtonsoftJsonUtil.SerializeObject(SessionData);
|
||||
HttpContext.Session.Set(SessionStorage.SessionKey_SessionData, SessionStorage.sessionDataEncoding.GetBytes(sessionDataJson));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user