using Sarand.Net.Standard.Base.App; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Helpers; 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.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_Organisation : SaxModel_Online { //------------------------------------------------------------------- // Construction. public Model_Organisation(SaxLocaliser localiser) : base(localiser) { // Model data. Organisation = new ModelData_Organisation(this); // Page includes. //AdditionalFiles_CSS.Add("css/sax-org.css"); AdditionalFiles_JS.Add("js/sax-org.js"); } //------------------------------------------------------------------- // List configuration. public class OrganisationFilterData { public String Organisation { get; set; } public String RegionId { get; set; } public String SportId { get; set; } } public OrganisationFilterData Filter { get; } = new OrganisationFilterData(); //------------------------------------------------------------------- // Organisation properties. public ModelData_Organisation Organisation { get; set; } // User - for organisation request. public String ContactEmailAddress { get; set; } public String ContactFirstName { get; set; } public String ContactLastName { get; set; } //------------------------------------------------------------------- // Validation. //------------------------------------------------------------------- // Organisation. public bool ValidateOrganisationRequestData(SaxController_Base.AjaxResponse_Data responseData) { // User Email Address - mandatory when supplied. if (ContactEmailAddress != null) { responseData.SetControlValue(nameof(ContactEmailAddress), ContactEmailAddress); if (StringUtil.IsEmpty(ContactEmailAddress)) responseData.SetControlError(nameof(ContactEmailAddress), Localiser["msg.validation.mandatory.value"]); else if (!SacsDataValidationHelper.IsValidEmailAddress(ContactEmailAddress)) responseData.SetControlError(nameof(ContactEmailAddress), Localiser["msg.validation.invalid.value"]); else if (StringUtil.GetLength(ContactEmailAddress) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress)) responseData.SetControlError(nameof(ContactEmailAddress), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress)]); else if (AccountMgr.UserAccountExistsByEmailAddress(ContactEmailAddress)) responseData.SetControlError(nameof(ContactEmailAddress), Localiser["msg.validation.duplicate.value"]); } // User First Name - mandatory when supplied. if (ContactFirstName != null) { responseData.SetControlValue(nameof(ContactFirstName), ContactFirstName); if (StringUtil.IsEmpty(ContactFirstName)) responseData.SetControlError(nameof(ContactFirstName), Localiser["msg.validation.mandatory.value"]); else if (StringUtil.GetLength(ContactFirstName) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_FirstName)) responseData.SetControlError(nameof(ContactFirstName), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_FirstName)]); } // User Last Name - mandatory when supplied. if (ContactLastName != null) { responseData.SetControlValue(nameof(ContactLastName), ContactLastName); if (StringUtil.IsEmpty(ContactLastName)) responseData.SetControlError(nameof(ContactLastName), Localiser["msg.validation.mandatory.value"]); else if (StringUtil.GetLength(ContactLastName) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_LastName)) responseData.SetControlError(nameof(ContactLastName), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_LastName)]); } // Organisation properties. Organisation.ValidateOrganisationData(responseData); return !responseData.HasControlErrors(); } //------------------------------------------------------------------- } //======================================================================= }