From 496aaeee0beb920da84782ba02b0d0c11b049bcc Mon Sep 17 00:00:00 2001 From: Andy Howard Date: Wed, 27 Mar 2024 15:05:33 +0000 Subject: [PATCH] Saxonite 1.2.11.3 --- .../Base/Helpers/SacsDataValidationHelper.cs | 11 +++++++++++ SacsStandardBase/Base/Utils/StringListUtil.cs | 7 +++++++ SacsStandardBase/SacsStandardBase.csproj | 2 +- SacsStandardDbas/Dbas/Base/SacsDatabaseConsole.cs | 10 +++++++--- SacsStandardDbas/SacsStandardDbas.csproj | 2 +- SacsStandardProc/SacsStandardProc.csproj | 2 +- 6 files changed, 28 insertions(+), 6 deletions(-) diff --git a/SacsStandardBase/Base/Helpers/SacsDataValidationHelper.cs b/SacsStandardBase/Base/Helpers/SacsDataValidationHelper.cs index fbb0302..cad34d3 100644 --- a/SacsStandardBase/Base/Helpers/SacsDataValidationHelper.cs +++ b/SacsStandardBase/Base/Helpers/SacsDataValidationHelper.cs @@ -88,6 +88,17 @@ namespace Sarand.Net.Standard.Base.Helpers return false; } + // Location URLs. [[https:]//]www.google.*/maps/place/... + private static readonly Regex reLocationUrl = new Regex("^(?:(?:http(?:s)?:)?//)?\\" + Regex.Escape("www.google.") + "\\w{2,3}" + Regex.Escape("/maps/place/") + ".+", RegexOptions.IgnoreCase); + private static readonly Regex reLocationUrl_Alt = new Regex("^(?:(?:http(?:s)?:)?//)?\\" + Regex.Escape("www.google.") + "\\w{2,3}" + Regex.Escape("/maps?") + ".+", RegexOptions.IgnoreCase); + public static bool IsValidLocationUrl(String value) + { + if (!IsValidUrl(value)) return false; + if (reLocationUrl.Matches(value).Count > 0) return true; + if (reLocationUrl_Alt.Matches(value).Count > 0) return true; + return false; + } + // LinkedIn URLs. [[https:]//][www|xx].linkedin.com/in... private static readonly Regex reLinkedInUrl = new Regex("^(?:(?:http(?:s)?:)?//)?(?:(?:www|\\w{2})\\.)?" + Regex.Escape("linkedin.com/in/") + ".+", RegexOptions.IgnoreCase); private static readonly Regex reLinkedInUrl_Company = new Regex("^(?:(?:http(?:s)?:)?//)?(?:(?:www|\\w{2})\\.)?" + Regex.Escape("linkedin.com/company/") + ".+", RegexOptions.IgnoreCase); diff --git a/SacsStandardBase/Base/Utils/StringListUtil.cs b/SacsStandardBase/Base/Utils/StringListUtil.cs index fa57fa0..442de1e 100644 --- a/SacsStandardBase/Base/Utils/StringListUtil.cs +++ b/SacsStandardBase/Base/Utils/StringListUtil.cs @@ -133,6 +133,13 @@ namespace Sarand.Net.Standard.Base.Utils } } + /// Remove all duplicate values from the list, case-insensitive. + public static void RemoveTrailingBlanks(this List values) + { + while (!values.IsEmpty() && StringUtil.IsBlank(values.Last())) + values.RemoveAt(values.Count - 1); + } + //------------------------------------------------------------------- // M o d i f i c a t i o n //------------------------------------------------------------------- diff --git a/SacsStandardBase/SacsStandardBase.csproj b/SacsStandardBase/SacsStandardBase.csproj index 4254e27..4bc5e37 100644 --- a/SacsStandardBase/SacsStandardBase.csproj +++ b/SacsStandardBase/SacsStandardBase.csproj @@ -7,7 +7,7 @@ - + diff --git a/SacsStandardDbas/Dbas/Base/SacsDatabaseConsole.cs b/SacsStandardDbas/Dbas/Base/SacsDatabaseConsole.cs index 8ee8c9a..77c0402 100644 --- a/SacsStandardDbas/Dbas/Base/SacsDatabaseConsole.cs +++ b/SacsStandardDbas/Dbas/Base/SacsDatabaseConsole.cs @@ -109,9 +109,11 @@ namespace Sarand.Net.Standard.Dbas.Base connectionString += "UID=" + config.user + ";"; connectionString += "PWD=" + config.pword + ";"; } - connectionString += (String)"Trusted_Connection=" + (config.user.IsEmpty() ? "Yes" : "No") + ";"; + connectionString += "Trusted_Connection=" + (config.user.IsEmpty() ? "Yes" : "No") + ";"; + // Mar24 Added to avoid 'The certificate chain was issued by an authority that is not trusted'. + connectionString += "TrustServerCertificate=Yes;"; // Multiple Active Result Sets. - connectionString += "MARS_Connection=yes;"; + connectionString += "MARS_Connection=Yes;"; //if (iQueryLogTime > 0) // connectionString += "QueryLogTime="+String(iQueryLogTime)+";"; //if (iCommandTimeout > 0) @@ -128,7 +130,9 @@ namespace Sarand.Net.Standard.Dbas.Base connectionString += "User Id=" + config.user + ";"; connectionString += "Password=" + config.pword + ";"; } - connectionString += (String)"Trusted_Connection=" + (config.user.IsEmpty() ? "Yes" : "No") + ";"; + connectionString += "Trusted_Connection=" + (config.user.IsEmpty() ? "Yes" : "No") + ";"; + // Mar24 Added to avoid 'The certificate chain was issued by an authority that is not trusted'. + connectionString += "TrustServerCertificate=Yes;"; } // Populate configuration values if blank. diff --git a/SacsStandardDbas/SacsStandardDbas.csproj b/SacsStandardDbas/SacsStandardDbas.csproj index db175c4..831b055 100644 --- a/SacsStandardDbas/SacsStandardDbas.csproj +++ b/SacsStandardDbas/SacsStandardDbas.csproj @@ -10,7 +10,7 @@ - + diff --git a/SacsStandardProc/SacsStandardProc.csproj b/SacsStandardProc/SacsStandardProc.csproj index e52ba04..98bb737 100644 --- a/SacsStandardProc/SacsStandardProc.csproj +++ b/SacsStandardProc/SacsStandardProc.csproj @@ -10,7 +10,7 @@ - +