diff --git a/SaxoniteCoreUnitTests/SaxoniteCoreUnitTests.csproj b/SaxoniteCoreUnitTests/SaxoniteCoreUnitTests.csproj index 3f560a3..850e083 100644 --- a/SaxoniteCoreUnitTests/SaxoniteCoreUnitTests.csproj +++ b/SaxoniteCoreUnitTests/SaxoniteCoreUnitTests.csproj @@ -9,10 +9,10 @@ - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/SaxoniteCoreUnitTestsOnline/SaxoniteCoreUnitTestsOnline.csproj b/SaxoniteCoreUnitTestsOnline/SaxoniteCoreUnitTestsOnline.csproj index 50d8f90..b4637c2 100644 --- a/SaxoniteCoreUnitTestsOnline/SaxoniteCoreUnitTestsOnline.csproj +++ b/SaxoniteCoreUnitTestsOnline/SaxoniteCoreUnitTestsOnline.csproj @@ -9,10 +9,10 @@ - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/SaxoniteCoreWeb/Base/App/SaxAppConfig.cs b/SaxoniteCoreWeb/Base/App/SaxAppConfig.cs index 03c7375..421bda4 100644 --- a/SaxoniteCoreWeb/Base/App/SaxAppConfig.cs +++ b/SaxoniteCoreWeb/Base/App/SaxAppConfig.cs @@ -21,7 +21,7 @@ namespace Saxonite.Net.Core.Web.Base.App public SaxAppConfig(String context, ConfigurationSection configSection, SaxAppConfig defaultConfig) { Context = context; - populateDefaults(defaultConfig); + PopulateDefaults(defaultConfig); PopulateConfig(configSection); } @@ -118,13 +118,15 @@ namespace Saxonite.Net.Core.Web.Base.App public LoggingConfig Logging { get; } = new LoggingConfig(); //--------------------------------------------------------------- - private void populateDefaults(SaxAppConfig defaultConfig) + private void PopulateDefaults(SaxAppConfig defaultConfig) { if (defaultConfig == null) return; Security.Password.MinLength = defaultConfig.Security.Password.MinLength; Security.SignIn.KeepLoggedIn.Allowed = defaultConfig.Security.SignIn.KeepLoggedIn.Allowed; Security.SignIn.KeepLoggedIn.CookieExpiresDays = defaultConfig.Security.SignIn.KeepLoggedIn.CookieExpiresDays; } + + //--------------------------------------------------------------- private void PopulateConfig(ConfigurationSection configSection) { if (configSection != null) @@ -133,6 +135,7 @@ namespace Saxonite.Net.Core.Web.Base.App foreach (ConfigurationSection environment in configSection.GetSection("Environments").GetChildren()) environments.Add(StringUtil.TrimAll(environment.Value)); Instance = StringUtil.OnEmpty(configSection["Instance"], Instance); + // URLs. IConfigurationSection urls = configSection.GetSection("URLs"); if (urls.Exists()) @@ -143,6 +146,7 @@ namespace Saxonite.Net.Core.Web.Base.App URL.Online.Root = onlineUrls["Root"]; } } + // Security. IConfigurationSection security = configSection.GetSection("Security"); if (security.Exists()) @@ -170,6 +174,7 @@ namespace Saxonite.Net.Core.Web.Base.App } } } + // Email. IConfigurationSection email = configSection.GetSection("Email"); if (email.Exists()) @@ -179,20 +184,24 @@ namespace Saxonite.Net.Core.Web.Base.App PopulateEmailConfig(Email.Signup_Activate, email.GetSection("Signup").GetSection("Activate")); PopulateEmailConfig(Email.Signup_Welcome, email.GetSection("Signup").GetSection("Welcome")); } + // Documents. IConfigurationSection documents = configSection.GetSection("Documents"); if (documents.Exists()) { Documents.RootFolder = StringUtil.OnEmpty(documents["RootFolder"], Documents.RootFolder); } + // Logging. IConfigurationSection logging = configSection.GetSection("Logging"); if (logging.Exists()) { Logging.RootFolder = StringUtil.OnEmpty(logging["RootFolder"], Logging.RootFolder); } + // Database. - extractDatabasesConfig(Databases, configSection.GetSection("Databases")); + ExtractDatabasesConfig(Databases, configSection.GetSection("Databases")); + // Variants. foreach (ConfigurationSection variantSection in configSection.GetSection("Variants").GetChildren()) { @@ -204,6 +213,8 @@ namespace Saxonite.Net.Core.Web.Base.App } } } + + //--------------------------------------------------------------- private void PopulateEmailConfig(EmailConfig.SpecificEmailConfig config, IConfigurationSection emailSection) { if (!emailSection.Exists()) return; @@ -214,14 +225,18 @@ namespace Saxonite.Net.Core.Web.Base.App foreach (var addressBcc in emailSection.GetSection("AddressesBcc").GetChildren()) config.AddressesBcc.Add(StringUtil.TrimAll(addressBcc.Value)); } - private void extractDatabasesConfig(DatabasesConfig databases, IConfigurationSection databasesSection) + + //--------------------------------------------------------------- + private void ExtractDatabasesConfig(DatabasesConfig databases, IConfigurationSection databasesSection) { if (!databasesSection.Exists()) return; // 'Database' section contains a separate named configuration for each database: 'Core', 'Support' etc. foreach (var databaseSection in databasesSection.GetChildren()) - extractDatabaseConfig(databases, databaseSection); + ExtractDatabaseConfig(databases, databaseSection); } - private void extractDatabaseConfig(DatabasesConfig databases, IConfigurationSection databaseSection) + + //--------------------------------------------------------------- + private void ExtractDatabaseConfig(DatabasesConfig databases, IConfigurationSection databaseSection) { if (!databaseSection.Exists()) return; Sax.Database databaseType = EnumUtil.ParseEnum(databaseSection.Key); diff --git a/SaxoniteCoreWeb/Base/App/SaxApplication_Web.cs b/SaxoniteCoreWeb/Base/App/SaxApplication_Web.cs index 4bfd892..9e83679 100644 --- a/SaxoniteCoreWeb/Base/App/SaxApplication_Web.cs +++ b/SaxoniteCoreWeb/Base/App/SaxApplication_Web.cs @@ -132,9 +132,9 @@ namespace Saxonite.Net.Core.Web.Base.App // Configure database connection. SaxAppConfig.DatabaseConfig databaseConfig = AppConfig.Databases.Databases.GetValue(databaseInstance, new SaxAppConfig.DatabaseConfig()); SacsDatabaseConsole.OdbcConfig config = new SacsDatabaseConsole.OdbcConfig(); - config.location = databaseConfig.Location; - config.user = databaseConfig.User; - config.pword = databaseConfig.Password; + config.Location = databaseConfig.Location; + config.User = databaseConfig.User; + config.Password = databaseConfig.Password; SacsDatabase database = SacsDatabaseConsole.OpenOdbcDatabase(config); if (database.HasErrorState()) SaLogger.Warn(SysUtil.Fn + " " + databaseInstance.ToString() + " Database initialisation error: " + database.ErrorStateMessage); diff --git a/SaxoniteCoreWeb/Base/App/SaxLocaliser.cs b/SaxoniteCoreWeb/Base/App/SaxLocaliser.cs index 57fb5cc..5935540 100644 --- a/SaxoniteCoreWeb/Base/App/SaxLocaliser.cs +++ b/SaxoniteCoreWeb/Base/App/SaxLocaliser.cs @@ -34,12 +34,13 @@ namespace Saxonite.Net.Core.Web.Base.App // Properties. public abstract IStringLocalizer MainProperties { get; } public virtual List AlternativeProperties { get; } = new List(); + private HashSet MissingKeysLogged { get; } = new HashSet(StringComparer.OrdinalIgnoreCase); - //------------------------------------------------------------------- - // Generic phrase translation. - //------------------------------------------------------------------- - /// Retrieve localised text. - public LocalizedString GetText(string key) + //------------------------------------------------------------------- + // Generic phrase translation. + //------------------------------------------------------------------- + /// Retrieve localised text. + public LocalizedString GetText(string key) { return GetText(key, null); } @@ -72,8 +73,11 @@ namespace Saxonite.Net.Core.Web.Base.App break; } } - if (text.ResourceNotFound && logMissingKey) - SaLogger.Debug($"{SysUtil.Fn} Key not found: {key}"); + if (text.ResourceNotFound && logMissingKey && !MissingKeysLogged.Contains(key)) + { + MissingKeysLogged.Add(key); + SaLogger.Debug($"{SysUtil.Fn} Key not found: {key}"); + } return text; } @@ -324,6 +328,12 @@ namespace Saxonite.Net.Core.Web.Base.App return GetCodeTypeCaption(Sax.CodeType.UserReportType, reportType); } + // Support Item Process Type. + public String GetSupportItemProcessTypeCaption(Sax.SupportItemProcessType processType) + { + return GetCodeTypeCaption(Sax.CodeType.SupportItemProcessType, processType); + } + //------------------------------------------------------------------- // Region. public String GetRegionName(SaxRegion.Data region) diff --git a/SaxoniteCoreWeb/Base/Controllers/SaxController_Base.cs b/SaxoniteCoreWeb/Base/Controllers/SaxController_Base.cs index 41e990d..fa171f1 100644 --- a/SaxoniteCoreWeb/Base/Controllers/SaxController_Base.cs +++ b/SaxoniteCoreWeb/Base/Controllers/SaxController_Base.cs @@ -91,6 +91,7 @@ namespace Saxonite.Net.Core.Web.Base.Controllers public List ActivityReactionCodes { get { return Internals.ActivityReactionCodes; } } // Support. public List UserReportTypeCodes { get { return Internals.UserReportTypeCodes; } } + public List SupportItemProcessTypeCodes { get { return Internals.SupportItemProcessTypeCodes; } } // Email. public SaEmailConfig EmailConfig { get { return App.EmailConfig; } } public SaxEmailConsole EmailConsole { get { return Internals.EmailConsole; } } diff --git a/SaxoniteCoreWeb/Base/Controllers/SaxController_Web.cs b/SaxoniteCoreWeb/Base/Controllers/SaxController_Web.cs index 35ab706..bbc7be1 100644 --- a/SaxoniteCoreWeb/Base/Controllers/SaxController_Web.cs +++ b/SaxoniteCoreWeb/Base/Controllers/SaxController_Web.cs @@ -106,10 +106,10 @@ namespace Saxonite.Net.Core.Web.Base.Controllers } //------------------------------------------------------------------- - // Parameters. + // Online encryption parameters. //------------------------------------------------------------------- // Online Request Password encryption parameters (key & IV) are defined in - // the base Controller so that they can be shared with the Adnin application. + // the base Controller so that they can be shared with the Admin application. // NB IV value is generated from the key and fixed so that it doesn't change when the application restarts. // IV Must be regenerated if key is changed. protected static String Base64Key_RequestPassword_Online { get; } = SacsEncryptionHelper.EncodePlainKey("{~Saxonite@@Request^Password=}", SacsEncryptionHelper.KeyLength); diff --git a/SaxoniteCoreWeb/Base/Models/SaxModel_Base.cs b/SaxoniteCoreWeb/Base/Models/SaxModel_Base.cs index a6dfc5b..40edf31 100644 --- a/SaxoniteCoreWeb/Base/Models/SaxModel_Base.cs +++ b/SaxoniteCoreWeb/Base/Models/SaxModel_Base.cs @@ -54,7 +54,8 @@ namespace Saxonite.Net.Core.Web.Base.Models //------------------------------------------------------------------- // Page configuration. - public String InstanceVersion { get { return !StringUtil.IsEmpty(App.AppConfig.Instance) ? App.AppConfig.Instance + " v" + Sax.Version.GetFullVersion() : "v" + Sax.Version.GetAppVersion(); } } + public String Version { get { return SaxSystem.DebugMode ? $"v{Sax.Version.GetFullVersion()}" : $"v{Sax.Version.GetAppVersion()}"; } } + public String InstanceVersion { get { return (!StringUtil.IsEmpty(App.AppConfig.Instance) ? App.AppConfig.Instance + " " : "") + $"{Version}"; } } //------------------------------------------------------------------- // Business components. @@ -93,6 +94,7 @@ namespace Saxonite.Net.Core.Web.Base.Models public List ActivityReactionCodes { get { return Internals.ActivityReactionCodes; } } // Support. public List UserReportTypeCodes { get { return Internals.UserReportTypeCodes; } } + public List SupportItemProcessTypeCodes { get { return Internals.SupportItemProcessTypeCodes; } } //------------------------------------------------------------------- // Common data components. diff --git a/SaxoniteCoreWeb/Base/Procs/SaxGolfUsgaDataLookup.cs b/SaxoniteCoreWeb/Base/Procs/SaxGolfUsgaDataLookup.cs index 1c44508..01ef8c3 100644 --- a/SaxoniteCoreWeb/Base/Procs/SaxGolfUsgaDataLookup.cs +++ b/SaxoniteCoreWeb/Base/Procs/SaxGolfUsgaDataLookup.cs @@ -625,7 +625,7 @@ namespace Saxonite.Net.Core.Web.Base.Procs if (StringUtil.IsBlank(usgaCourse.UsgaFacilityId)) continue; SaxReferenceGolfMgr.UsgaFacilityData facilityData = new SaxReferenceGolfMgr.UsgaFacilityData(); facilityData.ProvinceCode = provinceCode; - facilityData.UsgaFacilityId = StringUtil.ToSysId(usgaCourse.UsgaFacilityId); + facilityData.UsgaFacilityId = SysId.ToSysId(usgaCourse.UsgaFacilityId); facilityData.FacilityName = usgaCourse.FacilityName; if (!SysId.IsValid(facilityData.UsgaFacilityId)) { @@ -643,9 +643,9 @@ namespace Saxonite.Net.Core.Web.Base.Procs { if (StringUtil.IsBlank(usgaCourse.UsgaCourseId)) continue; SaxReferenceGolfMgr.UsgaCourseData courseData = new SaxReferenceGolfMgr.UsgaCourseData(); - courseData.UsgaFacilityId = StringUtil.ToSysId(usgaCourse.UsgaFacilityId); - courseData.UsgaCourseId = StringUtil.ToSysId(usgaCourse.UsgaCourseId); - courseData.LegacyCrpCourseId = StringUtil.ToSysId(usgaCourse.LegacyCrpCourseId); + courseData.UsgaFacilityId = SysId.ToSysId(usgaCourse.UsgaFacilityId); + courseData.UsgaCourseId = SysId.ToSysId(usgaCourse.UsgaCourseId); + courseData.LegacyCrpCourseId = SysId.ToSysId(usgaCourse.LegacyCrpCourseId); courseData.Caption = usgaCourse.Caption; courseData.CourseName = usgaCourse.CourseName; courseData.FullName = usgaCourse.FullName; @@ -1026,10 +1026,10 @@ namespace Saxonite.Net.Core.Web.Base.Procs } else if (markerColumns.ColIdx_MarkerId == teeColumnIdx) { - markerData18.MarkerId = StringUtil.ToSysId(propertyText); + markerData18.MarkerId = SysId.ToSysId(propertyText); // Unclear if Tee Id is relevant to 9 holes. - //markerDataF9.MarkerId = StringUtil.ToSysId(propertyText); - //markerDataB9.MarkerId = StringUtil.ToSysId(propertyText); + //markerDataF9.MarkerId = SysId.ToSysId(propertyText); + //markerDataB9.MarkerId = SysId.ToSysId(propertyText); } else if (markerColumns.ColIdx_Length == teeColumnIdx) { @@ -1154,7 +1154,7 @@ namespace Saxonite.Net.Core.Web.Base.Procs int markerCount = 0; int courseCount = 0; - int maxMarkers = 0; + //int maxMarkers = 0; int markersCorrected = 0; using (DisposableCollection disposables = new DisposableCollection()) diff --git a/SaxoniteCoreWeb/SaxoniteCoreWeb.csproj b/SaxoniteCoreWeb/SaxoniteCoreWeb.csproj index a054e39..e6a4202 100644 --- a/SaxoniteCoreWeb/SaxoniteCoreWeb.csproj +++ b/SaxoniteCoreWeb/SaxoniteCoreWeb.csproj @@ -23,7 +23,7 @@ - + diff --git a/SaxoniteCoreWebAdmin/Admin/Consoles/SaxConsoleHelper_Admin.cs b/SaxoniteCoreWebAdmin/Admin/Consoles/SaxConsoleHelper_Admin.cs index bd38a33..cd73e30 100644 --- a/SaxoniteCoreWebAdmin/Admin/Consoles/SaxConsoleHelper_Admin.cs +++ b/SaxoniteCoreWebAdmin/Admin/Consoles/SaxConsoleHelper_Admin.cs @@ -41,7 +41,6 @@ namespace Saxonite.Net.Core.Web.Admin.Consoles // Data cache console. public override SaxDataCacheConsole GetDataCacheConsole(SaxSessionContext sessionContext) { - String fn = GetType().Name + ".GetDataCacheConsole"; //throw new NotSupportedException(fn + " Data Cache Console not supported in Admin app."); return null; } diff --git a/SaxoniteCoreWebAdmin/Admin/Consoles/SaxProcessConsole_Admin.cs b/SaxoniteCoreWebAdmin/Admin/Consoles/SaxProcessConsole_Admin.cs index d22a405..6309f5a 100644 --- a/SaxoniteCoreWebAdmin/Admin/Consoles/SaxProcessConsole_Admin.cs +++ b/SaxoniteCoreWebAdmin/Admin/Consoles/SaxProcessConsole_Admin.cs @@ -39,7 +39,7 @@ namespace Saxonite.Net.Core.Web.Admin.Consoles //------------------------------------------------------------------- // Data members. - private SaxInternals internals = null; + //private SaxInternals internals = null; //------------------------------------------------------------------- // Construction. diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/HomeController-Ajax-ApplicationStats.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/HomeController-Ajax-ApplicationStats.cs index 79908af..c4cfd3d 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/HomeController-Ajax-ApplicationStats.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/HomeController-Ajax-ApplicationStats.cs @@ -57,7 +57,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Home/Ajax/GetApplicationStats")] public IActionResult Ajax_GetApplicationStats(Model_Sport model) { - String fn = GetType().Name + ".Ajax_GetApplicationStats"; String messageTitle = Localiser["home.caption.application"]; AjaxResponse_ApplicationStats responseData = new AjaxResponse_ApplicationStats(model); diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/HomeController.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/HomeController.cs index d2d7e25..834461d 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/HomeController.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/HomeController.cs @@ -34,8 +34,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [HttpGet] public IActionResult Index() { - String fn = GetType().Name + ".Index"; - if (!ValidUserSession) AutoLoginUser(); diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/ImageController.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/ImageController.cs index 61aaea8..2242785 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/ImageController.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/ImageController.cs @@ -44,7 +44,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers public IActionResult GetAccountContactImage(String uaie) { String userAccountIdParam = "";// ToDo Decrypt from uaie value. - SysId userAccountId = userAccountIdParam.ToSysId(); + SysId userAccountId = SysId.ToSysId(userAccountIdParam); if (!SysId.IsValid(userAccountId)) userAccountId = SessionUserAccountId; return GetAccountContactImage(userAccountId, Sax.ImageType.Avatar); @@ -80,8 +80,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers /// private IActionResult GetAccountContactImage(SysId userAccountId, Sax.ImageType imageTypePriority) { - String fn = GetType().Name + ".GetAccountContactImage"; - // Validate session and referrer. if (!ValidReferer || !ValidUserSession) return Forbid(); ItemId userItemId = new ItemId((short)Sax.DataItemType.UserAccount, userAccountId); @@ -136,8 +134,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers } private IActionResult GetOrganisationLogo(String encryptedParams, bool allowUploadImage) { - String fn = GetType().Name + ".GetOrganisationLogo"; - // Validate session and referrer. if (!ValidReferer || !ValidUserSession) return Forbid(); @@ -146,7 +142,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers if (parameters.Count < 1) return Forbid(); // Organisation Id. - SysId organisationId = parameters.Get(ParamName_OrganisationId).ToSysId(); + SysId organisationId = SysId.ToSysId(parameters.Get(ParamName_OrganisationId)); if (!SysId.IsValid(organisationId)) return Forbid(); ItemId organisationItemId = new ItemId((short)Sax.DataItemType.Organisation, organisationId); @@ -187,8 +183,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Image/Item")] public IActionResult GetItemImage(String iie) { - String fn = GetType().Name + ".GetItemImage"; - // Validate session and referrer. if (!ValidReferer || !ValidUserSession) return Forbid(); ItemId userItemId = new ItemId((short)Sax.DataItemType.UserAccount, SessionUserAccountId); @@ -198,7 +192,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers if (parameters.Count < 1) return Forbid(); // Item Image. - SysId itemImageId = parameters.Get(ParamName_ItemImageId).ToSysId(); + SysId itemImageId = SysId.ToSysId(parameters.Get(ParamName_ItemImageId)); if (!SysId.IsValid(itemImageId)) return Forbid(); SaxItemImage itemImage = ItemDataMgr.GetItemImageById(itemImageId); if (itemImage == null) diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Activation.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Activation.cs index 56b36b0..a607eb9 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Activation.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Activation.cs @@ -37,7 +37,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Organisation/Ajax/GetActivationInfo")] public IActionResult Ajax_GetActivationInfo(Model_Organisation model) { - String fn = GetType().Name + ".Ajax_GetActivationInfo"; String messageTitle = Localiser["caption.organisation"]; AjaxResponse_OrganisationActivationInfo responseData = new AjaxResponse_OrganisationActivationInfo(model); @@ -53,10 +52,10 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers return Json(responseData.SetMessage(messageTitle, "Root online URL not specified.")); // Identify item. - SysId organisationId = model.OrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.OrganisationId); if (!SysId.IsValid(organisationId)) { - SaLogger.Warn(fn + " Request to get activation info without valid organisation Id."); + SaLogger.Warn($"{SysUtil.Fn} Request to get activation info without valid organisation Id."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.specified"])); } @@ -65,7 +64,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers disposableItems.Add(organisation); if (organisation == null) { - SaLogger.Warn(fn + " Failed to retrieve organisation for Id: '" + model.OrganisationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve organisation. Id: '{model.OrganisationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } @@ -107,7 +106,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Organisation/Ajax/ActivateItem")] public IActionResult Ajax_Activate(Model_OrganisationActivation model) { - String fn = GetType().Name + ".Ajax_Activate"; String messageTitle = Localiser["caption.organisation"]; AjaxResponse_Organisation responseData = new AjaxResponse_Organisation(model); @@ -120,12 +118,12 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Retrieve existing item. - SysId organisationId = model.OrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.OrganisationId); SaxOrganisation organisation = AccountMgr.GetOrganisationById(organisationId); disposableItems.Add(organisation); if (organisation == null) { - SaLogger.Warn(fn + " Failed to retrieve organisation for. : '" + model.OrganisationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve organisation. Id: '{model.OrganisationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } @@ -140,26 +138,26 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers if (userOrganisationId == null) continue; OrganisationMemberData organisationMember = new OrganisationMemberData(); disposableItems.Add(organisationMember); - organisationMember.UserOrganisation = AccountMgr.GetUserOrganisationById(userOrganisationId.ToSysId()); + organisationMember.UserOrganisation = AccountMgr.GetUserOrganisationById(SysId.ToSysId(userOrganisationId)); organisationMember.UserAccount = AccountMgr.GetUserAccountById(organisationMember.UserOrganisation?.UserAccountId ?? null); if (organisationMember.UserOrganisation == null) { - SaLogger.Warn(fn + " Failed to retrieve user organisation. Id: '" + userOrganisationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve user organisation. Id: '{userOrganisationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.system"])); } if (organisationMember.UserAccount == null) { - SaLogger.Warn(fn + " Failed to retrieve user account . Id: '" + organisationMember.UserOrganisation.UserAccountId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve user account . Id: '{organisationMember.UserOrganisation.UserAccountId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.system"])); } if (organisationMember.UserAccount.Status != SaStatus.Awaiting) { - SaLogger.Warn(fn + " User organisation is not awaiting. Id: '" + userOrganisationId + "'. Status: " + organisationMember.UserAccount.StatusDesc); + SaLogger.Warn($"{SysUtil.Fn} User organisation is not awaiting. Id: '{userOrganisationId}'. Status: {organisationMember.UserAccount.StatusDesc}"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.system"])); } // Check if this user is to be activated. bool activateUser = false; - String controlName_Activate = "MemberActivate_" + userOrganisationId; + String controlName_Activate = $"MemberActivate_{userOrganisationId}"; foreach (String key in Request.Form.Keys) { if (key.EqualsCI(controlName_Activate)) @@ -178,7 +176,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers // Check that organisation already has active members. if (AccountMgr.GetOrganisationMemberCount(organisation.Id) < 1) { - SaLogger.Warn(fn + " Unable to activate Organisation - no active members. Id: '" + SysId.ToString(organisationId)); + SaLogger.Warn($"{SysUtil.Fn} Unable to activate Organisation - no active members. Id: '{SysId.ToString(organisationId)}"); return Json(responseData.SetMessage(messageTitle, Localiser["organisation.activate.msg.no.active.members"])); } } @@ -187,7 +185,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers organisation.Status = Sarand.Net.Standard.Base.Core.SaStatus.Active; if (!AccountMgr.UpdateOrganisation(organisation, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to update organisation [Id:" + SysId.ToString(organisation.Id) + "]: " + AccountMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to update organisation [Id:{SysId.ToString(organisation.Id)}]: {AccountMgr.ErrorStateMessage}"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.update.failed"] + "\n\n" + AccountMgr.ErrorStateMessage)); } @@ -203,14 +201,14 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Send activation email. if (SendAccountActivatedEmail(this, organisationMember.UserAccount)) - SaLogger.Info(fn + " User Activation email sent to " + organisationMember.UserAccount.EmailAddress, true); - else SaLogger.Warn(fn + " Failed to send User Activation email to " + organisationMember.UserAccount.EmailAddress); + SaLogger.Info($"{SysUtil.Fn} User Activation email sent to {organisationMember.UserAccount.EmailAddress}", true); + else SaLogger.Warn($"{SysUtil.Fn} Failed to send User Activation email to {organisationMember.UserAccount.EmailAddress}"); } else - SaLogger.Warn(fn + " Failed to update user account [Id:" + SysId.ToString(organisationMember.UserAccount.Id) + "]: " + AccountMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to update user account [Id:{SysId.ToString(organisationMember.UserAccount.Id)}]: {AccountMgr.ErrorStateMessage}"); } else - SaLogger.Warn(fn + " Failed to update user organisation [Id:" + SysId.ToString(organisationMember.UserOrganisation.Id) + "]: " + AccountMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to update user organisation [Id:{SysId.ToString(organisationMember.UserOrganisation.Id)}]: {AccountMgr.ErrorStateMessage}"); } // Construct response. diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Associations.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Associations.cs index 0278b99..a922edb 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Associations.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Associations.cs @@ -152,7 +152,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Organisation/Ajax/GetAssociations")] public IActionResult Ajax_GetAssociationList(Model_OrganisationAssociations model) { - String fn = GetType().Name + ".Ajax_GetAssociationList"; String messageTitle = Localiser["caption.organisation.associations"]; AjaxResponse_AssociationList responseData = new AjaxResponse_AssociationList(model); @@ -161,10 +160,10 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers return GetAjaxResult_InvalidSession(responseData); // Organisation Id is mandatory. - SysId organisationId = model.Filter.OrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.Filter.OrganisationId); if (!SysId.IsValid(organisationId)) { - SaLogger.Warn(fn + " Request to retrieve associations without valid organisation Id."); + SaLogger.Warn($"{SysUtil.Fn} Request to retrieve associations without valid organisation Id."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.specified"])); } @@ -192,8 +191,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers } private void GetOrganisationAssociations(SaxModel_Admin model, SysId organisationId, List associations) { - String fn = GetType().Name + ".GetOrganisationAssociations"; - // Record disposable items as they are created so all can be disposed when needed. using (DisposableCollection disposableItems = new DisposableCollection()) { @@ -307,7 +304,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Organisation/Ajax/GetAssociation")] public IActionResult Ajax_GetAssociation(Model_OrganisationAssociations model) { - String fn = GetType().Name + ".Ajax_GetAssociation"; String messageTitle = Localiser["caption.organisation.association"]; AjaxResponse_Association responseData = new AjaxResponse_Association(model); @@ -320,7 +316,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Identify item. - SysId itemAssociationId = model.ItemAssociationId.ToSysId(); + SysId itemAssociationId = SysId.ToSysId(model.ItemAssociationId); if (!SysId.IsValid(itemAssociationId)) return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.specified"])); @@ -329,28 +325,28 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers disposableItems.Add(itemAssociation); if (itemAssociation == null) { - SaLogger.Warn(fn + " Failed to retrieve Item Association for Id: '" + model.ItemAssociationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve Item Association for Id: '{model.ItemAssociationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } // Identify organisations. - SysId organisationId = model.OrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.OrganisationId); SysId organisationIdAssoc = null; if (!SysId.IsValid(organisationId)) { - SaLogger.Warn(fn + " Organisation Id must be supplied."); + SaLogger.Warn($"{SysUtil.Fn} Organisation Id must be supplied."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.incomplete"])); } // Validate the association. if (itemAssociation.ItemIdFrom.Type != (int)Sax.DataItemType.Organisation) { - SaLogger.Warn(fn + " Inconsistent association 'From' item type: " + AssociationTypeCodes.GetCodeForType(itemAssociation.ItemIdFrom.Type) + ". Expected: Organisation."); + SaLogger.Warn($"{SysUtil.Fn} Inconsistent association 'From' item type: {AssociationTypeCodes.GetCodeForType(itemAssociation.ItemIdFrom.Type)}. Expected: Organisation."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.inconsistent"])); } if (itemAssociation.ItemIdTo.Type != (int)Sax.DataItemType.Organisation) { - SaLogger.Warn(fn + " Inconsistent association 'To' item type: " + AssociationTypeCodes.GetCodeForType(itemAssociation.ItemIdTo.Type) + ". Expected: Organisation."); + SaLogger.Warn($"{SysUtil.Fn} Inconsistent association 'To' item type: {AssociationTypeCodes.GetCodeForType(itemAssociation.ItemIdTo.Type)}. Expected: Organisation."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.inconsistent"])); } @@ -362,7 +358,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers organisationIdAssoc = itemAssociation.ItemIdFrom.Id; else { - SaLogger.Warn(fn + " Inconsistent association - Specified organisation is neither item."); + SaLogger.Warn($"{SysUtil.Fn} Inconsistent association - Specified organisation is neither item."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.inconsistent"])); } @@ -371,7 +367,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers disposableItems.Add(organisation); if (organisation == null) { - SaLogger.Warn(fn + " Failed to retrieve Organisation for Id: '" + organisationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve Organisation for Id: '{organisationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.system"])); } @@ -380,7 +376,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers disposableItems.Add(organisationAssoc); if (organisationAssoc == null) { - SaLogger.Warn(fn + " Failed to retrieve associated Organisation for Id: '" + organisationIdAssoc + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve associated Organisation for Id: '{organisationIdAssoc}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.system"])); } @@ -399,7 +395,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Organisation/Ajax/StoreAssociation")] public IActionResult Ajax_StoreAssociation(Model_OrganisationAssociations model) { - String fn = GetType().Name + ".Ajax_StoreAssociation"; String messageTitle = Localiser["caption.organisation.association"]; AjaxResponse_Association responseData = new AjaxResponse_Association(model); @@ -417,27 +412,27 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Organisation. - SysId organisationId = model.OrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.OrganisationId); SaxOrganisation organisation = AccountMgr.GetOrganisationById(organisationId); disposableItems.Add(organisation); if (organisation == null) { - SaLogger.Warn(fn + " Failed to retrieve Organisation for Id: " + model.OrganisationId); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve Organisation for Id: {model.OrganisationId}"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.incomplete"])); } // Associated Organisation. - SysId organisationIdAssoc = model.OrganisationIdAssoc.ToSysId(); + SysId organisationIdAssoc = SysId.ToSysId(model.OrganisationIdAssoc); SaxOrganisation organisationAssoc = AccountMgr.GetOrganisationById(organisationIdAssoc); disposableItems.Add(organisationAssoc); if (organisationAssoc == null) { - SaLogger.Warn(fn + " Failed to retrieve associated Organisation for Id: " + model.OrganisationIdAssoc); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve associated Organisation for Id: {model.OrganisationIdAssoc}"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.incomplete"])); } if (organisationIdAssoc.Equals(organisationId)) { - SaLogger.Warn(fn + " Associated organisation must not be the same as the organisation."); + SaLogger.Warn($"{SysUtil.Fn} Associated organisation must not be the same as the organisation."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.inconsistent"])); } @@ -445,18 +440,18 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers Sax.AssociationType associationType = model.GetAssociationTypeForOption(model.Association.GetAssociationTypeOption()); if ((int)associationType < 1) { - SaLogger.Warn(fn + " Association Type must be specified."); + SaLogger.Warn($"{SysUtil.Fn} Association Type must be specified."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.inconsistent"])); } Sax.AssociationTypeOption associationTypeOption = model.Association.GetAssociationTypeOption(); if ((int)associationTypeOption < 1) { - SaLogger.Warn(fn + " Association Type Option must be specified."); + SaLogger.Warn($"{SysUtil.Fn} Association Type Option must be specified."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.inconsistent"])); } if (!model.IsConsistentWith(associationTypeOption, associationType)) { - SaLogger.Warn(fn + " Association Type Option (" + associationTypeOption + ") is inconsistent with Association Type (" + associationType + ")."); + SaLogger.Warn($"{SysUtil.Fn} Association Type Option ({associationTypeOption}) is inconsistent with Association Type ({associationType})."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.inconsistent"])); } @@ -470,11 +465,11 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers } // Retrieve existing association. - SysId itemAssociationId = model.ItemAssociationId.ToSysId(); + SysId itemAssociationId = SysId.ToSysId(model.ItemAssociationId); if (SysId.IsValid(itemAssociationId) == StringUtil.ToBool(model.NewItem)) { // Inconsistentcy between the 'Existing' flag and whether the Item Association Id has been specified. - SaLogger.Warn(fn + " Item Association Id " + (StringUtil.ToBool(model.NewItem) ? "specified for new item" : "not specified for existing item") + "."); + SaLogger.Warn($"{SysUtil.Fn} Item Association Id " + (StringUtil.ToBool(model.NewItem) ? "specified for new item" : "not specified for existing item") + "."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.inconsistent"])); } SaxItemAssociation itemAssociation = ItemDataMgr.GetItemAssociationById(itemAssociationId); @@ -499,7 +494,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers disposableItems.Add(itemAssociation); if (itemAssociation == null && SysId.IsValid(itemAssociationId)) { - SaLogger.Warn(fn + " Failed to retrieve item association for Id: '" + itemAssociationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve item association for Id: '{itemAssociationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } @@ -518,12 +513,12 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers // Validate From/To items. if (!itemAssociation.ItemIdFrom.Equals(itemIdFrom)) { - SaLogger.Warn(fn + " Inconsistent association - expected 'From' Item Id: " + SysId.ToString(itemIdFrom.Id) + ". Found: " + SysId.ToString(itemAssociation.ItemIdFrom.Id)); + SaLogger.Warn($"{SysUtil.Fn} Inconsistent association - expected 'From' Item Id: {SysId.ToString(itemIdFrom.Id)}. Found: {SysId.ToString(itemAssociation.ItemIdFrom.Id)}"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.system"])); } if (!itemAssociation.ItemIdTo.Equals(itemIdTo)) { - SaLogger.Warn(fn + " Inconsistent association - expected 'To' Item Id: " + SysId.ToString(itemIdTo.Id) + ". Found: " + SysId.ToString(itemAssociation.ItemIdTo.Id)); + SaLogger.Warn($"{SysUtil.Fn} Inconsistent association - expected 'To' Item Id: {SysId.ToString(itemIdTo.Id)}. Found: {SysId.ToString(itemAssociation.ItemIdTo.Id)}"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.system"])); } } @@ -553,7 +548,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { if (!ItemDataMgr.InsertItemAssociation(itemAssociation, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to insert item association: " + ItemDataMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to insert item association: {ItemDataMgr.ErrorStateMessage}"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.insert.failed"] + "\n\n" + ItemDataMgr.ErrorStateMessage)); } } @@ -561,7 +556,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { if (!ItemDataMgr.UpdateItemAssociation(itemAssociation, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to update item association [Id:" + SysId.ToString(itemAssociation.Id) + "]: " + ItemDataMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to update item association [Id:{SysId.ToString(itemAssociation.Id)}]: {ItemDataMgr.ErrorStateMessage}"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.update.failed"] + "\n\n" + ItemDataMgr.ErrorStateMessage)); } } @@ -581,7 +576,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Organisation/Ajax/RemoveAssociation")] public IActionResult Ajax_RemoveAssociation(Model_OrganisationAssociations model) { - String fn = GetType().Name + ".Ajax_RemoveAssociation"; String messageTitle = Localiser["caption.organisation.association"]; AjaxResponse_Association responseData = new AjaxResponse_Association(model); @@ -594,49 +588,49 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Organisation. - SysId organisationId = model.OrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.OrganisationId); SaxOrganisation organisation = AccountMgr.GetOrganisationById(organisationId); disposableItems.Add(organisation); if (organisation == null) { - SaLogger.Warn(fn + " Failed to retrieve Organisation for Id: '" + model.OrganisationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve Organisation for Id: '{model.OrganisationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.incomplete"])); } // Association Organisation. - SysId organisationIdAssoc = model.OrganisationIdAssoc.ToSysId(); + SysId organisationIdAssoc = SysId.ToSysId(model.OrganisationIdAssoc); SaxOrganisation organisationAssoc = AccountMgr.GetOrganisationById(organisationIdAssoc); disposableItems.Add(organisationAssoc); if (organisationAssoc == null) { - SaLogger.Warn(fn + " Failed to retrieve associated Organisation for Id: '" + model.OrganisationIdAssoc + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve associated Organisation for Id: '{model.OrganisationIdAssoc}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.incomplete"])); } if (organisationIdAssoc.Equals(organisationId)) { - SaLogger.Warn(fn + " Associated organisation must not be the same as the organisation."); + SaLogger.Warn($"{SysUtil.Fn} Associated organisation must not be the same as the organisation."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.inconsistent"])); } // Item Association. - SysId itemAssociationId = model.ItemAssociationId.ToSysId(); + SysId itemAssociationId = SysId.ToSysId(model.ItemAssociationId); SaxItemAssociation itemAssociation = ItemDataMgr.GetItemAssociationById(itemAssociationId); disposableItems.Add(itemAssociation); if (itemAssociation == null) { - SaLogger.Warn(fn + " Failed to retrieve Item Association for Id: '" + itemAssociationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve Item Association for Id: '{itemAssociationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } // Validate association Item Ids. if (!itemAssociation.ItemIdFrom.Id.Equals(organisation.Id) && !itemAssociation.ItemIdTo.Id.Equals(organisation.Id)) { - SaLogger.Warn(fn + " Inconsistent item association properties. Organisation must be 'From' or 'To' item"); + SaLogger.Warn($"{SysUtil.Fn} Inconsistent item association properties. Organisation must be 'From' or 'To' item"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.inconsistent"])); } if (!itemAssociation.ItemIdFrom.Id.Equals(organisationAssoc.Id) && !itemAssociation.ItemIdTo.Id.Equals(organisationAssoc.Id)) { - SaLogger.Warn(fn + " Inconsistent item association properties. Associated Organisation must be 'From' or 'To' item"); + SaLogger.Warn($"{SysUtil.Fn} Inconsistent item association properties. Associated Organisation must be 'From' or 'To' item"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.inconsistent"])); } @@ -644,7 +638,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers itemAssociation.Status = SaStatus.Deleted; if (!ItemDataMgr.UpdateItemAssociation(itemAssociation, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to update Item Association [Id:" + SysId.ToString(itemAssociation.Id) + "]: " + ItemDataMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to update Item Association [Id:{SysId.ToString(itemAssociation.Id)}]: {ItemDataMgr.ErrorStateMessage}"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.update.failed"] + "\n\n" + ItemDataMgr.ErrorStateMessage)); } diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Images.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Images.cs index 14d33b8..14afcd3 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Images.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Images.cs @@ -50,7 +50,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Organisation/Ajax/GetItemImages")] public IActionResult Ajax_GetImages(Model_Organisation model) { - String fn = GetType().Name + ".Ajax_GetImages"; String messageTitle = Localiser["caption.organisation"]; AjaxResponse_OrganisationImages responseData = new AjaxResponse_OrganisationImages(model); @@ -66,7 +65,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers responseData.ImageContentTypes = SaxItemImage.GetValidContentTypes(Sax.DataItemType.Organisation); // Identify item. - SysId organisationId = model.OrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.OrganisationId); if (!SysId.IsValid(organisationId)) return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.specified"])); @@ -75,7 +74,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers disposableItems.Add(organisation); if (organisation == null) { - SaLogger.Warn(fn + " Failed to retrieve organisation for Id: '" + model.OrganisationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve organisation for Id: '{model.OrganisationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } @@ -111,7 +110,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Organisation/Ajax/UploadLogoImage")] public IActionResult UploadOrganisationLogoImage(Model_Organisation model) { - String fn = GetType().Name + ".UploadOrganisationLogoImage"; AjaxResponse_UploadOrganisationLogoImage responseData = new AjaxResponse_UploadOrganisationLogoImage(model); String messageTitle = Localiser["caption.organisation"]; @@ -124,26 +122,26 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers using (DisposableCollection disposableItems = new DisposableCollection()) { // Retrieve organisation. - SysId organisationId = model.OrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.OrganisationId); if (!SysId.IsValid(organisationId)) return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.specified"])); SaxOrganisation organisation = AccountMgr.GetOrganisationById(organisationId); disposableItems.Add(organisation); if (organisation == null) { - SaLogger.Warn(fn + " Failed to retrieve organisation for Id: '" + model.OrganisationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve organisation for Id: '{model.OrganisationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } // Validate number of images. if (model.OrganisationLogoImage.IsEmpty()) { - SaLogger.Warn(fn + " No image file supplied for upload"); + SaLogger.Warn($"{SysUtil.Fn} No image file supplied for upload"); return Json(responseData); } if (model.OrganisationLogoImage.Count != 1) { - SaLogger.Warn(fn + " Invalid number of image files uploaded: " + model.OrganisationLogoImage.Count); + SaLogger.Warn($"{SysUtil.Fn} Invalid number of image files uploaded: {model.OrganisationLogoImage.Count}"); return Json(responseData.SetControlError("OrganisationLogoImage", Localiser["msg.upload.image.single"])); } IFormFile file = model.OrganisationLogoImage[0]; @@ -202,7 +200,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { if (!ItemDataMgr.InsertItemImage(itemImage, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to insert uploaded image - " + ItemDataMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to insert uploaded image - {ItemDataMgr.ErrorStateMessage}"); return Json(responseData.SetControlError("OrganisationLogoImage", Localiser["msg.error.item.insert.failed"])); } } @@ -210,7 +208,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { if (!ItemDataMgr.UpdateItemImage(itemImage, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to update uploaded image - " + ItemDataMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to update uploaded image - {ItemDataMgr.ErrorStateMessage}"); return Json(responseData.SetControlError("OrganisationLogoImage", Localiser["msg.error.item.insert.failed"])); } } @@ -232,7 +230,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Organisation/Ajax/StoreImages")] public IActionResult Ajax_StoreImages(Model_Organisation model) { - String fn = GetType().Name + ".Ajax_StoreImages"; String messageTitle = Localiser["caption.organisation"]; AjaxResponse_OrganisationImages responseData = new AjaxResponse_OrganisationImages(model); @@ -250,12 +247,12 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers return Json(responseData); // Retrieve organisation. - SysId organisationId = model.OrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.OrganisationId); SaxOrganisation organisation = AccountMgr.GetOrganisationById(organisationId); disposableItems.Add(organisation); if (organisation == null) { - SaLogger.Warn(fn + " Failed to retrieve organisation for Id: '" + model.OrganisationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve organisation for Id: '{model.OrganisationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } @@ -286,7 +283,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { if (!ItemDataMgr.InsertItemImage(itemImageLogo, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to insert logo image - " + ItemDataMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to insert logo image - {ItemDataMgr.ErrorStateMessage}"); return Json(responseData.SetControlError("AccountContactImage", Localiser["msg.error.item.insert.failed"])); } } @@ -294,14 +291,14 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { if (!ItemDataMgr.UpdateItemImage(itemImageLogo, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to update logo image - " + ItemDataMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to update logo image - {ItemDataMgr.ErrorStateMessage}"); return Json(responseData.SetControlError("AccountContactImage", Localiser["msg.error.item.update.failed"])); } } // Logically delete the uplaoded image. itemImageLogoUploaded.Status = SaStatus.Deleted; if (!ItemDataMgr.UpdateItemImage(itemImageLogoUploaded, DbUpdateInfo)) - SaLogger.Warn(fn + " Failed to logically delete uploaded logo image - " + ItemDataMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to logically delete uploaded logo image - {ItemDataMgr.ErrorStateMessage}"); } // Construct response. diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Members.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Members.cs index 6d20c21..f2e427c 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Members.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax-Members.cs @@ -91,7 +91,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Organisation/Ajax/GetMemberList")] public IActionResult Ajax_GetMemberList(Model_OrganisationMembers model) { - String fn = GetType().Name + ".Ajax_GetMemberList"; String messageTitle = Localiser["caption.organisation.members"]; AjaxResponse_MemberList responseData = new AjaxResponse_MemberList(model); @@ -100,10 +99,10 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers return GetAjaxResult_InvalidSession(responseData); // Organisation Id filter is mandatory. - SysId organisationId = model.Filter.OrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.Filter.OrganisationId); if (!SysId.IsValid(organisationId)) { - SaLogger.Warn(fn + " Request to retrieve members without valid organisation Id."); + SaLogger.Warn($"{SysUtil.Fn} Request to retrieve members without valid organisation Id."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.specified"])); } @@ -203,7 +202,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Organisation/Ajax/GetMember")] public IActionResult Ajax_GetMember(Model_OrganisationMembers model) { - String fn = GetType().Name + ".Ajax_GetItem"; String messageTitle = Localiser["caption.organisation.member"]; AjaxResponse_Member responseData = new AjaxResponse_Member(model); @@ -216,7 +214,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Identify item. - SysId userOrganisationId = model.UserOrganisationId.ToSysId(); + SysId userOrganisationId = SysId.ToSysId(model.UserOrganisationId); if (!SysId.IsValid(userOrganisationId)) return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.specified"])); @@ -225,7 +223,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers disposableItems.Add(userOrganisation); if (userOrganisation == null) { - SaLogger.Warn(fn + " Failed to retrieve User Organisation for Id: '" + model.UserOrganisationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve User Organisation for Id: '{model.UserOrganisationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } @@ -234,7 +232,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers disposableItems.Add(userAccount); if (userAccount == null) { - SaLogger.Warn(fn + " Failed to retrieve user account for Id: '" + userOrganisation.UserAccountId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve user account for Id: '{userOrganisation.UserAccountId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } @@ -243,7 +241,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers disposableItems.Add(organisation); if (organisation == null) { - SaLogger.Warn(fn + " Failed to retrieve organisation for Id: '" + userOrganisation.OrganisationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve organisation for Id: '{userOrganisation.OrganisationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } @@ -262,7 +260,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Organisation/Ajax/StoreMember")] public IActionResult Ajax_StoreMember(Model_OrganisationMembers model) { - String fn = GetType().Name + ".Ajax_StoreMember"; String messageTitle = Localiser["caption.organisation.member"]; AjaxResponse_Member responseData = new AjaxResponse_Member(model); @@ -280,7 +277,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // User account. - SysId userAccountId = model.MemberUserAccountId.ToSysId(); + SysId userAccountId = SysId.ToSysId(model.MemberUserAccountId); SaxUserAccount userAccount = null; if (!SysId.IsValid(userAccountId) && !StringUtil.IsEmpty(model.MemberUserEmailAddress)) { @@ -290,32 +287,32 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers } if (!SysId.IsValid(userAccountId)) { - SaLogger.Warn(fn + " User Account must be identified"); + SaLogger.Warn($"{SysUtil.Fn} User Account must be identified"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.incomplete"])); } // Organisation. - SysId organisationId = model.MemberOrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.MemberOrganisationId); SaxOrganisation organisation = null; if (!SysId.IsValid(organisationId)) { - SaLogger.Warn(fn + " Organisation Id must be specified"); + SaLogger.Warn($"{SysUtil.Fn} Organisation Id must be specified"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.incomplete"])); } // Retrieve existing item. - SysId userOrganisationId = model.UserOrganisationId.ToSysId(); + SysId userOrganisationId = SysId.ToSysId(model.UserOrganisationId); SaxUserOrganisation userOrganisation = AccountMgr.GetUserOrganisationById(userOrganisationId); disposableItems.Add(userOrganisation); if (userOrganisation == null && SysId.IsValid(userOrganisationId)) { - SaLogger.Warn(fn + " Failed to retrieve user organisation for Id: '" + userOrganisationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve user organisation for Id: '{userOrganisationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } if (userOrganisation != null && (!userOrganisation.UserAccountId.Equals(userAccountId) || !userOrganisation.OrganisationId.Equals(organisationId))) { // Either User Account and/or Organisation Ids don't match. - SaLogger.Warn(fn + " Inconsistent user organisation properties. UserAccountId: " + userOrganisation.UserAccountId + " vs " + userAccountId + ". OrganisationId: " + userOrganisation.OrganisationId + " vs " + organisationId + "."); + SaLogger.Warn($"{SysUtil.Fn} Inconsistent user organisation properties. UserAccountId: {userOrganisation.UserAccountId} vs {userAccountId}. OrganisationId: {userOrganisation.OrganisationId} vs {organisationId}."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } @@ -361,7 +358,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { if (!AccountMgr.InsertUserOrganisation(userOrganisation, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to insert user organisation: " + AccountMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to insert user organisation: {AccountMgr.ErrorStateMessage}"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.insert.failed"] + "\n\n" + AccountMgr.ErrorStateMessage)); } } @@ -369,7 +366,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { if (!AccountMgr.UpdateUserOrganisation(userOrganisation, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to update user organisation [Id:" + SysId.ToString(userOrganisation.Id) + "]: " + AccountMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to update user organisation [Id:{SysId.ToString(userOrganisation.Id)}]: {AccountMgr.ErrorStateMessage}"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.update.failed"] + "\n\n" + AccountMgr.ErrorStateMessage)); } } @@ -389,7 +386,6 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers [Route("Organisation/Ajax/RemoveMember")] public IActionResult Ajax_RemoveMember(Model_OrganisationMembers model) { - String fn = GetType().Name + ".Ajax_RemoveMember"; String messageTitle = Localiser["caption.organisation.member"]; AjaxResponse_Member responseData = new AjaxResponse_Member(model); @@ -402,27 +398,27 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Organisation. - SysId organisationId = model.OrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.OrganisationId); SaxOrganisation organisation = AccountMgr.GetOrganisationById(organisationId); if (organisation == null) { - SaLogger.Warn(fn + " Failed to retrieve Organisation for Id: '" + model.OrganisationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve Organisation for Id: '{model.OrganisationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.incomplete"])); } disposableItems.Add(organisation); // User Organisation. - SysId userOrganisationId = model.UserOrganisationId.ToSysId(); + SysId userOrganisationId = SysId.ToSysId(model.UserOrganisationId); SaxUserOrganisation userOrganisation = AccountMgr.GetUserOrganisationById(userOrganisationId); disposableItems.Add(userOrganisation); if (userOrganisation == null) { - SaLogger.Warn(fn + " Failed to retrieve user organisation for Id: '" + userOrganisationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve user organisation for Id: '{userOrganisationId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } if (!userOrganisation.OrganisationId.Equals(organisation.Id)) { - SaLogger.Warn(fn + " Inconsistent user organisation properties. OrganisationId: " + userOrganisation.OrganisationId + " vs " + organisation.Id + "."); + SaLogger.Warn($"{SysUtil.Fn} Inconsistent user organisation properties. OrganisationId: {userOrganisation.OrganisationId} vs {organisation.Id}."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.data.inconsistent"])); } @@ -431,7 +427,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers disposableItems.Add(userAccount); if (userAccount == null) { - SaLogger.Warn(fn + " Failed to retrieve user account for Id: '" + userOrganisation.UserAccountId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve user account for Id: '{userOrganisation.UserAccountId}'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.system"])); } @@ -443,7 +439,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { if (!AccountMgr.InsertUserOrganisation(userOrganisation, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to insert user organisation: " + AccountMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to insert user organisation: {AccountMgr.ErrorStateMessage}"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.insert.failed"] + "\n\n" + AccountMgr.ErrorStateMessage)); } } @@ -451,7 +447,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { if (!AccountMgr.UpdateUserOrganisation(userOrganisation, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to update user organisation [Id:" + SysId.ToString(userOrganisation.Id) + "]: " + AccountMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to update user organisation [Id:{SysId.ToString(userOrganisation.Id)}]: {AccountMgr.ErrorStateMessage}"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.update.failed"] + "\n\n" + AccountMgr.ErrorStateMessage)); } } diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax.cs index 9bd94af..d5ffd8e 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController-Ajax.cs @@ -161,9 +161,9 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers responseData.UploadContentTypes = SaxOrganisationUploader.ValidContentTypes; // Store filter values. - SysId filterSportId = model.Filter.OrganisationSportId.ToSysId(); + SysId filterSportId = SysId.ToSysId(model.Filter.OrganisationSportId); SessionData_Admin.Filter.SportId = SysId.IsValid(filterSportId) ? filterSportId : null; - SysId filterRegionId = model.Filter.OrganisationRegionId.ToSysId(); + SysId filterRegionId = SysId.ToSysId(model.Filter.OrganisationRegionId); SessionData_Admin.Filter.RegionId = SysId.IsValid(filterRegionId) ? filterRegionId : null; // Item filter. @@ -250,8 +250,8 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers prmOrganisation.OrganisationFilter = model.Filter.Organisation; prmOrganisation.OrganisationType = model.FilterOrganisationType; prmOrganisation.OrganisationCategory = model.FilterOrganisationCategory; - prmOrganisation.SportIdsIncluded.AddId(model.Filter.OrganisationSportId.ToSysId()); - prmOrganisation.RegionIdsIncluded.AddId(model.Filter.OrganisationRegionId.ToSysId()); + prmOrganisation.SportIdsIncluded.AddId(SysId.ToSysId(model.Filter.OrganisationSportId)); + prmOrganisation.RegionIdsIncluded.AddId(SysId.ToSysId(model.Filter.OrganisationRegionId)); prmOrganisation.StatusCat = model.Filter.OrganisationStatusCategoryCode != null ? model.FilterOrganisationStatusCategory : SaxOrganisation.StatusCat.NotDeleted; prmOrganisation.SortColumns.Add(accountMgr.GetOrganisationColumnDfn(SaxOrganisation.Column.Name)); return prmOrganisation; @@ -285,7 +285,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Identify item. - SysId organisationId = model.OrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.OrganisationId); if (!SysId.IsValid(organisationId)) return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.specified"])); @@ -336,7 +336,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers return Json(responseData); // Retrieve existing item. - SysId organisationId = model.OrganisationId.ToSysId(); + SysId organisationId = SysId.ToSysId(model.OrganisationId); SaxOrganisation organisation = AccountMgr.GetOrganisationById(organisationId); disposableItems.Add(organisation); if (organisation == null && SysId.IsValid(organisationId)) @@ -364,9 +364,9 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers if (model.OrganisationCategoryValue != null) organisation.OrganisationCategory = model.OrganisationCategory; if (model.OrganisationSportId != null) - organisation.SportIdPrimary = model.OrganisationSportId.ToSysId(); + organisation.SportIdPrimary = SysId.ToSysId(model.OrganisationSportId); if (model.OrganisationRegionIdPrimary != null) - organisation.RegionIdPrimary = model.OrganisationRegionIdPrimary.ToSysId(); + organisation.RegionIdPrimary = SysId.ToSysId(model.OrganisationRegionIdPrimary); if (model.OrganisationAbout != null) organisation.About = model.OrganisationAbout; if (model.OrganisationFacilities != null) @@ -403,7 +403,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers if (model.Address.IsPopulated()) { // Organisation regions. - SaxRegion.Data regionCountry = Internals.GetRegion(model.Address.RegionIdCountry.ToSysId()); + SaxRegion.Data regionCountry = Internals.GetRegion(SysId.ToSysId(model.Address.RegionIdCountry)); if (regionCountry == null) // Default to Organisation's primary region. regionCountry = Internals.GetRegion(organisation.RegionIdPrimary); diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController.cs index aa41643..34c6fca 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/OrganisationController.cs @@ -72,7 +72,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers return RedirectToAction("", ""); // Retrieve organisation. - SaxOrganisation organisation = AccountMgr.GetOrganisationById(model.OrganisationId.ToSysId()); + SaxOrganisation organisation = AccountMgr.GetOrganisationById(SysId.ToSysId(model.OrganisationId)); if (organisation == null) RedirectToAction("", "Organisation"); model.Filter.OrganisationId= SysId.ToString(organisation.Id); @@ -100,7 +100,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers return RedirectToAction("", ""); // Retrieve organisation. - SaxOrganisation organisation = AccountMgr.GetOrganisationById(model.OrganisationId.ToSysId()); + SaxOrganisation organisation = AccountMgr.GetOrganisationById(SysId.ToSysId(model.OrganisationId)); if (organisation == null) RedirectToAction("", "Organisation"); model.Filter.OrganisationId = SysId.ToString(organisation.Id); diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/Reference/ReferenceGolfController-Ajax.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/Reference/ReferenceGolfController-Ajax.cs index 3814089..1a2fd8d 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/Reference/ReferenceGolfController-Ajax.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/Reference/ReferenceGolfController-Ajax.cs @@ -37,7 +37,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers.Reference public long? FacilityCount { get; set; } public long? FacilityCountActive { get; set; } public decimal? CoursesPercent { get; set; } - public String? CoursesPercentFmt { get { return (CoursesPercent ?? 0.0m) > 0 ? $"{((decimal)CoursesPercent).ToString("N0")}%" : ""; } } + public String CoursesPercentFmt { get { return (CoursesPercent ?? 0.0m) > 0 ? $"{((decimal)CoursesPercent).ToString("N0")}%" : null; } } } private class UsgaCountryItemData : UsgaCountryListData { @@ -67,7 +67,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers.Reference public long? CourseCount { get; set; } public long? CourseCountActive { get; set; } public decimal? MarkersPercent { get; set; } - public String? MarkersPercentFmt { get { return (MarkersPercent ?? 0.0m) > 0 ? $"{((decimal)MarkersPercent).ToString("N0")}%" : ""; } } + public String MarkersPercentFmt { get { return (MarkersPercent ?? 0.0m) > 0 ? $"{((decimal)MarkersPercent).ToString("N0")}%" : null; } } } private class UsgaProvinceItemData : UsgaProvinceListData { @@ -288,7 +288,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers.Reference // Item filter. SaxGolfUsgaProvince.Params prmUsgaProvince = new SaxGolfUsgaProvince.Params(); if (StringUtil.ToLong(model.Filter.CountryId) > 0) - prmUsgaProvince.CountryIdsIncluded.Add(StringUtil.ToSysId(model.Filter.CountryId)); + prmUsgaProvince.CountryIdsIncluded.Add(SysId.ToSysId(model.Filter.CountryId)); prmUsgaProvince.ProvinceFilter = model.Filter.ProvinceSearch; prmUsgaProvince.StatusCat = SaxGolfUsgaProvince.StatusCat.Any; model.Paging.ItemTotal = (ulong)ReferenceGolfMgr.GetUsgaProvinceCount(prmUsgaProvince); @@ -376,7 +376,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers.Reference // Item filter. SaxGolfUsgaCourse.Params prmUsgaCourse = new SaxGolfUsgaCourse.Params(); if (StringUtil.ToLong(model.Filter.ProvinceId) > 0) - prmUsgaCourse.ProvinceIdsIncluded.Add(StringUtil.ToSysId(model.Filter.ProvinceId)); + prmUsgaCourse.ProvinceIdsIncluded.Add(SysId.ToSysId(model.Filter.ProvinceId)); prmUsgaCourse.CourseFilter = model.Filter.CourseSearch; prmUsgaCourse.StatusCat = SaxGolfUsgaCourse.StatusCat.Any; model.Paging.ItemTotal = (ulong)ReferenceGolfMgr.GetUsgaCourseCount(prmUsgaCourse); @@ -533,7 +533,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers.Reference // Item filter. SaxGolfUsgaMarker.Params prmUsgaMarker = new SaxGolfUsgaMarker.Params(); if (StringUtil.ToLong(model.Filter.CourseId) > 0) - prmUsgaMarker.CourseIdsIncluded.Add(StringUtil.ToSysId(model.Filter.CourseId)); + prmUsgaMarker.CourseIdsIncluded.Add(SysId.ToSysId(model.Filter.CourseId)); prmUsgaMarker.MarkerFilter = model.Filter.MarkerSearch; prmUsgaMarker.StatusCat = SaxGolfUsgaMarker.StatusCat.Any; model.Paging.ItemTotal = (ulong)ReferenceGolfMgr.GetUsgaMarkerCount(prmUsgaMarker); diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/RegionController-Ajax.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/RegionController-Ajax.cs index 6f941d3..9f10cde 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/RegionController-Ajax.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/RegionController-Ajax.cs @@ -171,7 +171,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Identify item. - SysId regionId = model.RegionId.ToSysId(); + SysId regionId = SysId.ToSysId(model.RegionId); if (!SysId.IsValid(regionId)) return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.specified"])); @@ -219,7 +219,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers return Json(responseData); // Retrieve existing item. - SysId regionId = model.RegionId.ToSysId(); + SysId regionId = SysId.ToSysId(model.RegionId); SaxRegion region = ReferenceMgr.GetRegionById(regionId); disposableItems.Add(region); if (region == null && SysId.IsValid(regionId)) @@ -243,7 +243,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers if (model.RegionName != null) region.Name = model.RegionName; if (model.RegionIdParent != null) - region.RegionIdParent = model.RegionIdParent.ToSysId(); + region.RegionIdParent = SysId.ToSysId(model.RegionIdParent); if (model.RegionStatusCode != null) region.Status = model.RegionStatus; diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/SportController-Ajax.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/SportController-Ajax.cs index afe5ff5..fdc1a40 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/SportController-Ajax.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/SportController-Ajax.cs @@ -168,7 +168,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Identify item. - SysId sportId = model.SportId.ToSysId(); + SysId sportId = SysId.ToSysId(model.SportId); if (!SysId.IsValid(sportId)) return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.specified"])); @@ -220,7 +220,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers return Json(responseData); // Retrieve existing item. - SysId sportId = model.SportId.ToSysId(); + SysId sportId = SysId.ToSysId(model.SportId); SaxSport sport = ReferenceMgr.GetSportById(sportId); disposableItems.Add(sport); if (sport == null && SysId.IsValid(sportId)) @@ -240,7 +240,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers if (model.SportGroupingCode != null) sport.Grouping = model.SportGrouping; if (model.SportIdParent != null) - sport.SportIdParent = model.SportIdParent.ToSysId(); + sport.SportIdParent = SysId.ToSysId(model.SportIdParent); if (model.SportName != null) sport.Name = model.SportName; if (model.SportSpecialityLabelCode != null) diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/Support/Controller_UserReport-Ajax.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/Support/Controller_UserReport-Ajax.cs index 7f278df..2df2724 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/Support/Controller_UserReport-Ajax.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/Support/Controller_UserReport-Ajax.cs @@ -224,7 +224,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers.Support { // Identify item. - SysId userReportId = model.UserReport.Id.ToSysId(); + SysId userReportId = SysId.ToSysId(model.UserReport.Id); if (!SysId.IsValid(userReportId)) return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.specified"])); @@ -276,7 +276,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers.Support return Json(responseData); // Retrieve existing item. - SysId userReportId = model.UserReport.Id.ToSysId(); + SysId userReportId = SysId.ToSysId(model.UserReport.Id); if (StringUtil.ToBool(model.UserReport.Exists) && !SysId.IsValid(userReportId)) { SaLogger.Warn(fn + " Item Id not supplied for existing item."); diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/System/SystemController-Ajax-Logs.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/System/SystemController-Ajax-Logs.cs index d64b55e..8f3e9eb 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/System/SystemController-Ajax-Logs.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/System/SystemController-Ajax-Logs.cs @@ -19,7 +19,7 @@ using System.Threading.Tasks; namespace Saxonite.Net.Core.Web.Admin.Controllers.System { //======================================================================= - // System - Ajax - Database controller + // System - Ajax - Logs controller //======================================================================= partial class SystemController { diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/UserController-Ajax.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/UserController-Ajax.cs index 065fc82..c50a305 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/UserController-Ajax.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/UserController-Ajax.cs @@ -162,16 +162,16 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers responseData.Statuses.Add(SacsSystem.GetStatusCode(status), Localiser.GetStatusCaption(status)); // Store filter values. - SysId filterSportId = model.Filter.UserSportId.ToSysId(); + SysId filterSportId = SysId.ToSysId(model.Filter.UserSportId); SessionData_Admin.Filter.SportId = SysId.IsValid(filterSportId) ? filterSportId : null; - SysId filterRegionId = model.Filter.UserRegionId.ToSysId(); + SysId filterRegionId = SysId.ToSysId(model.Filter.UserRegionId); SessionData_Admin.Filter.RegionId = SysId.IsValid(filterRegionId) ? filterRegionId : null; // Item filter. SaxUserAccount.Params prmUserAccount = new SaxUserAccount.Params(); prmUserAccount.UserFilterPartial = model.Filter.User; - prmUserAccount.SportIdsIncluded.AddId(model.Filter.UserSportId.ToSysId()); - prmUserAccount.RegionIdsIncluded.AddId(model.Filter.UserRegionId.ToSysId()); + prmUserAccount.SportIdsIncluded.AddId(SysId.ToSysId(model.Filter.UserSportId)); + prmUserAccount.RegionIdsIncluded.AddId(SysId.ToSysId(model.Filter.UserRegionId)); prmUserAccount.StatusCat = model.Filter.UserStatusCategoryCode != null ? model.FilterUserStatusCategory : SaxUserAccount.StatusCat.NotDeleted; model.Paging.ItemTotal = (ulong)AccountMgr.GetUserAccountCount(prmUserAccount); model.PopulatePagingTo(prmUserAccount.ResultsPaging); @@ -268,7 +268,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Identify item. - SysId userAccountId = model.UserId.ToSysId(); + SysId userAccountId = SysId.ToSysId(model.UserId); if (!SysId.IsValid(userAccountId)) return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.specified"])); @@ -375,7 +375,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Retrieve existing item. - SysId userAccountId = model.UserId.ToSysId(); + SysId userAccountId = SysId.ToSysId(model.UserId); SaxUserAccount user = AccountMgr.GetUserAccountById(userAccountId); disposableItems.Add(user); if (user == null && SysId.IsValid(userAccountId)) @@ -427,9 +427,9 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers if (model.UserLastName != null) user.LastName = model.UserLastName; if (model.UserRegionIdCountry != null) - user.RegionIdCountry = model.UserRegionIdCountry.ToSysId(); + user.RegionIdCountry = SysId.ToSysId(model.UserRegionIdCountry); if (model.UserRegionIdProvince != null) - user.RegionIdProvince = model.UserRegionIdProvince.ToSysId(); + user.RegionIdProvince = SysId.ToSysId(model.UserRegionIdProvince); if (model.UserStatusCode != null) user.Status = model.UserStatus; @@ -505,7 +505,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Retrieve user. - SysId userAccountId = model.UserId.ToSysId(); + SysId userAccountId = SysId.ToSysId(model.UserId); SaxUserAccount userAccount = AccountMgr.GetUserAccountById(userAccountId); disposableItems.Add(userAccount); if (userAccount == null) @@ -533,7 +533,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers if (sendAcountActivationOnline) { if (!OrganisationController.SendAccountActivatedEmail(this, userAccount)) - return Json(responseData.SetMessage(messageTitle, "Failed to send Online Accoutn Activation email.")); + return Json(responseData.SetMessage(messageTitle, "Failed to send Online Account Activation email.")); emailsSentCount++; } if (sendRequestPasswordOnline) diff --git a/SaxoniteCoreWebAdmin/Admin/Controllers/UsersOnlineController-Ajax.cs b/SaxoniteCoreWebAdmin/Admin/Controllers/UsersOnlineController-Ajax.cs index a072ec9..68aca68 100644 --- a/SaxoniteCoreWebAdmin/Admin/Controllers/UsersOnlineController-Ajax.cs +++ b/SaxoniteCoreWebAdmin/Admin/Controllers/UsersOnlineController-Ajax.cs @@ -81,8 +81,8 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers // Item filter. SaxUserOnline.Params prmUserOnline = new SaxUserOnline.Params(); prmUserOnline.UserFilterPartial = model.Filter.User; - prmUserOnline.SportIdsIncluded.AddId(model.Filter.UserSportId.ToSysId()); - prmUserOnline.RegionIdsIncluded.AddId(model.Filter.UserRegionId.ToSysId()); + prmUserOnline.SportIdsIncluded.AddId(SysId.ToSysId(model.Filter.UserSportId)); + prmUserOnline.RegionIdsIncluded.AddId(SysId.ToSysId(model.Filter.UserRegionId)); model.Paging.ItemTotal = (ulong)AccountMgr.GetUserOnlineCount(prmUserOnline); model.PopulatePagingTo(prmUserOnline.ResultsPaging); @@ -160,7 +160,7 @@ namespace Saxonite.Net.Core.Web.Admin.Controllers { // Identify item. - SysId userAccountId = model.UserId.ToSysId(); + SysId userAccountId = SysId.ToSysId(model.UserId); if (!SysId.IsValid(userAccountId)) return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.specified"])); diff --git a/SaxoniteCoreWebAdmin/Admin/Models/ModelData_Address.cs b/SaxoniteCoreWebAdmin/Admin/Models/ModelData_Address.cs index 25a7323..3f3408f 100644 --- a/SaxoniteCoreWebAdmin/Admin/Models/ModelData_Address.cs +++ b/SaxoniteCoreWebAdmin/Admin/Models/ModelData_Address.cs @@ -55,7 +55,7 @@ namespace Saxonite.Net.Core.Web.Admin.Models /// Have any address values been populated on the form. public bool IsPopulated() { - if (SysId.IsValid(Id.ToSysId()) || !StringUtil.IsEmpty(Line1) || !StringUtil.IsEmpty(Town) || !StringUtil.IsEmpty(Province) || !StringUtil.IsEmpty(RegionIdCountry) || !StringUtil.IsEmpty(PostalCode)) + if (SysId.IsValid(SysId.ToSysId(Id)) || !StringUtil.IsEmpty(Line1) || !StringUtil.IsEmpty(Town) || !StringUtil.IsEmpty(Province) || !StringUtil.IsEmpty(RegionIdCountry) || !StringUtil.IsEmpty(PostalCode)) return true; return false; } @@ -126,11 +126,11 @@ namespace Saxonite.Net.Core.Web.Admin.Models if (RegionIdCountry != null) { String controlName = ControlNameSuffix + nameof(RegionIdCountry); - if (!SysId.IsValid(RegionIdCountry.ToSysId()) && populated) + if (!SysId.IsValid(SysId.ToSysId(RegionIdCountry)) && populated) responseData.SetControlError(controlName, Model.Localiser["msg.validation.mandatory.value"]); - else if (SysId.IsValid(RegionIdCountry.ToSysId())) + else if (SysId.IsValid(SysId.ToSysId(RegionIdCountry))) { - SaxRegion.Data region = model.Internals.GetRegion(RegionIdCountry.ToSysId()); + SaxRegion.Data region = model.Internals.GetRegion(SysId.ToSysId(RegionIdCountry)); if (region == null || region.RegionType != Sax.RegionType.Country) responseData.SetControlError(controlName, Model.Localiser["msg.validation.invalid.value"]); } diff --git a/SaxoniteCoreWebAdmin/Admin/Models/Model_Organisation.cs b/SaxoniteCoreWebAdmin/Admin/Models/Model_Organisation.cs index d78ceae..1825d01 100644 --- a/SaxoniteCoreWebAdmin/Admin/Models/Model_Organisation.cs +++ b/SaxoniteCoreWebAdmin/Admin/Models/Model_Organisation.cs @@ -141,9 +141,9 @@ namespace Saxonite.Net.Core.Web.Admin.Models // Organisation sport. if (OrganisationSportId != null) { - if (SysId.IsValid(OrganisationSportId.ToSysId()) || IsSportMandatory()) + if (SysId.IsValid(SysId.ToSysId(OrganisationSportId)) || IsSportMandatory()) { - using (SaxSport sport = ReferenceMgr.GetSportById(OrganisationSportId.ToSysId())) + using (SaxSport sport = ReferenceMgr.GetSportById(SysId.ToSysId(OrganisationSportId))) { if (sport == null) responseData.SetControlError(nameof(OrganisationSportId), Localiser["msg.validation.invalid.value"]); @@ -154,7 +154,7 @@ namespace Saxonite.Net.Core.Web.Admin.Models // Organisation primary region. if (OrganisationRegionIdPrimary != null) { - using (SaxRegion region = ReferenceMgr.GetRegionById(OrganisationRegionIdPrimary.ToSysId())) + using (SaxRegion region = ReferenceMgr.GetRegionById(SysId.ToSysId(OrganisationRegionIdPrimary))) { if (region == null) responseData.SetControlError(nameof(OrganisationRegionIdPrimary), Localiser["msg.validation.invalid.value"]); @@ -166,10 +166,10 @@ namespace Saxonite.Net.Core.Web.Admin.Models { // Name must be unqiue within region. SaxOrganisation.Params prmOrganisation = new SaxOrganisation.Params(); - if (SysId.IsValid(OrganisationId.ToSysId())) - prmOrganisation.IdsExcluded.Add(OrganisationId.ToSysId()); + if (SysId.IsValid(SysId.ToSysId(OrganisationId))) + prmOrganisation.IdsExcluded.Add(SysId.ToSysId(OrganisationId)); prmOrganisation.NameFull = OrganisationName; - prmOrganisation.RegionIdsIncluded.Add(OrganisationRegionIdPrimary.ToSysId()); + prmOrganisation.RegionIdsIncluded.Add(SysId.ToSysId(OrganisationRegionIdPrimary)); prmOrganisation.StatusCat = SaxOrganisation.StatusCat.Any; if (AccountMgr.GetOrganisationCount(prmOrganisation) > 0) responseData.SetControlError(nameof(OrganisationName), Localiser["msg.validation.duplicate.value"]); diff --git a/SaxoniteCoreWebAdmin/Admin/Models/Model_OrganisationAssociations.cs b/SaxoniteCoreWebAdmin/Admin/Models/Model_OrganisationAssociations.cs index 131330a..f3aafd2 100644 --- a/SaxoniteCoreWebAdmin/Admin/Models/Model_OrganisationAssociations.cs +++ b/SaxoniteCoreWebAdmin/Admin/Models/Model_OrganisationAssociations.cs @@ -106,13 +106,13 @@ namespace Saxonite.Net.Core.Web.Admin.Models { // Mandatory. String controlName = "OrganisationIdAssoc"; - if (!SysId.IsValid(OrganisationIdAssoc.ToSysId())) + if (!SysId.IsValid(SysId.ToSysId(OrganisationIdAssoc))) responseData.SetControlError(controlName, Localiser["msg.validation.mandatory.value"]); // Must exist. - else if (!AccountMgr.OrganisationExistsById(OrganisationIdAssoc.ToSysId())) + else if (!AccountMgr.OrganisationExistsById(SysId.ToSysId(OrganisationIdAssoc))) responseData.SetControlError(controlName, Localiser["msg.validation.invalid.value"]); // Not same as primary organisation. - else if (OrganisationId != null && OrganisationId.ToSysId().Equals(OrganisationIdAssoc.ToSysId())) + else if (OrganisationId != null && SysId.ToSysId(OrganisationId).Equals(SysId.ToSysId(OrganisationIdAssoc))) responseData.SetControlError(controlName, Localiser["msg.validation.invalid.value"]); } diff --git a/SaxoniteCoreWebAdmin/Admin/Models/Model_OrganisationMembers.cs b/SaxoniteCoreWebAdmin/Admin/Models/Model_OrganisationMembers.cs index e32ee8c..6a69d85 100644 --- a/SaxoniteCoreWebAdmin/Admin/Models/Model_OrganisationMembers.cs +++ b/SaxoniteCoreWebAdmin/Admin/Models/Model_OrganisationMembers.cs @@ -80,7 +80,7 @@ namespace Saxonite.Net.Core.Web.Admin.Models // User Account. if (MemberUserAccountId != null) { - SysId memberUserAccountId = MemberUserAccountId.ToSysId(); + SysId memberUserAccountId = SysId.ToSysId(MemberUserAccountId); if (!SysId.IsValid(memberUserAccountId)) responseData.SetControlError(nameof(MemberUserAccountId), Localiser["msg.validation.mandatory.value"]); } diff --git a/SaxoniteCoreWebAdmin/Admin/Models/Model_Region.cs b/SaxoniteCoreWebAdmin/Admin/Models/Model_Region.cs index b15b1f5..cd8e9b5 100644 --- a/SaxoniteCoreWebAdmin/Admin/Models/Model_Region.cs +++ b/SaxoniteCoreWebAdmin/Admin/Models/Model_Region.cs @@ -83,7 +83,7 @@ namespace Saxonite.Net.Core.Web.Admin.Models { // Check for duplicate code. SaxRegion.Params prmRegion = new SaxRegion.Params(); - SysId regionId = RegionId.ToSysId(); + SysId regionId = SysId.ToSysId(RegionId); if (SysId.IsValid(regionId)) prmRegion.IdsExcluded.Add(regionId); prmRegion.CountryIso2CodesIncluded.Add(RegionCountryIso2Code); @@ -111,7 +111,7 @@ namespace Saxonite.Net.Core.Web.Admin.Models { // Check for duplicate name. SaxRegion.Params prmRegion = new SaxRegion.Params(); - SysId regionId = RegionId.ToSysId(); + SysId regionId = SysId.ToSysId(RegionId); if (SysId.IsValid(regionId)) prmRegion.IdsExcluded.Add(regionId); prmRegion.NameFull = RegionName; @@ -124,7 +124,7 @@ namespace Saxonite.Net.Core.Web.Admin.Models // Parent region. if (!StringUtil.IsEmpty(RegionIdParent)) { - SaxRegion parentRegion = ReferenceMgr.GetRegionById(RegionIdParent.ToSysId()); + SaxRegion parentRegion = ReferenceMgr.GetRegionById(SysId.ToSysId(RegionIdParent)); if (parentRegion != null) { if (RegionType<= 0 || SaxRegion.IsValidParentRegionType(RegionType, parentRegion.RegionType)) diff --git a/SaxoniteCoreWebAdmin/Admin/Models/Model_Sport.cs b/SaxoniteCoreWebAdmin/Admin/Models/Model_Sport.cs index 325cd04..23104b1 100644 --- a/SaxoniteCoreWebAdmin/Admin/Models/Model_Sport.cs +++ b/SaxoniteCoreWebAdmin/Admin/Models/Model_Sport.cs @@ -69,11 +69,11 @@ namespace Saxonite.Net.Core.Web.Admin.Models } // Parent sport. - SysId sportIdParent = SportIdParent.ToSysId(); + SysId sportIdParent = SysId.ToSysId(SportIdParent); if (SportIdParent != null && SysId.IsValid(sportIdParent)) { String controlName = "SportParent"; - SaxSport sport = ReferenceMgr.GetSportById(SportIdParent.ToSysId()); + SaxSport sport = ReferenceMgr.GetSportById(SysId.ToSysId(SportIdParent)); disposableItems.Add(sport); if (sport == null) responseData.SetControlError(controlName, Localiser["msg.validation.invalid.value"]); @@ -94,7 +94,7 @@ namespace Saxonite.Net.Core.Web.Admin.Models { // Check for duplicate name. SaxSport.Params prmSport = new SaxSport.Params(); - SysId sportId = SportId.ToSysId(); + SysId sportId = SysId.ToSysId(SportId); if (SysId.IsValid(sportId)) prmSport.IdsExcluded.Add(sportId); prmSport.NameFull = SportName; diff --git a/SaxoniteCoreWebAdmin/Admin/Models/Model_User.cs b/SaxoniteCoreWebAdmin/Admin/Models/Model_User.cs index b05d94e..397561d 100644 --- a/SaxoniteCoreWebAdmin/Admin/Models/Model_User.cs +++ b/SaxoniteCoreWebAdmin/Admin/Models/Model_User.cs @@ -96,8 +96,6 @@ namespace Saxonite.Net.Core.Web.Admin.Models // User. public bool ValidateUserData(SaxController_Base.AjaxResponse_Data responseData) { - String fn = GetType().Name + ".ValidateUserData"; - // Record disposable items as they are created so all can be disposed when needed. using (DisposableCollection disposableItems = new DisposableCollection()) { @@ -117,7 +115,7 @@ namespace Saxonite.Net.Core.Web.Admin.Models { // Check for duplicate email address. SaxUserAccount.Params prmUserAccount = new SaxUserAccount.Params(); - SysId userAccountId = UserId.ToSysId(); + SysId userAccountId = SysId.ToSysId(UserId); if (SysId.IsValid(userAccountId)) prmUserAccount.IdsExcluded.Add(userAccountId); prmUserAccount.EmailAddress = UserEmailAddress; @@ -156,23 +154,23 @@ namespace Saxonite.Net.Core.Web.Admin.Models SaxRegion regionCountry = null; if (UserRegionIdCountry != null) { - if (!SysId.IsValid(UserRegionIdCountry.ToSysId())) + if (!SysId.IsValid(SysId.ToSysId(UserRegionIdCountry))) responseData.SetControlError(nameof(UserRegionIdCountry), Localiser["msg.validation.mandatory.value"]); else { - regionCountry = ReferenceMgr.GetRegionById(UserRegionIdCountry.ToSysId()); + regionCountry = ReferenceMgr.GetRegionById(SysId.ToSysId(UserRegionIdCountry)); disposableItems.Add(regionCountry); if (regionCountry != null) { if (regionCountry.RegionType != Sax.RegionType.Country) { - SaLogger.Warn(fn + " Invalid region type. Expected: Country. Found: " + regionCountry.RegionType.ToString()); + SaLogger.Warn($"{SysUtil.Fn} Invalid region type. Expected: Country. Found: " + regionCountry.RegionType.ToString()); responseData.SetControlError(nameof(UserRegionIdCountry), Localiser["msg.validation.invalid.value"]); } } else { - SaLogger.Warn(fn + " Failed to retrieve region for Id: " + UserRegionIdCountry); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve region for Id: " + UserRegionIdCountry); responseData.SetControlError(nameof(UserRegionIdCountry), Localiser["msg.validation.invalid.value"]); } } @@ -184,24 +182,24 @@ namespace Saxonite.Net.Core.Web.Admin.Models { if (!UserRegionIdProvince.IsEmpty()) { - regionProvince = ReferenceMgr.GetRegionById(UserRegionIdProvince.ToSysId()); + regionProvince = ReferenceMgr.GetRegionById(SysId.ToSysId(UserRegionIdProvince)); disposableItems.Add(regionProvince); if (regionProvince != null) { if (regionProvince.RegionType != Sax.RegionType.Province) { - SaLogger.Warn(fn + " Invalid region type. Expected: Province . Found: " + regionCountry.RegionType.ToString()); + SaLogger.Warn($"{SysUtil.Fn} Invalid region type. Expected: Province . Found: " + regionCountry.RegionType.ToString()); responseData.SetControlError(nameof(UserRegionIdProvince), Localiser["msg.validation.invalid.value"]); } else if (regionCountry != null && !regionProvince.RegionIdParent.Equals(regionCountry.Id)) { - SaLogger.Warn(fn + " Invalid province region parent. Expected: " + regionCountry.Id.ToString() + " . Found: " + regionCountry.RegionIdParent.ToString()); + SaLogger.Warn($"{SysUtil.Fn} Invalid province region parent. Expected: " + regionCountry.Id.ToString() + " . Found: " + regionCountry.RegionIdParent.ToString()); responseData.SetControlError(nameof(UserRegionIdProvince), Localiser["msg.validation.invalid.value"]); } } else { - SaLogger.Warn(fn + " Failed to retrieve region for Id: " + UserRegionIdProvince); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve region for Id: " + UserRegionIdProvince); responseData.SetControlError(nameof(UserRegionIdProvince), Localiser["msg.validation.invalid.value"]); } } diff --git a/SaxoniteCoreWebAdmin/Localisation/SaxAdminProperties.resx b/SaxoniteCoreWebAdmin/Localisation/SaxAdminProperties.resx index c482782..a2fdd1b 100644 --- a/SaxoniteCoreWebAdmin/Localisation/SaxAdminProperties.resx +++ b/SaxoniteCoreWebAdmin/Localisation/SaxAdminProperties.resx @@ -771,6 +771,9 @@ At least one option must be selected. + + Password must be a minimum of {0} characters with upper and lower case letters, at least one number and special character unless at least {1} characters long. + On activation, the Organisation will become visible on the platform and authorised members will be able to post content associated with the organisation. diff --git a/SaxoniteCoreWebAdmin/SaxoniteCoreWebAdmin.csproj b/SaxoniteCoreWebAdmin/SaxoniteCoreWebAdmin.csproj index 41d91db..c5a2856 100644 --- a/SaxoniteCoreWebAdmin/SaxoniteCoreWebAdmin.csproj +++ b/SaxoniteCoreWebAdmin/SaxoniteCoreWebAdmin.csproj @@ -9,7 +9,8 @@ - + + diff --git a/SaxoniteCoreWebAdmin/Views/Home/Index.cshtml b/SaxoniteCoreWebAdmin/Views/Home/Index.cshtml index 3f1a05c..cd2d11d 100644 --- a/SaxoniteCoreWebAdmin/Views/Home/Index.cshtml +++ b/SaxoniteCoreWebAdmin/Views/Home/Index.cshtml @@ -64,6 +64,7 @@ { max-height: auto; } + .sax-panel-results .sax-panel-info.DbSchema .sax-panel-messages { margin-bottom: 8px; @@ -99,7 +100,7 @@
- @* Database Schema - Reference *@ + @* Database Schema - Support *@
@Localiser["system.caption.database.support"]
@@ -118,7 +119,7 @@ @Localiser["label.table"] @Localiser["label.column"] @Localiser["label.index"] - @Localiser["label.comment"] + @Localiser["label.comment"] diff --git a/SaxoniteCoreWebAdmin/Views/Shared/_Layout.cshtml b/SaxoniteCoreWebAdmin/Views/Shared/_Layout.cshtml index 8797c34..ef86070 100644 --- a/SaxoniteCoreWebAdmin/Views/Shared/_Layout.cshtml +++ b/SaxoniteCoreWebAdmin/Views/Shared/_Layout.cshtml @@ -1,5 +1,4 @@ - -@model SaxModel_Admin +@model SaxModel_Admin @inject Microsoft.AspNetCore.Antiforgery.IAntiforgery AntiForgery; @inject SaxLocaliser Localiser @* @@ -55,7 +54,7 @@ } @* Scripts *@ - + @@ -94,7 +93,7 @@
@* Navigation bar *@ -