This commit is contained in:
2021-08-19 17:25:41 +01:00
parent 6a682ff9ea
commit c2d2d7f674
57 changed files with 3557 additions and 477 deletions
@@ -25,6 +25,10 @@ namespace Saxonite.Net.Core.Web.Online.Models
{
AdditionalFiles_CSS.Add("css/sax-account.css");
AdditionalFiles_JS.Add("js/sax-account.js");
AdditionalFiles_JS.Add("js/sax-usr-pro.js");
AdditionalFiles_JS.Add("js/sax-usr-spt.js");
AdditionalFiles_JS.Add("js/sax-usr-spt-exp.js");
AdditionalFiles_JS.Add("js/sax-usr-org.js");
}
//-------------------------------------------------------------------
@@ -128,9 +132,10 @@ namespace Saxonite.Net.Core.Web.Online.Models
//---------------------------------------------------------------
// Country Region.
if (AccountRegionIdCountry != null && SysId.IsValid(AccountRegionIdCountry.ToSysId()))
SysId regionIdCountry = ExtractSysId(AccountRegionIdCountry);
if (AccountRegionIdCountry != null && SysId.IsValid(regionIdCountry))
{
SaxRegion regionCountry = Internals.GetRegion(AccountRegionIdCountry.ToSysId());
SaxRegion regionCountry = Internals.GetRegion(regionIdCountry);
if (regionCountry == null)
responseData.SetControlError(nameof(AccountRegionIdCountry), Localiser["msg.validation.invalid.value"]);
}
@@ -138,7 +143,8 @@ namespace Saxonite.Net.Core.Web.Online.Models
// Province Region.
if (AccountRegionIdProvince != null)
{
SaxRegion regionProvince = Internals.GetRegion(AccountRegionIdProvince.ToSysId());
SysId regionIdProvince = ExtractSysId(AccountRegionIdProvince);
SaxRegion regionProvince = Internals.GetRegion(regionIdProvince);
if (regionProvince == null)
responseData.SetControlError(nameof(AccountRegionIdProvince), Localiser["msg.validation.invalid.value"]);
}
@@ -152,7 +158,7 @@ namespace Saxonite.Net.Core.Web.Online.Models
// Sport.
if (ProfileSportId != null)
{
SysId profileSportId = ProfileSportId.ToSysId();
SysId profileSportId = ExtractSysId(ProfileSportId);
if (!SysId.IsValid(profileSportId))
responseData.SetControlError(nameof(ProfileSportId), Localiser["msg.validation.mandatory.value"]);
}
@@ -108,7 +108,7 @@ namespace Saxonite.Net.Core.Web.Online.Models
// Article sport.
if (ArticleSportId != null)
{
SysId articleSportId = ArticleSportId.ToSysId();
SysId articleSportId = ExtractSysId(ArticleSportId);
if (!SysId.IsValid(articleSportId))
responseData.SetControlError(nameof(ArticleSportId), Localiser["msg.validation.mandatory.value"]);
}
@@ -116,7 +116,7 @@ namespace Saxonite.Net.Core.Web.Online.Models
// Article region.
if (ArticleRegionId != null)
{
SysId articleRegionId = ArticleRegionId.ToSysId();
SysId articleRegionId = ExtractSysId(ArticleRegionId);
if (!SysId.IsValid(articleRegionId))
responseData.SetControlError(nameof(ArticleRegionId), Localiser["msg.validation.mandatory.value"]);
}
@@ -107,12 +107,12 @@ namespace Saxonite.Net.Core.Web.Online.Models
responseData.SetControlError(nameof(OrganisationName), Localiser["msg.validation.mandatory.value"]);
else if (StringUtil.GetLength(OrganisationName) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.Organisation_Name))
responseData.SetControlError(nameof(OrganisationName), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.Organisation_Name)]);
else if (SysId.IsValid(OrganisationRegionIdCountry.ToSysId()))
else if (SysId.IsValid(ExtractSysId(OrganisationRegionIdCountry)))
{
// Ensure that the organisation name is unique within the country.
SaxOrganisation.Params prmOrganisation = new SaxOrganisation.Params();
prmOrganisation.NameFull = OrganisationName;
prmOrganisation.RegionIdsIncluded.Add(OrganisationRegionIdCountry.ToSysId());
prmOrganisation.RegionIdsIncluded.Add(ExtractSysId(OrganisationRegionIdCountry));
prmOrganisation.StatusCat = SaxOrganisation.StatusCat.Any;
if (AccountMgr.GetOrganisationCount(prmOrganisation) > 0)
responseData.SetControlError(nameof(OrganisationName), Localiser["msg.validation.duplicate.value"]);
@@ -129,13 +129,13 @@ namespace Saxonite.Net.Core.Web.Online.Models
// Organisation Sport - mandatory for certain organisation categories.
if (StringUtil.IsEmpty(OrganisationSportId) && SaxOrganisation.IsSportMandatory(GetOrganisationCategory()))
responseData.SetControlError(nameof(OrganisationSportId), Localiser["msg.validation.mandatory.value"]);
else if (!StringUtil.IsEmpty(OrganisationSportId) && !SysId.IsValid(OrganisationSportId.ToSysId()))
else if (!StringUtil.IsEmpty(OrganisationSportId) && !SysId.IsValid(ExtractSysId(OrganisationSportId)))
responseData.SetControlError(nameof(OrganisationSportId), Localiser["msg.validation.invalid.value"]);
// Organisation Region Country - mandatory.
if (StringUtil.IsEmpty(OrganisationRegionIdCountry))
responseData.SetControlError(nameof(OrganisationRegionIdCountry), Localiser["msg.validation.mandatory.value"]);
else if (!SysId.IsValid(OrganisationRegionIdCountry.ToSysId()))
else if (!SysId.IsValid(ExtractSysId(OrganisationRegionIdCountry)))
responseData.SetControlError(nameof(OrganisationRegionIdCountry), Localiser["msg.validation.invalid.value"]);
// Organisation Address Line 1 - mandatory.
@@ -88,7 +88,7 @@ namespace Saxonite.Net.Core.Web.Online.Models
// Opportunity sport.
if (OpportunitySportId != null)
{
SysId articleSportId = OpportunitySportId.ToSysId();
SysId articleSportId = ExtractSysId(OpportunitySportId);
if (!SysId.IsValid(articleSportId))
responseData.SetControlError(nameof(OpportunitySportId), Localiser["msg.validation.mandatory.value"]);
}
@@ -96,7 +96,7 @@ namespace Saxonite.Net.Core.Web.Online.Models
// Opportunity region.
if (OpportunityRegionId != null)
{
SysId articleRegionId = OpportunityRegionId.ToSysId();
SysId articleRegionId = ExtractSysId(OpportunityRegionId);
if (!SysId.IsValid(articleRegionId))
responseData.SetControlError(nameof(OpportunityRegionId), Localiser["msg.validation.mandatory.value"]);
}
@@ -0,0 +1,117 @@
using Microsoft.AspNetCore.Http;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Utils;
using Saxonite.Base.App;
using Saxonite.Net.Core.Web.Base.App;
using Saxonite.Net.Core.Web.Base.Controllers;
using Saxonite.Net.Core.Web.Base.Models;
using Saxonite.Net.Standard.Base.App;
using Saxonite.Net.Standard.Base.Bus;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Saxonite.Net.Core.Web.Online.Models
{
//=======================================================================
public class Model_UserSportExperience : SaxModel_Online
{
//-------------------------------------------------------------------
// Construction.
public Model_UserSportExperience(SaxLocaliser localiser) :
base(localiser)
{
}
//-------------------------------------------------------------------
// User Sports Experience Properties.
public String UserSportExperienceId { get; set; }
public String UserSportExperienceExists { get; set; }
public String UserSportId { get; set; }
public String ExperiencePeriodFrom { get; set; }
public String ExperiencePeriodTo { get; set; }
public String ExperienceOrganisationId { get; set; }
public String ExperienceOrganisationName { get; set; }
public String ExperienceSummary { get; set; }
public String ExperienceTeam { get; set; }
public String ExperienceLeague { get; set; }
public String ExperienceSpeciality { get; set; }
// Regions.
public String ExperienceRegionIdNation { get; set; }
public String ExperienceRegionIdProvince { get; set; }
//-------------------------------------------------------------------
// Validate User Sport Experience data.
public bool ValidateProfileSportData(SaxController_Base.AjaxResponse_Data responseData)
{
// Period dates.
DateTime periodFrom = ParseDateFromForm(ExperiencePeriodFrom);
DateTime periodTo = ParseDateFromForm(ExperiencePeriodTo);
// Period From.
if (ExperiencePeriodFrom != null)
{
// Period from date is mandatory.
if (!DateUtil.IsValid(periodFrom))
responseData.SetControlError(nameof(ExperiencePeriodFrom), Localiser["msg.validation.invalid.value"]);
}
// Period To.
if (ExperiencePeriodTo != null)
{
// Period to date is optional must not be before the from date.
if (DateUtil.IsValid(periodTo) && DateUtil.IsValid(periodFrom) && periodTo.CompareTo(periodFrom) < 0)
responseData.SetControlError(nameof(ExperiencePeriodTo), Localiser["msg.validation.invalid.value"]);
}
// Organisation name.
if (ExperienceOrganisationName != null)
{
responseData.SetControlValue(nameof(ExperienceOrganisationName), ExperienceOrganisationName);
if (StringUtil.GetLength(ExperienceOrganisationName) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_OrganisationName))
responseData.SetControlError(nameof(ExperienceOrganisationName), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_OrganisationName)]);
}
// Summary.
if (ExperienceSummary != null)
{
responseData.SetControlValue(nameof(ExperienceSummary), ExperienceSummary);
if (StringUtil.IsEmpty(ExperienceSummary))
responseData.SetControlError(nameof(ExperienceSummary), Localiser["msg.validation.mandatory.value"]);
else if (StringUtil.GetLength(ExperienceSummary) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Summary))
responseData.SetControlError(nameof(ExperienceSummary), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Summary)]);
}
// Team.
if (ExperienceTeam != null)
{
responseData.SetControlValue(nameof(ExperienceTeam), ExperienceTeam);
if (StringUtil.GetLength(ExperienceTeam) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Team))
responseData.SetControlError(nameof(ExperienceTeam), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Team)]);
}
// League.
if (ExperienceLeague != null)
{
responseData.SetControlValue(nameof(ExperienceLeague), ExperienceLeague);
if (StringUtil.GetLength(ExperienceLeague) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_League))
responseData.SetControlError(nameof(ExperienceLeague), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_League)]);
}
// Speciality.
if (ExperienceSpeciality != null)
{
responseData.SetControlValue(nameof(ExperienceSpeciality), ExperienceSpeciality);
if (StringUtil.GetLength(ExperienceSpeciality) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Speciality))
responseData.SetControlError(nameof(ExperienceSpeciality), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Speciality)]);
}
return !responseData.HasControlErrors();
}
//-------------------------------------------------------------------
}
//=======================================================================
}
@@ -131,9 +131,11 @@ namespace Saxonite.Net.Core.Web.Online.Models
idObfuscationParams.Add(ParamName_IdObfuscation_Id, SysId.ToString(id));
return SaxController_Base.EncryptParameters(idObfuscationParams, Base64IV_IdObfuscation, Base64Key_IdObfuscation);
}
public SysId DecryptId(String encryptedParams)
public SysId DecryptId(String encryptedId)
{
NameValueCollection idObfuscationParams = SaxController_Base.DecryptParameters(encryptedParams, Base64IV_IdObfuscation, Base64Key_IdObfuscation);
if (StringUtil.IsNumeric(encryptedId))
return encryptedId.ToSysId();
NameValueCollection idObfuscationParams = SaxController_Base.DecryptParameters(encryptedId, Base64IV_IdObfuscation, Base64Key_IdObfuscation);
return idObfuscationParams.Get(ParamName_IdObfuscation_Id).ToSysId();
}