Files
Saxonite/SaxoniteCoreWebOnline/Online/Models/Model_UserSportContact.cs
T
2022-12-12 14:20:49 +00:00

103 lines
4.0 KiB
C#

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();
}
//-------------------------------------------------------------------
}
//=======================================================================
}