127 lines
5.6 KiB
C#
127 lines
5.6 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_UserSportExperience : SaxModel_Online
|
|
{
|
|
//-------------------------------------------------------------------
|
|
// Construction.
|
|
public Model_UserSportExperience(SaxLocaliser localiser) :
|
|
base(localiser)
|
|
{
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// User Sports Experience Properties.
|
|
public String UserSportExperienceId { get; set; }
|
|
public String UserSportExperienceExists { get; set; }
|
|
public String UserSportId { get; set; }
|
|
public String ExperiencePeriodFrom { get; set; }
|
|
public String ExperiencePeriodTo { get; set; }
|
|
public String ExperienceOrganisationId { get; set; }
|
|
public String ExperienceOrganisationName { get; set; }
|
|
public String ExperienceSummary { get; set; }
|
|
public String ExperienceTeam { get; set; }
|
|
public String ExperienceLeague { get; set; }
|
|
public String ExperienceSpeciality { get; set; }
|
|
public String ExperienceAwards{ get; set; }
|
|
// Regions.
|
|
public String ExperienceRegionIdNation { get; set; }
|
|
public String ExperienceRegionIdProvince { get; set; }
|
|
|
|
//-------------------------------------------------------------------
|
|
// Validate User Sport Experience data.
|
|
public bool ValidateProfileSportData(SaxController_Base.AjaxResponse_Data responseData)
|
|
{
|
|
// Period dates.
|
|
DateTime periodFrom = ParseDateFromForm(ExperiencePeriodFrom);
|
|
DateTime periodTo = ParseDateFromForm(ExperiencePeriodTo);
|
|
|
|
// Period From.
|
|
if (ExperiencePeriodFrom != null)
|
|
{
|
|
// Period from date is mandatory.
|
|
if (!DateUtil.IsValid(periodFrom))
|
|
responseData.SetControlError(nameof(ExperiencePeriodFrom), Localiser["msg.validation.invalid.value"]);
|
|
}
|
|
|
|
// Period To.
|
|
if (ExperiencePeriodTo != null)
|
|
{
|
|
// Period to date is optional must not be before the from date.
|
|
if (DateUtil.IsValid(periodTo) && DateUtil.IsValid(periodFrom) && periodTo.CompareTo(periodFrom) < 0)
|
|
responseData.SetControlError(nameof(ExperiencePeriodTo), Localiser["msg.validation.invalid.value"]);
|
|
}
|
|
|
|
// Organisation name.
|
|
if (ExperienceOrganisationName != null)
|
|
{
|
|
responseData.SetControlValue(nameof(ExperienceOrganisationName), ExperienceOrganisationName);
|
|
if (StringUtil.GetLength(ExperienceOrganisationName) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_OrganisationName))
|
|
responseData.SetControlError(nameof(ExperienceOrganisationName), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_OrganisationName)]);
|
|
}
|
|
|
|
// Summary.
|
|
if (ExperienceSummary != null)
|
|
{
|
|
responseData.SetControlValue(nameof(ExperienceSummary), ExperienceSummary);
|
|
if (StringUtil.IsEmpty(ExperienceSummary))
|
|
responseData.SetControlError(nameof(ExperienceSummary), Localiser["msg.validation.mandatory.value"]);
|
|
else if (StringUtil.GetLength(ExperienceSummary) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Summary))
|
|
responseData.SetControlError(nameof(ExperienceSummary), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Summary)]);
|
|
}
|
|
|
|
// Team.
|
|
if (ExperienceTeam != null)
|
|
{
|
|
responseData.SetControlValue(nameof(ExperienceTeam), ExperienceTeam);
|
|
if (StringUtil.GetLength(ExperienceTeam) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Team))
|
|
responseData.SetControlError(nameof(ExperienceTeam), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Team)]);
|
|
}
|
|
|
|
// League.
|
|
if (ExperienceLeague != null)
|
|
{
|
|
responseData.SetControlValue(nameof(ExperienceLeague), ExperienceLeague);
|
|
if (StringUtil.GetLength(ExperienceLeague) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_League))
|
|
responseData.SetControlError(nameof(ExperienceLeague), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_League)]);
|
|
}
|
|
|
|
// Speciality.
|
|
if (ExperienceSpeciality != null)
|
|
{
|
|
responseData.SetControlValue(nameof(ExperienceSpeciality), ExperienceSpeciality);
|
|
if (StringUtil.GetLength(ExperienceSpeciality) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Speciality))
|
|
responseData.SetControlError(nameof(ExperienceSpeciality), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Speciality)]);
|
|
}
|
|
|
|
// Awards.
|
|
if (ExperienceAwards != null)
|
|
{
|
|
responseData.SetControlValue(nameof(ExperienceAwards), ExperienceAwards);
|
|
if (StringUtil.GetLength(ExperienceAwards) > GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Awards))
|
|
responseData.SetControlError(nameof(ExperienceAwards), Localiser["msg.validation.maximum.length", GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserSportExperience_Awards)]);
|
|
}
|
|
|
|
return !responseData.HasControlErrors();
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|