This commit is contained in:
2022-05-29 13:45:22 +01:00
parent d631ad0223
commit 833798c9f8
93 changed files with 2063 additions and 788 deletions
@@ -39,7 +39,7 @@ namespace Saxonite.Net.Core.Web.Admin.Models
public String Town { get; set; }
public String Province { get; set; }
public String RegionIdProvince { get; set; }
public String Country { get; set; }
public String RegionIdCountry { get; set; }
public String PostalCode { get; set; }
//-------------------------------------------------------------------
@@ -47,14 +47,14 @@ namespace Saxonite.Net.Core.Web.Admin.Models
/// <summary>Have any address values been supplied by the form.</summary>
public bool IsSpecified()
{
if (Id != null || Line1 != null || Town != null || Province != null || Country != null || PostalCode != null)
if (Id != null || Line1 != null || Town != null || Province != null || RegionIdCountry != null || PostalCode != null)
return true;
return false;
}
/// <summary>Have any address values been populated on the form.</summary>
public bool IsPopulated()
{
if (SysId.IsValid(Id.ToSysId()) || !StringUtil.IsEmpty(Line1) || !StringUtil.IsEmpty(Town) || !StringUtil.IsEmpty(Province) || !StringUtil.IsEmpty(Country) || !StringUtil.IsEmpty(PostalCode))
if (SysId.IsValid(Id.ToSysId()) || !StringUtil.IsEmpty(Line1) || !StringUtil.IsEmpty(Town) || !StringUtil.IsEmpty(Province) || !StringUtil.IsEmpty(RegionIdCountry) || !StringUtil.IsEmpty(PostalCode))
return true;
return false;
}
@@ -63,7 +63,7 @@ namespace Saxonite.Net.Core.Web.Admin.Models
// Validation.
//-------------------------------------------------------------------
// Address.
public bool ValidateAddressData(SaxController_Base.AjaxResponse_Data responseData)
public bool ValidateAddressData(SaxModel_Admin model, SaxController_Base.AjaxResponse_Data responseData)
{
// Are any properties populated.
bool populated = IsPopulated();
@@ -101,32 +101,37 @@ namespace Saxonite.Net.Core.Web.Admin.Models
// Address Town - mandatory if any value populated.
if (Town != null)
{
responseData.SetControlValue(ControlNameSuffix + "Town", Town);
String controlName = ControlNameSuffix + nameof(Town);
responseData.SetControlValue(controlName, Town);
if (StringUtil.IsEmpty(Town) && populated)
responseData.SetControlError(ControlNameSuffix + "Town", Model.Localiser["msg.validation.mandatory.value"]);
responseData.SetControlError(controlName, Model.Localiser["msg.validation.mandatory.value"]);
else if (StringUtil.GetLength(Town) > Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.ItemAddress_Town))
responseData.SetControlError(ControlNameSuffix + "Town", Model.Localiser["msg.validation.maximum.length", Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.ItemAddress_Town)]);
responseData.SetControlError(controlName, Model.Localiser["msg.validation.maximum.length", Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.ItemAddress_Town)]);
}
// Address Province - optional.
if (Province != null)
{
responseData.SetControlValue(ControlNameSuffix + "Province", Province);
String controlName = ControlNameSuffix + nameof(Province);
responseData.SetControlValue(controlName, Province);
if (!StringUtil.IsEmpty(Province))
{
if (StringUtil.GetLength(Province) > Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.ItemAddress_Province))
responseData.SetControlError(ControlNameSuffix + "Province", Model.Localiser["msg.validation.maximum.length", Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.ItemAddress_Province)]);
responseData.SetControlError(controlName, Model.Localiser["msg.validation.maximum.length", Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.ItemAddress_Province)]);
}
}
// Address Country - optional.
if (Country != null)
// Address Country - mandatory if any value populated.
if (RegionIdCountry != null)
{
responseData.SetControlValue(ControlNameSuffix + "Country", Country);
if (!StringUtil.IsEmpty(Country))
String controlName = ControlNameSuffix + nameof(RegionIdCountry);
if (!SysId.IsValid(RegionIdCountry.ToSysId()) && populated)
responseData.SetControlError(controlName, Model.Localiser["msg.validation.mandatory.value"]);
else if (SysId.IsValid(RegionIdCountry.ToSysId()))
{
if (StringUtil.GetLength(Country) > Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.ItemAddress_Country))
responseData.SetControlError(ControlNameSuffix + "Country", Model.Localiser["msg.validation.maximum.length", Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.ItemAddress_Country)]);
SaxRegion.Data region = model.Internals.GetRegion(RegionIdCountry.ToSysId());
if (region == null || region.RegionType != Sax.RegionType.Country)
responseData.SetControlError(controlName, Model.Localiser["msg.validation.invalid.value"]);
}
}