This commit is contained in:
2021-06-25 11:20:18 +01:00
parent e40ff8a7f2
commit 03873bbdf4
126 changed files with 3836 additions and 175 deletions
@@ -19,7 +19,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
{
//-------------------------------------------------------------------
// Region data.
public class RegionData_List
private class RegionData_List
{
public String Id { get; set; }
public String RegionTypeCode { get; set; }
@@ -30,8 +30,9 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
public String StatusCode { get; set; }
public String StatusDesc { get; set; }
}
public class RegionData_Full : RegionData_List
private class RegionData_Full : RegionData_List
{
public int RegionIdParent { get; set; }
}
private void PopulateRegionResponseData(SaxRegion region, RegionData_List data)
{
@@ -40,19 +41,27 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
data.RegionTypeDesc = RegionTypeCodes.GetDescForType(region.RegionType);
data.CountryIso2Code = region.CountryIso2Code;
data.Name = region.Name;
using (SaxRegion parentRegion = ReferenceMgr.GetRegionById(region.RegionIdParent))
{
if (parentRegion != null) data.ParentName = parentRegion.Name;
}
data.StatusCode = region.StatusCode;
data.StatusDesc = region.StatusDesc;
}
private void PopulateRegionResponseData(SaxRegion region, RegionData_Full data)
{
PopulateRegionResponseData(region, data as RegionData_List);
data.RegionIdParent = SysId.ToInt(region.RegionIdParent);
}
//-------------------------------------------------------------------
// Get Region List ajax request.
//-------------------------------------------------------------------
public class AjaxResponse_RegionList : AjaxResponse_Data
private class AjaxResponse_RegionList : AjaxResponse_Data
{
// Construction.
public AjaxResponse_RegionList(SaxModel_Admin model) : base(model) { }
// Region list.
public List<RegionData_List> Regions { get; } = new List<RegionData_List>();
// Reference data.
public List<CodeDesc> Statuses { get; } = new List<CodeDesc>();
@@ -65,7 +74,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
{
String fn = GetType().Name + ".Ajax_GetList";
String messageTitle = Localiser["region.caption.regions"];
AjaxResponse_RegionList responseData = new AjaxResponse_RegionList();
AjaxResponse_RegionList responseData = new AjaxResponse_RegionList(model);
// Validate session.
if (!ValidUserSession)
@@ -139,8 +148,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
//-------------------------------------------------------------------
// Get Region ajax request.
//-------------------------------------------------------------------
public class AjaxResponse_Region : AjaxResponse_Data
private class AjaxResponse_Region : AjaxResponse_Data
{
// Construction.
public AjaxResponse_Region(SaxModel_Admin model) : base(model) { }
// Region details.
public RegionData_Full region { get; } = new RegionData_Full();
}
//-------------------------------------------------------------------
@@ -150,7 +162,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
{
String fn = GetType().Name + ".Ajax_GetItem";
String messageTitle = Localiser["region.caption.region"];
AjaxResponse_Region responseData = new AjaxResponse_Region();
AjaxResponse_Region responseData = new AjaxResponse_Region(model);
// Validate session.
if (!ValidUserSession)
@@ -187,7 +199,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
{
String fn = GetType().Name + ".Ajax_StoreItem";
String messageTitle = Localiser["region.caption.region"];
AjaxResponse_Region responseData = new AjaxResponse_Region();
AjaxResponse_Region responseData = new AjaxResponse_Region(model);
// Validate session.
if (!ValidUserSession)
@@ -212,10 +224,14 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers
region = ReferenceMgr.CreateRegion();
// Populate item properties.
if (model.RegionTypeCode != null)
region.RegionType = model.RegionType;
if (model.RegionCountryIso2Code != null)
region.CountryIso2Code = model.RegionCountryIso2Code;
if (model.RegionName != null)
region.Name = model.RegionName;
if (model.RegionIdParent != null)
region.RegionIdParent = model.RegionIdParent.ToSysId();
if (model.RegionStatusCode != null)
region.Status = model.RegionStatus;