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_UserSportContact: SaxModel_Online { //------------------------------------------------------------------- // Construction. public Model_UserSportContact(SaxLocaliser localiser) : base(localiser) { } //------------------------------------------------------------------- // User Sports Contact properties. public class SportContactData { public String Type { get; set; } public String EmailAddress { get; set; } public String Title { get; set; } public String FirstName { get; set; } public String LastName { get; set; } } public SportContactData SportContact { get; } = new SportContactData(); //------------------------------------------------------------------- // Validate User Sport Contact data. public bool ValidateUserSportContactData(SaxController_Base.AjaxResponse_Data responseData) { // Contact Type. String controlName = "ContactType"; if (SportContact.Type != null) { // Contact Type is mandatory. if (StringUtil.IsBlank(SportContact.Type)) responseData.SetControlError(controlName, Localiser["msg.validation.invalid.value"]); } // Email. controlName = "ContactEmailAddress"; if (SportContact.EmailAddress != null) { responseData.SetControlValue(controlName, SportContact.EmailAddress); // Email is optional. if (StringUtil.GetLength(SportContact.EmailAddress) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress)) responseData.SetControlError(controlName, Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress)]); } // Title. controlName = "ContactTitle"; if (SportContact.Title != null) { // Title is selected from dropdown so no validation should be required. if (StringUtil.GetLength(SportContact.Title) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_Title)) responseData.SetControlError(controlName, Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_Title)]); } // First Name. controlName = "ContactFirstName"; if (SportContact.FirstName != null) { responseData.SetControlValue(controlName, SportContact.FirstName); // First name is mandatory. if (StringUtil.IsBlank(SportContact.FirstName)) responseData.SetControlError(controlName, Localiser["msg.validation.invalid.value"]); else if (StringUtil.GetLength(SportContact.FirstName) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_FirstName)) responseData.SetControlError(controlName, Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_FirstName)]); } // Last Name. controlName = "ContactLastName"; if (SportContact.LastName != null) { responseData.SetControlValue(controlName, SportContact.LastName); // Last name is mandatory. if (StringUtil.IsBlank(SportContact.LastName)) responseData.SetControlError(controlName, Localiser["msg.validation.invalid.value"]); else if (StringUtil.GetLength(SportContact.LastName) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_LastName)) responseData.SetControlError(controlName, Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_LastName)]); } return !responseData.HasControlErrors(); } //------------------------------------------------------------------- } //======================================================================= }