103 lines
4.0 KiB
C#
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();
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|