diff --git a/SaBusMgrCoreProcs/Procs/Interfaces/SbmInterfaceProcess_Commodity_Export.cs b/SaBusMgrCoreProcs/Procs/Interfaces/SbmInterfaceProcess_Commodity_Export.cs index 790a41e..b6f1839 100644 --- a/SaBusMgrCoreProcs/Procs/Interfaces/SbmInterfaceProcess_Commodity_Export.cs +++ b/SaBusMgrCoreProcs/Procs/Interfaces/SbmInterfaceProcess_Commodity_Export.cs @@ -364,7 +364,6 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Interfaces //------------------------------------------------------------------- private bool ExportCommodityData_Csv() { - String fn = this.GetFn("ExportCommodityData_Csv"); if (!OK) return false; String progressPrefix = "Exporting data to CSV file"; @@ -415,7 +414,7 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Interfaces } catch (Exception exc) { - SaLogger.Warn(fn + " " + ExceptionUtil.GetLogMessage(exc)); + SaLogger.Warn($"{SysUtil.Fn} " + ExceptionUtil.GetLogMessage(exc)); return AddErrorMessage(ExceptionUtil.GetErrorStateMessage(exc)); } return OK; @@ -426,7 +425,6 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Interfaces //------------------------------------------------------------------- private bool ExportCommodityData_Excel() { - String fn = this.GetFn("ExportCommodityData_Excel"); if (!OK) return false; String progressPrefix = "Exporting data to Excel"; @@ -488,7 +486,7 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Interfaces } catch (Exception exc) { - SaLogger.Warn(fn + " " + ExceptionUtil.GetLogMessage(exc)); + SaLogger.Warn($"{SysUtil.Fn} " + ExceptionUtil.GetLogMessage(exc)); return AddErrorMessage(ExceptionUtil.GetErrorStateMessage(exc)); } diff --git a/SaBusMgrCoreProcs/Procs/Procs/SbmProcess_Base-FTP.cs b/SaBusMgrCoreProcs/Procs/Procs/SbmProcess_Base-FTP.cs index d0a5ad7..cb7e126 100644 --- a/SaBusMgrCoreProcs/Procs/Procs/SbmProcess_Base-FTP.cs +++ b/SaBusMgrCoreProcs/Procs/Procs/SbmProcess_Base-FTP.cs @@ -62,7 +62,6 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs // Test connection. protected bool TestFtpConnection (FtpConfig ftpConfig) { - String fn = GetType().Name + ".TestFtpConnection"; WebResponse response = null; try { @@ -75,12 +74,12 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs using (StreamReader reader = new StreamReader(responseStream)) { String responseData = reader.ReadToEnd(); - SaLogger.Debug(fn + ": Items in root: " + responseData.ReplaceAll("\r\n", ", ")); + SaLogger.Debug($"{SysUtil.Fn} Items in root: " + responseData.ReplaceAll("\r\n", ", ")); } } catch (Exception exc) { - SaLogger.Warn(fn + " " + exc.GetType().Name + ": " + exc.Message, true); + SaLogger.Warn($"{SysUtil.Fn} " + exc.GetType().Name + ": " + exc.Message, true); return AddErrorMessage("Unable to connect to FTP host"); } finally @@ -110,7 +109,6 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs //------------------------------------------------------------------- protected bool FtpFolderExists (FtpConfig ftpConfig, String folder) { - String fn = GetType().Name + ".FtpFolderExists"; WebResponse response = null; try { @@ -137,7 +135,7 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs } catch (Exception exc) { - SaLogger.Warn(fn + " " + exc.GetType().Name + ": " + exc.Message, true); + SaLogger.Warn($"{SysUtil.Fn} " + exc.GetType().Name + ": " + exc.Message, true); return false; } finally @@ -156,7 +154,6 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs /// Get list of items in remote FTP folder. protected List GetFtpItems (FtpConfig ftpConfig, String folder) { - String fn = this.GetType().Name + ".GetFtpItems"; List files = new List(); WebResponse response = null; try @@ -183,7 +180,7 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs } catch (Exception exc) { - SaLogger.Warn(fn + " " + exc.GetType().Name + ": " + exc.Message, true); + SaLogger.Warn($"{SysUtil.Fn} " + exc.GetType().Name + ": " + exc.Message, true); } finally { @@ -195,7 +192,6 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs //------------------------------------------------------------------- protected String GetFtpFileData (FtpConfig ftpConfig, String folder, String filename) { - String fn = GetType() + ".GetFtpFileData"; WebClient ftpClient = null; try { @@ -206,7 +202,7 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs } catch (Exception exc) { - SaLogger.Warn(fn + " " + exc.GetType().Name + ": " + exc.Message, true); + SaLogger.Warn($"{SysUtil.Fn} " + exc.GetType().Name + ": " + exc.Message, true); } finally { @@ -218,7 +214,6 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs //------------------------------------------------------------------- protected bool WriteDataToFtpFile (FtpConfig ftpConfig, String folder, String filename, String data) { - String fn = GetType() + ".WriteDataToFtpFile"; bool dataWrittenToFile = false; FtpWebResponse response = null; try @@ -235,7 +230,7 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs } catch (Exception exc) { - SaLogger.Warn(fn + " " + exc.GetType().Name + ": " + exc.Message, true); + SaLogger.Warn($"{SysUtil.Fn} " + exc.GetType().Name + ": " + exc.Message, true); } finally { @@ -247,7 +242,6 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs //------------------------------------------------------------------- protected bool DeleteFtpFile (FtpConfig ftpConfig, String folder, String filename) { - String fn = GetType() + ".DeleteFtpData"; bool fileDeleted = false; FtpWebResponse response = null; try @@ -261,7 +255,7 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs } catch (Exception exc) { - SaLogger.Warn(fn + " " + exc.GetType().Name + ": " + exc.Message, true); + SaLogger.Warn($"{SysUtil.Fn} " + exc.GetType().Name + ": " + exc.Message, true); } finally { diff --git a/SaBusMgrCoreProcs/Procs/Procs/SbmProcess_Commodity_Export.cs b/SaBusMgrCoreProcs/Procs/Procs/SbmProcess_Commodity_Export.cs index 6adc063..2d69e05 100644 --- a/SaBusMgrCoreProcs/Procs/Procs/SbmProcess_Commodity_Export.cs +++ b/SaBusMgrCoreProcs/Procs/Procs/SbmProcess_Commodity_Export.cs @@ -272,7 +272,6 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs private bool ExportData() { if (!OK) return false; - String fn = this.GetFn("ExportData"); String progressPrefix = "Preparing worksheet"; //String saveFolder = ""; //GetOption_SaveFolder(); @@ -314,7 +313,7 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs } catch (Exception exc) { - SaLogger.Error(fn + " " + ExceptionUtil.GetLogMessage(exc)); + SaLogger.Error($"{SysUtil.Fn} " + ExceptionUtil.GetLogMessage(exc)); return AddErrorMessage(exc.GetType().Name + " exporting data to Excel."); } @@ -587,7 +586,6 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs private bool ExportCommoditiesToExcel(SaMsSpreadsheet spreadsheet) { if (!OK) return false; - String fn = this.GetFn("ExportCommoditiesToExcel"); String progressPrefix = "Exporting commodities"; SetProgressInfo(progressPrefix + " - Preparing data"); diff --git a/SaBusMgrCoreProcs/Procs/Reports/SbmReport.cs b/SaBusMgrCoreProcs/Procs/Reports/SbmReport.cs index aa235ae..4cdd861 100644 --- a/SaBusMgrCoreProcs/Procs/Reports/SbmReport.cs +++ b/SaBusMgrCoreProcs/Procs/Reports/SbmReport.cs @@ -233,8 +233,7 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Reports //------------------------------------------------------------------- public virtual void BeginPrint(PrintAction printAction, int pageNumberFrom = 0, int pageNumberTo = 0) { - String fn = GetType().Name + ".BeginPrint"; - if (DebugMode) SaLogger.Debug(fn + " PrintAction: " + printAction + ". Page range: " + pageNumberFrom + "-" + pageNumberTo + ". Page count: " + PageCount); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} PrintAction: " + printAction + ". Page range: " + pageNumberFrom + "-" + pageNumberTo + ". Page count: " + PageCount); PageNumberFrom = PageNumberFrom; PageNumberTo = pageNumberTo; PageNumber = Math.Max(1, pageNumberFrom) - 1; @@ -246,7 +245,6 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Reports public virtual void QueryPageSettings(PageSettings pageSettings, PrintAction printAction) { } public PrintPageResult PrintPage(Graphics graphics, PageSettings pageSettings, Rectangle pageBounds, Rectangle marginBounds) { - String fn = GetType().Name + ".PrintPage"; PageNumber++; // Configure graphics for printing document. @@ -266,7 +264,7 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Reports cfg.PosY = marginBounds.Top; cfg.PosYBodyTop = marginBounds.Top; cfg.PosYBodyBottom = marginBounds.Bottom; - if (DebugMode) SaLogger.Debug(fn + " Page: " + PageNumber); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Page: " + PageNumber); SwitchPrintMode(PrintMode.Physical, cfg); // Log print configuration. diff --git a/SaBusMgrCoreWeb/Web/App/SbmLocaliser.cs b/SaBusMgrCoreWeb/Web/App/SbmLocaliser.cs index 6c1dd4b..fa13c4b 100644 --- a/SaBusMgrCoreWeb/Web/App/SbmLocaliser.cs +++ b/SaBusMgrCoreWeb/Web/App/SbmLocaliser.cs @@ -50,7 +50,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.App LocalizedString text = MainProperties.GetString(key, parameters); if (text.ResourceNotFound) { - SaLogger.Debug(GetType().Name + ".GetText Key not found: " + key); + SaLogger.Debug($"{SysUtil.Fn} Key not found: {key}"); // Look up key in alternative property files. foreach (IStringLocalizer properties in AlternativeProperties ?? new List()) { diff --git a/SaBusMgrCoreWeb/Web/App/SbmStartup_Web.cs b/SaBusMgrCoreWeb/Web/App/SbmStartup_Web.cs index 682a1b7..4681921 100644 --- a/SaBusMgrCoreWeb/Web/App/SbmStartup_Web.cs +++ b/SaBusMgrCoreWeb/Web/App/SbmStartup_Web.cs @@ -110,8 +110,9 @@ namespace Sarand.BusinessMgr.Net.Core.Web.App LanguageViewLocationExpanderFormat.Suffix, opts => { opts.ResourcesPath = resourcesPath; }) .AddDataAnnotationsLocalization() - // Ignore null values during object serisliation. - .AddJsonOptions(options => { options.JsonSerializerOptions.IgnoreNullValues = true; }); + // Ignore null values during object serialiation. + .AddJsonOptions(options => { options.JsonSerializerOptions.DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull; }); + // Jun24 Was: .AddJsonOptions(options => { options.JsonSerializerOptions.IgnoreNullValues = true; }); // Configure localisation middleware. config.services.Configure diff --git a/SaBusMgrCoreWeb/Web/App/SbmUserContext_Web.cs b/SaBusMgrCoreWeb/Web/App/SbmUserContext_Web.cs index e8c6b7b..2c28873 100644 --- a/SaBusMgrCoreWeb/Web/App/SbmUserContext_Web.cs +++ b/SaBusMgrCoreWeb/Web/App/SbmUserContext_Web.cs @@ -1,4 +1,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.App; +using Sarand.BusinessMgr.Net.Standard.Base.Bus; +using Sarand.Net.Standard.Base.Bus; +using Sarand.Net.Standard.Base.Security; using System; using System.Collections.Generic; using System.Text; @@ -20,6 +23,13 @@ namespace Sarand.BusinessMgr.Net.Core.Web.App //------------------------------------------------------------------- // Properties. + //------------------------------------------------------------------- + // Modify properties - internal only. + public void RefreshUser(SaSecurityItem securityItemUser, SbmAffiliate affiliateUser, List supervisedOwners) + { + base.SetUserData(securityItemUser, affiliateUser, supervisedOwners); + } + //------------------------------------------------------------------- } //======================================================================= diff --git a/SaBusMgrCoreWeb/Web/Controllers/SbmController_Base.cs b/SaBusMgrCoreWeb/Web/Controllers/SbmController_Base.cs index 8e11f5a..7aa494d 100644 --- a/SaBusMgrCoreWeb/Web/Controllers/SbmController_Base.cs +++ b/SaBusMgrCoreWeb/Web/Controllers/SbmController_Base.cs @@ -1,14 +1,7 @@ -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Localization; -using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.Filters; -using Microsoft.AspNetCore.Routing; -using Microsoft.Net.Http.Headers; -using Newtonsoft.Json; -using Newtonsoft.Json.Serialization; +using Microsoft.AspNetCore.Mvc.Filters; +using Microsoft.Extensions.Logging.Abstractions; using Sacs.Web.Components; using Sarand.BusinessMgr.Net.Core.Web.App; -using Sarand.BusinessMgr.Net.Core.Web.Models; using Sarand.BusinessMgr.Net.Standard.Base.App; using Sarand.BusinessMgr.Net.Standard.Base.Bus; using Sarand.BusinessMgr.Net.Standard.Base.Consoles; @@ -17,10 +10,8 @@ using Sarand.BusinessMgr.Net.Standard.Base.Mgr; using Sarand.Net.Standard.Base.App; using Sarand.Net.Standard.Base.CodeTypes; using Sarand.Net.Standard.Base.Core; -using Sarand.Net.Standard.Base.Dbas; using Sarand.Net.Standard.Base.Diary; using Sarand.Net.Standard.Base.Email; -using Sarand.Net.Standard.Base.Helpers; using Sarand.Net.Standard.Base.Interfaces; using Sarand.Net.Standard.Base.ItemData; using Sarand.Net.Standard.Base.ItemDocs; @@ -31,12 +22,9 @@ using Sarand.Net.Standard.Base.UpdateLog; using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; -using System.Collections.Specialized; using System.Linq; -using System.Reflection; using System.Text; -using System.Text.RegularExpressions; -using System.Web; +using System.Threading.Tasks; namespace Sarand.BusinessMgr.Net.Core.Web.Controllers { @@ -46,6 +34,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Controllers //------------------------------------------------------------------- // Data members. private SbmInternals internals; + private SbmSysParamCache sysParamCache = null; //------------------------------------------------------------------- // Protected construction. @@ -56,25 +45,30 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Controllers // Initialise console (debug) logging listener. //if (Directory.Exists(App.LoggingRootFolder) && SbmSystem.DebugMode) // SbmConsoleListener.ConfigureDebugListener(App.LoggingRootFolder); - if (DebugMode) SaLogger.Trace(GetType().Name + ".CTR"); + if (DebugMode) SaLogger.Trace($"{GetType().Name}.CTR"); } protected override void Dispose(bool disposing) { if (disposing) { + if (sysParamCache != null) sysParamCache.Dispose(); + sysParamCache = null; + if (internals != null) internals.Dispose(); + internals = null; } base.Dispose(disposing); } //------------------------------------------------------------------- // Properties. + protected SbmLocaliser Localiser { get; } protected SbmApplication_Web App { get { return SbmGlobals_Web.Application; } } public SbmAppConfig AppConfig { get { return App.AppConfig; } } - public SbmSessionContext SessionContext { get { return SessionData?.SessionContext ?? null; } } - public ISbmUserContext UserContext { get { return SessionData; } } - protected SbmLocaliser Localiser { get; } + public abstract SbmSessionContext SessionContext { get; } + public abstract ISbmUserContext UserContext { get; } // Business components. public SbmInternals Internals { get { if (internals == null) internals = new SbmInternals(UserContext); return internals; } } + protected SbmSysParamCache SysParamCache { get { if (sysParamCache == null) sysParamCache = new SbmSysParamCache(UserContext); return sysParamCache; } } // Managers. public SbmAccountMgr AccountMgr { get { return Internals.AccountMgr; } } public SbmAssetMgr AssetMgr { get { return Internals.AssetMgr; } } @@ -109,152 +103,27 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Controllers //------------------------------------------------------------------- public override void OnActionExecuting(ActionExecutingContext filterContext) { - if (DebugMode) SaLogger.Debug(GetType().Name + ".OnActionExecuting" + (ViewData.Model != null ? " Model: " + ViewData.Model : "")); - - // Refreh model properties. - SbmModel_Base baseModel = ViewData.Model as SbmModel_Base; - RefreshModel(baseModel); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn}" + (ViewData.Model != null ? " Model: " + ViewData.Model : "")); base.OnActionExecuting(filterContext); } public override void OnActionExecuted(ActionExecutedContext filterContext) { - if (DebugMode) SaLogger.Debug(GetType().Name + ".OnActionExecuted" + (ViewData.Model != null ? " Model: " + ViewData.Model : "")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn}" + (ViewData.Model != null ? " Model: " + ViewData.Model : "")); - // Refreh model properties. - SbmModel_Base baseModel = ViewData.Model as SbmModel_Base; - RefreshModel(baseModel); - - // Store session data if present - as potentially modfied. - if (SessionData != null) + // ToDo Store system params. + if (sysParamCache != null) { - // Most actions will store the session data in case it's been modified. - // Some actions (eg. score password) don't need to. - if (StoreSessionData) + if (sysParamCache.Modified) { - String sessionDataJson = JsonConvert.SerializeObject(SessionData); - HttpContext.Session.Set(SessionStorage.SessionKey_SessionData, SessionStorage.sessionDataEncoding.GetBytes(sessionDataJson)); + sysParamCache.Store(); + SaLogger.Info($"{SysUtil.Fn} User params stored."); } } - else HttpContext.Session.Remove(SessionStorage.SessionKey_SessionData); - - // Response headers. - if (baseModel != null && baseModel.ProhibitCache) - { - if (Response.Headers.ContainsKey(HeaderNames.CacheControl)) - Response.Headers.Remove(HeaderNames.CacheControl); - Response.Headers.Add(HeaderNames.CacheControl, "no-cache, no-store, must-revalidate"); - Response.Headers.Add(HeaderNames.Pragma, "no-cache"); - Response.Headers.Add(HeaderNames.Expires, "0"); - } - base.OnActionExecuted(filterContext); } - //------------------------------------------------------------------- - // Model. - //------------------------------------------------------------------- - protected void RefreshModel(SbmModel_Base model) - { - if (model == null) return; - - // Session data. - model.Controller = this; - model.SessionData_Web = SessionData; - - // Redirect locations. - model.RedirectLocation.Base = GetRedirectLocation(RedirectLocation.WebAppBase); - model.RedirectLocation.Home = GetRedirectLocation(RedirectLocation.WebAppHome); - model.RedirectLocation.Home_SessionExpired = GetRedirectLocation(RedirectLocation.WebAppHome_SessionExpired); - } - - //------------------------------------------------------------------- - // Session. - //------------------------------------------------------------------- - public bool ValidUserSession { get { return SessionData?.ValidUserSession ?? false; } } - public DbUpdateInfo DbUpdateInfo { get { return SessionData?.DbUpdateInfo ?? new DbUpdateInfo(null, "", SbmSystem.ComputerName); } } - // Referrer. - public String Referer { get { return Request.Headers["Referer"].ToString(); } } - public bool ValidReferer { get { return !StringUtil.IsEmpty(Referer); } } - /// Store session data, eg. to start a new user session on sign-in. - protected bool SetSessionData(SbmSessionData_Web sessionData) - { - if (sessionStorage.SessionData != null) return false; - sessionStorage.SessionData = sessionData; - return true; - } - protected void ClearSessionData() - { - if (HttpContext.Session.IsAvailable) - HttpContext.Session.Clear(); - sessionStorage.SessionData = null; - } - - //------------------------------------------------------------------- - // Session storage. - public class SessionStorage - { - public SbmSessionData_Web SessionData { get; set; } - public static String SessionKey_SessionData { get; } = "SbmSessionData"; - public static Encoding sessionDataEncoding { get; } = Encoding.UTF8; - //JSON Serialisation. - public class SbmSessionDataContractResolver : DefaultContractResolver - { - // To allow private properties to be deserialised. - // NB Only applies to top level properties in the serialised object. - protected override List GetSerializableMembers(Type objectType) - { - var flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic; - MemberInfo[] fields = objectType.GetFields(flags); - return fields - .Concat(objectType.GetProperties(flags).Where(propInfo => propInfo.CanWrite)) - .ToList(); - } - protected override IList CreateProperties(Type type, MemberSerialization memberSerialization) - { - return base.CreateProperties(type, MemberSerialization.Fields); - } - }; - public static JsonSerializerSettings JsonDeserialisationSettings = new JsonSerializerSettings - { - ContractResolver = new SbmSessionDataContractResolver(), - // Force all deserialised objects to be replaced - to avoid proxy lists not populating. - ObjectCreationHandling = ObjectCreationHandling.Replace - }; - } - private readonly SessionStorage sessionStorage = new SessionStorage(); - public static JsonSerializerSettings SbmSessionDataJsonSerializerSettings { get { return SessionStorage.JsonDeserialisationSettings; } } - - //------------------------------------------------------------------- - public SbmSessionData_Web SessionData - { - get - { - try - { - // Retrieve session data if not already in controller. - if (sessionStorage.SessionData == null) - { - byte[] sessionDataBytes = null; - HttpContext.Session.TryGetValue(SessionStorage.SessionKey_SessionData, out sessionDataBytes); - if (sessionDataBytes != null) - { - String sessionDataJson = SessionStorage.sessionDataEncoding.GetString(sessionDataBytes); - sessionStorage.SessionData = DeserializeSessionData(sessionDataJson); - } - } - return sessionStorage.SessionData; - } - catch (Exception exc) - { - SaLogger.Warn(GetType().Name + ".SessionData " + exc.GetType().Name + " - " + exc.Message + exc.GetStackEntries().Concat("", "\n\t")); - } - return null; - } - } - protected abstract SbmSessionData_Web DeserializeSessionData(String sessionDataJson); - //------------------------------------------------------------------- } //======================================================================= diff --git a/SaBusMgrCoreWeb/Web/Controllers/SbmController_Web.cs b/SaBusMgrCoreWeb/Web/Controllers/SbmController_Web.cs new file mode 100644 index 0000000..9d558fd --- /dev/null +++ b/SaBusMgrCoreWeb/Web/Controllers/SbmController_Web.cs @@ -0,0 +1,225 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Localization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Filters; +using Microsoft.AspNetCore.Routing; +using Microsoft.Net.Http.Headers; +using Newtonsoft.Json; +using Newtonsoft.Json.Serialization; +using Sacs.Web.Components; +using Sarand.BusinessMgr.Net.Core.Web.App; +using Sarand.BusinessMgr.Net.Core.Web.Models; +using Sarand.BusinessMgr.Net.Standard.Base.App; +using Sarand.BusinessMgr.Net.Standard.Base.Bus; +using Sarand.BusinessMgr.Net.Standard.Base.Consoles; +using Sarand.BusinessMgr.Net.Standard.Base.Core; +using Sarand.BusinessMgr.Net.Standard.Base.Mgr; +using Sarand.Net.Standard.Base.App; +using Sarand.Net.Standard.Base.CodeTypes; +using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Dbas; +using Sarand.Net.Standard.Base.Diary; +using Sarand.Net.Standard.Base.Email; +using Sarand.Net.Standard.Base.Helpers; +using Sarand.Net.Standard.Base.Interfaces; +using Sarand.Net.Standard.Base.ItemData; +using Sarand.Net.Standard.Base.ItemDocs; +using Sarand.Net.Standard.Base.ItemOptions; +using Sarand.Net.Standard.Base.ReferenceData; +using Sarand.Net.Standard.Base.Security; +using Sarand.Net.Standard.Base.UpdateLog; +using Sarand.Net.Standard.Base.Utils; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Text.RegularExpressions; +using System.Web; + +namespace Sarand.BusinessMgr.Net.Core.Web.Controllers +{ + //======================================================================= + public abstract class SbmController_Web : SbmController_Base + { + //------------------------------------------------------------------- + // Data members. + + //------------------------------------------------------------------- + // Protected construction. + protected SbmController_Web(SbmLocaliser localiser) : base(localiser) + { + // Initialise console (debug) logging listener. + //if (Directory.Exists(App.LoggingRootFolder) && SbmSystem.DebugMode) + // SbmConsoleListener.ConfigureDebugListener(App.LoggingRootFolder); + if (DebugMode) SaLogger.Trace($"{GetType().Name}.CTR"); + } + protected override void Dispose(bool disposing) + { + if (disposing) + { + } + base.Dispose(disposing); + } + + //------------------------------------------------------------------- + // Properties. + public override SbmSessionContext SessionContext { get { return SessionData?.SessionContext ?? null; } } + public override ISbmUserContext UserContext { get { return SessionData; } } + + //------------------------------------------------------------------- + // Action execution events. + //------------------------------------------------------------------- + public override void OnActionExecuting(ActionExecutingContext filterContext) + { + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn}" + (ViewData.Model != null ? " Model: " + ViewData.Model : "")); + + // Refreh model properties. + SbmModel_Base baseModel = ViewData.Model as SbmModel_Base; + RefreshModel(baseModel); + + base.OnActionExecuting(filterContext); + } + public override void OnActionExecuted(ActionExecutedContext filterContext) + { + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn}" + (ViewData.Model != null ? " Model: " + ViewData.Model : "")); + + // Refreh model properties. + SbmModel_Base baseModel = ViewData.Model as SbmModel_Base; + RefreshModel(baseModel); + + // Store session data if present - as potentially modfied. + if (SessionData != null) + { + // Most actions will store the session data in case it's been modified. + // Some actions (eg. score password) don't need to. + if (StoreSessionData) + { + String sessionDataJson = JsonConvert.SerializeObject(SessionData); + HttpContext.Session.Set(SessionStorage.SessionKey_SessionData, SessionStorage.sessionDataEncoding.GetBytes(sessionDataJson)); + } + } + else HttpContext.Session.Remove(SessionStorage.SessionKey_SessionData); + + // Response headers. + if (baseModel != null && baseModel.ProhibitCache) + { + if (Response.Headers.ContainsKey(HeaderNames.CacheControl)) + Response.Headers.Remove(HeaderNames.CacheControl); + Response.Headers.Add(HeaderNames.CacheControl, "no-cache, no-store, must-revalidate"); + Response.Headers.Add(HeaderNames.Pragma, "no-cache"); + Response.Headers.Add(HeaderNames.Expires, "0"); + } + + + base.OnActionExecuted(filterContext); + } + + //------------------------------------------------------------------- + // Model. + //------------------------------------------------------------------- + protected void RefreshModel(SbmModel_Base model) + { + if (model == null) return; + + // Session data. + model.Controller = this; + model.SessionData_Web = SessionData; + + // Redirect locations. + model.RedirectLocation.Base = GetRedirectLocation(RedirectLocation.WebAppBase); + model.RedirectLocation.Home = GetRedirectLocation(RedirectLocation.WebAppHome); + model.RedirectLocation.Home_SessionExpired = GetRedirectLocation(RedirectLocation.WebAppHome_SessionExpired); + } + + //------------------------------------------------------------------- + // Session. + //------------------------------------------------------------------- + public bool ValidUserSession { get { return SessionData?.ValidUserSession ?? false; } } + public DbUpdateInfo DbUpdateInfo { get { return SessionData?.DbUpdateInfo ?? new DbUpdateInfo(null, "", SbmSystem.ComputerName); } } + // Referrer. + public String Referer { get { return Request.Headers["Referer"].ToString(); } } + public bool ValidReferer { get { return !StringUtil.IsEmpty(Referer); } } + /// Store session data, eg. to start a new user session on sign-in. + protected bool SetSessionData(SbmSessionData_Web sessionData) + { + if (sessionStorage.SessionData != null) return false; + sessionStorage.SessionData = sessionData; + return true; + } + protected void ClearSessionData() + { + if (HttpContext.Session.IsAvailable) + HttpContext.Session.Clear(); + sessionStorage.SessionData = null; + } + + //------------------------------------------------------------------- + // Session storage. + public class SessionStorage + { + public SbmSessionData_Web SessionData { get; set; } + public static String SessionKey_SessionData { get; } = "SbmSessionData"; + public static Encoding sessionDataEncoding { get; } = Encoding.UTF8; + //JSON Serialisation. + public class SbmSessionDataContractResolver : DefaultContractResolver + { + // To allow private properties to be deserialised. + // NB Only applies to top level properties in the serialised object. + protected override List GetSerializableMembers(Type objectType) + { + var flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic; + MemberInfo[] fields = objectType.GetFields(flags); + return fields + .Concat(objectType.GetProperties(flags).Where(propInfo => propInfo.CanWrite)) + .ToList(); + } + protected override IList CreateProperties(Type type, MemberSerialization memberSerialization) + { + return base.CreateProperties(type, MemberSerialization.Fields); + } + }; + public static JsonSerializerSettings JsonDeserialisationSettings = new JsonSerializerSettings + { + ContractResolver = new SbmSessionDataContractResolver(), + // Force all deserialised objects to be replaced - to avoid proxy lists not populating. + ObjectCreationHandling = ObjectCreationHandling.Replace + }; + } + private readonly SessionStorage sessionStorage = new SessionStorage(); + public static JsonSerializerSettings SbmSessionDataJsonSerializerSettings { get { return SessionStorage.JsonDeserialisationSettings; } } + + //------------------------------------------------------------------- + public SbmSessionData_Web SessionData + { + get + { + try + { + // Retrieve session data if not already in controller. + if (sessionStorage.SessionData == null) + { + byte[] sessionDataBytes = null; + HttpContext.Session.TryGetValue(SessionStorage.SessionKey_SessionData, out sessionDataBytes); + if (sessionDataBytes != null) + { + String sessionDataJson = SessionStorage.sessionDataEncoding.GetString(sessionDataBytes); + sessionStorage.SessionData = DeserializeSessionData(sessionDataJson); + } + } + return sessionStorage.SessionData; + } + catch (Exception exc) + { + SaLogger.Warn($"{SysUtil.Fn} {exc.GetType().Name} - {exc.Message}{exc.GetStackEntries().Concat("", "\n\t")}"); + } + return null; + } + } + protected abstract SbmSessionData_Web DeserializeSessionData(String sessionDataJson); + + //------------------------------------------------------------------- + } + //======================================================================= +} diff --git a/SaBusMgrCoreWeb/Web/Middleware/SbmModelBinder.cs b/SaBusMgrCoreWeb/Web/Middleware/SbmModelBinder.cs index 4305728..4ff6bec 100644 --- a/SaBusMgrCoreWeb/Web/Middleware/SbmModelBinder.cs +++ b/SaBusMgrCoreWeb/Web/Middleware/SbmModelBinder.cs @@ -10,12 +10,15 @@ using System.Reflection.PortableExecutable; using System.Text; using System.Text.RegularExpressions; +// Ignore obsolete warning on ComplexTypeModelBinder. +#pragma warning disable 0618 + namespace Sarand.BusinessMgr.Net.Core.Web.Middleware { //======================================================================= /// /// Maps a browser request to a data object. Default class provides a base implementation of a model binder. - /// Overridden to trim whitespace from input values. + /// - Overridden to trim whitespace from input values. /// public class SbmModelBinder : ComplexTypeModelBinder { @@ -54,13 +57,12 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Middleware /// protected override void SetProperty(ModelBindingContext bindingContext, string modelName, ModelMetadata propertyMetadata, ModelBindingResult result) { - string fn = GetType().Name + ".SetProperty"; - //if (SbmSystem.DebugMode) Logger.Debug(fn + " Form property " + modelName + ": '" + result.Model.ToString() + "."); + //if (SbmSystem.DebugMode) Logger.Debug($"{SysUtil.Fn} Form property " + modelName + ": '" + result.Model.ToString() + "."); object originalValue = result.Model; // Anything that looks like a password will be left as is. bool password = modelName.ContainsCI("Password"); - // Exclude properties that retain leading/trailing whitespace. - if (result.Model is string) + // Exclude properties that retain leading/trailing whitespace. + if (result.Model is string) { if (!password) { @@ -92,16 +94,16 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Middleware result = ModelBindingResult.Success(value); } } - // Log property details. - if (result.Model != null && SbmSystem.DebugMode && + // Log property details. + if (result.Model != null && SbmSystem.DebugMode && // Ignore passwords. !password && - // Ignore items that correspond with objects in the model rather than values. - !result.Model.ToString().Equals(result.Model.GetType().FullName) && - // Ignore form files. - !result.Model.ToString().ContainsCI("Microsoft.AspNetCore.Http.IFormFile")) - SaLogger.Debug(SysUtil.Fn + " Form property " + modelName + ": '" + result.Model.ToString() + "'." + (originalValue != null && !originalValue.Equals(result.Model) ? " Original value: '" + originalValue.ToString() + "'" : "")); - base.SetProperty(bindingContext, modelName, propertyMetadata, result); + // Ignore items that correspond with objects in the model rather than values. + !result.Model.ToString().Equals(result.Model.GetType().FullName) && + // Ignore form files. + !result.Model.ToString().ContainsCI("Microsoft.AspNetCore.Http.IFormFile")) + SaLogger.Debug(SysUtil.Fn + " Form property " + modelName + ": '" + result.Model.ToString() + "'." + (originalValue != null && !originalValue.Equals(result.Model) ? " Original value: '" + originalValue.ToString() + "'" : "")); + base.SetProperty(bindingContext, modelName, propertyMetadata, result); } //------------------------------------------------------------------- diff --git a/SaBusMgrCoreWeb/Web/Middleware/ValidateAntiForgeryTokenMiddleware.cs b/SaBusMgrCoreWeb/Web/Middleware/ValidateAntiForgeryTokenMiddleware.cs index 88d999c..462541b 100644 --- a/SaBusMgrCoreWeb/Web/Middleware/ValidateAntiForgeryTokenMiddleware.cs +++ b/SaBusMgrCoreWeb/Web/Middleware/ValidateAntiForgeryTokenMiddleware.cs @@ -41,11 +41,9 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Middleware public async Task Invoke(HttpContext context) { - String fn = GetType().Name + ".Invoke"; - // Log action. //String rawTarget = context.Features.Get().RawTarget; - if (SbmSystem.DebugMode) SaLogger.Debug(fn + " Action: '" + Regex.Replace(context.Request.Path.ToString(), "^/", "") + "'. Method: " + context.Request.Method); + if (SbmSystem.DebugMode) SaLogger.Debug($"{SysUtil.Fn} Action: '" + Regex.Replace(context.Request.Path.ToString(), "^/", "") + "'. Method: " + context.Request.Method); // Intercept POST requests and apply anti-forgery test. if (HttpMethods.IsPost(context.Request.Method)) @@ -59,7 +57,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Middleware } catch (Exception exc) { - SaLogger.Warn(fn + " " + ExceptionUtil.GetLogMessage(exc)); + SaLogger.Warn($"{SysUtil.Fn} " + ExceptionUtil.GetLogMessage(exc)); throw; } } diff --git a/SaBusMgrCoreWeb/Web/Models/SbmModel_Base.cs b/SaBusMgrCoreWeb/Web/Models/SbmModel_Base.cs index 22936f4..ed9cdc3 100644 --- a/SaBusMgrCoreWeb/Web/Models/SbmModel_Base.cs +++ b/SaBusMgrCoreWeb/Web/Models/SbmModel_Base.cs @@ -51,7 +51,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Models public DbUpdateInfo DbUpdateInfo { get { return SessionData?.DbUpdateInfo ?? new DbUpdateInfo(null, "", SbmSystem.ComputerName); } } public SbmLocaliser Localiser { get; } // Request properties. - public SbmController_Base Controller { get; set; } + public SbmController_Web Controller { get; set; } public CultureInfo SessionCulture { get { return Controller?.SessionCulture ?? CultureInfo.InvariantCulture; } } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardBase/Base/App/SbmAppConsole.cs b/SaBusMgrStandardBase/Base/App/SbmAppConsole.cs index 6224abe..7774b50 100644 --- a/SaBusMgrStandardBase/Base/App/SbmAppConsole.cs +++ b/SaBusMgrStandardBase/Base/App/SbmAppConsole.cs @@ -2,6 +2,7 @@ using Sarand.Net.Standard.Base.App; using Sarand.Net.Standard.Base.Dbas; using Sarand.Net.Standard.Base.Interfaces; +using Sarand.Net.Standard.Base.Utils; using System; namespace Sarand.BusinessMgr.Net.Standard.Base.App @@ -265,7 +266,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App //------------------------------------------------------------------- public static bool IsMenuOptionApplicable(ISbmUserContext userContext, SbmConfigConsole configConsole, Sbm.MenuOption menuOption) { - String fn = ClassName + ".IsMenuOptionApplicable"; if (!userContext.ValidUser) { // ToDo Only Login menu option available. @@ -295,7 +295,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App return configConsole.AllowOption(userContext, Sbm.ConfigOption.TimeRecording); //----------------------------------------------------------- } - SaLogger.Warn(fn + " Unsupport menu option - " + menuOption.ToString()); + SaLogger.Warn($"{SysUtil.Fn} Unsupport menu option - {menuOption.ToString()}"); return false; } diff --git a/SaBusMgrStandardBase/Base/App/SbmConfigConsole.cs b/SaBusMgrStandardBase/Base/App/SbmConfigConsole.cs index ed3c0b7..584309a 100644 --- a/SaBusMgrStandardBase/Base/App/SbmConfigConsole.cs +++ b/SaBusMgrStandardBase/Base/App/SbmConfigConsole.cs @@ -101,8 +101,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App //------------------------------------------------------------------- public static SbmConfigConsole CreateConsole(SbmSessionContext sessionContext) { - String fn = "SbmConfigConsole.CreateConsole"; - SaLogger.Warn(fn + ".CreateConsole Creating default configuration console."); + SaLogger.Warn($"{SysUtil.Fn} Creating default configuration console."); // Default console. SbmVersion consoleVersion = new SbmVersion("Standard", Sbm.Version.GetFullVersion(), SbmSystem.AssemblyBuildAt); return new SbmConfigConsole(Sbm.ConfigConsole.Generic, consoleVersion, sessionContext); @@ -186,8 +185,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App // Application events. public virtual void OnOpenDatabase() { - String fn = GetType().Name + ".OnOpenDatabase"; - SaLogger.Trace(fn); + SaLogger.Trace($"{SysUtil.Fn}"); } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardBase/Base/App/SbmDbDfn.cs b/SaBusMgrStandardBase/Base/App/SbmDbDfn.cs index c1a9dcd..c93de1c 100644 --- a/SaBusMgrStandardBase/Base/App/SbmDbDfn.cs +++ b/SaBusMgrStandardBase/Base/App/SbmDbDfn.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Base.App { @@ -1159,10 +1159,19 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App { int tableIdx = (int)table - 1; if (tableIdx < 0 || tableIdx >= tableCount) return String.Empty; - String tableName = tables[(int)tableIdx]; + String tableName = tables[(int)tableIdx].Name; if (delimitReservedWords) tableName = DelimitReservedWord(tableName); return tableName; } + public static String GetTableNameQual (TableIdx table, bool delimitReservedWords = true) + { + int tableIdx = (int)table - 1; + if (tableIdx < 0 || tableIdx >= tableCount) return String.Empty; + String schemaName = tables[(int)tableIdx].Schema; + String tableName = tables[(int)tableIdx].Name; + if (delimitReservedWords) { schemaName = DelimitReservedWord(schemaName); tableName = DelimitReservedWord(tableName); } + return (StringUtil.IsBlank(schemaName) ? "" : schemaName + ".") + tableName; + } //------------------------------------------------------------------- // Identify the table that corresponds with the specified column. @@ -1212,8 +1221,15 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App } public static String DelimitReservedWord (String word) { - if (!IsReservedWord(word)) return word; - switch (reservedWordDelim) + return IsReservedWord(word) ? DelimitWord(word) : word; + } + public static String DelimitWord (String word) + { + return DelimitWord(word, reservedWordDelim); + } + public static String DelimitWord (String word, DbReservedWordDelim wordDelim) + { + switch (wordDelim) { case DbReservedWordDelim.None: break; @@ -1290,52 +1306,62 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App //------------------------------------------------------------------- // Table definitions. - private static readonly String[] tables = + private class TableDfn { - "Address", - "Affiliate", - "Association", - "Commodity", - "CommodityCustomer", - "CommoditySupplier", - "Constituent", - "Container", - "ContainerItem", - "Currency", - "IndexDefragLog", - "Interface", - "InterfaceDataItem", - "InterfaceProcess", - "InterfaceProcessDataItem", - "InterfaceProcessMessage", - "ItemBatch", - "ItemLink", - "Language", - "Location", - "Movement", - "PortfolioItem", - "Process", - "Region", - "Requirement", - "SaAsset", - "SaAssetCategory", - "SaAssetProcess", - "SaDiaryEntry", - "SaDiaryLink", - "SaPrice", - "SaPriceSet", - "SaVehicle", - "SaVehicleClass", - "SaVehicleEvent", - "SaVehicleFeature", - "StockLevel", - "SysParam", - "SystemAccount", - "SystemAccountUser", - "SystemUser", - "TaxCode", - "Transaction", - "UnitMeasure", + internal String Schema { get; set; } + internal String Name { get; set; } + internal TableDfn (String schema, String name) + { + this.Schema= schema; + this.Name = name; + } + } + private static readonly TableDfn[] tables = + { + new TableDfn("dbo","Address"), + new TableDfn("dbo","Affiliate"), + new TableDfn("dbo","Association"), + new TableDfn("dbo","Commodity"), + new TableDfn("dbo","CommodityCustomer"), + new TableDfn("dbo","CommoditySupplier"), + new TableDfn("dbo","Constituent"), + new TableDfn("dbo","Container"), + new TableDfn("dbo","ContainerItem"), + new TableDfn("dbo","Currency"), + new TableDfn("dbo","IndexDefragLog"), + new TableDfn("dbo","Interface"), + new TableDfn("dbo","InterfaceDataItem"), + new TableDfn("dbo","InterfaceProcess"), + new TableDfn("dbo","InterfaceProcessDataItem"), + new TableDfn("dbo","InterfaceProcessMessage"), + new TableDfn("dbo","ItemBatch"), + new TableDfn("dbo","ItemLink"), + new TableDfn("dbo","Language"), + new TableDfn("dbo","Location"), + new TableDfn("dbo","Movement"), + new TableDfn("dbo","PortfolioItem"), + new TableDfn("dbo","Process"), + new TableDfn("dbo","Region"), + new TableDfn("dbo","Requirement"), + new TableDfn("dbo","SaAsset"), + new TableDfn("dbo","SaAssetCategory"), + new TableDfn("dbo","SaAssetProcess"), + new TableDfn("dbo","SaDiaryEntry"), + new TableDfn("dbo","SaDiaryLink"), + new TableDfn("dbo","SaPrice"), + new TableDfn("dbo","SaPriceSet"), + new TableDfn("dbo","SaVehicle"), + new TableDfn("dbo","SaVehicleClass"), + new TableDfn("dbo","SaVehicleEvent"), + new TableDfn("dbo","SaVehicleFeature"), + new TableDfn("dbo","StockLevel"), + new TableDfn("dbo","SysParam"), + new TableDfn("dbo","SystemAccount"), + new TableDfn("dbo","SystemAccountUser"), + new TableDfn("dbo","SystemUser"), + new TableDfn("dbo","TaxCode"), + new TableDfn("dbo","Transaction"), + new TableDfn("dbo","UnitMeasure"), }; //------------------------------------------------------------------- @@ -1358,8 +1384,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App this.DataLen = dataLen; } } - - //------------------------------------------------------------------- private static readonly ColumnDfn[] columns = { new ColumnDfn(1,"Id",4,4,false,10), diff --git a/SaBusMgrStandardBase/Base/App/SbmDbDfn_Control.cs b/SaBusMgrStandardBase/Base/App/SbmDbDfn_Control.cs index 6d3f666..47a9b11 100644 --- a/SaBusMgrStandardBase/Base/App/SbmDbDfn_Control.cs +++ b/SaBusMgrStandardBase/Base/App/SbmDbDfn_Control.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:28 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Base.App { @@ -98,10 +98,19 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App { int tableIdx = (int)table - 1; if (tableIdx < 0 || tableIdx >= tableCount) return String.Empty; - String tableName = tables[(int)tableIdx]; + String tableName = tables[(int)tableIdx].Name; if (delimitReservedWords) tableName = DelimitReservedWord(tableName); return tableName; } + public static String GetTableNameQual (TableIdx table, bool delimitReservedWords = true) + { + int tableIdx = (int)table - 1; + if (tableIdx < 0 || tableIdx >= tableCount) return String.Empty; + String schemaName = tables[(int)tableIdx].Schema; + String tableName = tables[(int)tableIdx].Name; + if (delimitReservedWords) { schemaName = DelimitReservedWord(schemaName); tableName = DelimitReservedWord(tableName); } + return (StringUtil.IsBlank(schemaName) ? "" : schemaName + ".") + tableName; + } //------------------------------------------------------------------- // Identify the table that corresponds with the specified column. @@ -151,8 +160,15 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App } public static String DelimitReservedWord (String word) { - if (!IsReservedWord(word)) return word; - switch (reservedWordDelim) + return IsReservedWord(word) ? DelimitWord(word) : word; + } + public static String DelimitWord (String word) + { + return DelimitWord(word, reservedWordDelim); + } + public static String DelimitWord (String word, DbReservedWordDelim wordDelim) + { + switch (wordDelim) { case DbReservedWordDelim.None: break; @@ -229,11 +245,21 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App //------------------------------------------------------------------- // Table definitions. - private static readonly String[] tables = + private class TableDfn { - "Database", - "DatabaseAccount", - "UserAccount", + internal String Schema { get; set; } + internal String Name { get; set; } + internal TableDfn (String schema, String name) + { + this.Schema= schema; + this.Name = name; + } + } + private static readonly TableDfn[] tables = + { + new TableDfn("dbo","Database"), + new TableDfn("dbo","DatabaseAccount"), + new TableDfn("dbo","UserAccount"), }; //------------------------------------------------------------------- @@ -256,8 +282,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App this.DataLen = dataLen; } } - - //------------------------------------------------------------------- private static readonly ColumnDfn[] columns = { new ColumnDfn(1,"Id",4,4,true,10), diff --git a/SaBusMgrStandardBase/Base/App/SbmResourceConsole.cs b/SaBusMgrStandardBase/Base/App/SbmResourceConsole.cs deleted file mode 100644 index 3712e97..0000000 --- a/SaBusMgrStandardBase/Base/App/SbmResourceConsole.cs +++ /dev/null @@ -1,116 +0,0 @@ -using Sarand.Net.Standard.Base.Helpers; -using Sarand.Net.Standard.Base.Utils; -using System; -using System.Reflection; - -namespace Sarand.BusinessMgr.Net.Standard.Base.App -{ - //======================================================================= - public static class SbmResourceConsole - { - //---------------------------------------------------------------------- - // Definitions. - public enum TextResource - { - SaBaseCss, - SaBaseJs, - SbmBaseCss, - SbmBaseJs, - JQueryJs, - JQueryUiCss, - JQueryUiJs, - } - public enum ImageResource - { - // Sapphire icons. - sapphire01_side_32_png, - sapphire01_side_40_png, - sapphire01_side_64_png, - // Menu icons. - arrow_down_black_16_png, - arrow_down_black_24_png, - arrow_up_black_16_png, - arrow_up_black_24_png, - star_amber_16_png, - } - - //------------------------------------------------------------------- - // Properties. - public static Assembly Assembly { get { return typeof(SacsResourceHelper).GetTypeInfo().Assembly; } } - - //------------------------------------------------------------------- - public static String GetTextResource(TextResource textResource) - { - switch (textResource) - { - case TextResource.SaBaseCss: - return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.SaBaseCss); - case TextResource.SaBaseJs: - return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.SaBaseJs); - case TextResource.SbmBaseCss: - return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.SaBaseCss) + SacsResourceHelper.GetManifestResourceAsText(Assembly, "", "sbm_base.css"); - case TextResource.SbmBaseJs: - return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.SaBaseJs) + SacsResourceHelper.GetManifestResourceAsText(Assembly, "", "sbm_base.js"); - - case TextResource.JQueryJs: - return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.JQueryJs); - case TextResource.JQueryUiCss: - return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.JQueryUiCss); - case TextResource.JQueryUiJs: - return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.JQueryUiJs); - } - return ""; - } - - //------------------------------------------------------------------- - public static byte[] GetImageResource(ImageResource imageResource) - { - String partialPath = ""; - String resourceFilename = ""; - switch (imageResource) - { - // Sapphire icons. - case ImageResource.sapphire01_side_32_png: - partialPath = "sapphire"; - resourceFilename = "sapphire01-side-32.png"; - break; - case ImageResource.sapphire01_side_40_png: - partialPath = "sapphire"; - resourceFilename = "sapphire01-side-40.png"; - break; - case ImageResource.sapphire01_side_64_png: - partialPath = "sapphire"; - resourceFilename = "sapphire01-side-64.png"; - break; - - // Menu icons. - case ImageResource.arrow_down_black_16_png: - resourceFilename = "arrow-down-black-16.png"; - break; - case ImageResource.arrow_down_black_24_png: - resourceFilename = "arrow-down-black-24.png"; - break; - case ImageResource.arrow_up_black_16_png: - resourceFilename = "arrow-up-black-16.png"; - break; - case ImageResource.arrow_up_black_24_png: - resourceFilename = "arrow-up-black-24.png"; - break; - case ImageResource.star_amber_16_png: - resourceFilename = "star-amber-16.png"; - break; - } - if (!StringUtil.IsEmpty(resourceFilename)) - { - var assembly = typeof(SbmResourceConsole).GetTypeInfo().Assembly; - byte[] resourceData = SacsResourceHelper.GetManifestResourceAsBinary(assembly, partialPath, resourceFilename); - if (resourceData != null) - return resourceData; - } - return new byte[0]; - } - - //------------------------------------------------------------------- - } - //======================================================================= -} diff --git a/SaBusMgrStandardBase/Base/App/SbmSecurityProfile.cs b/SaBusMgrStandardBase/Base/App/SbmSecurityProfile.cs index f0905d0..2a9d0ad 100644 --- a/SaBusMgrStandardBase/Base/App/SbmSecurityProfile.cs +++ b/SaBusMgrStandardBase/Base/App/SbmSecurityProfile.cs @@ -44,7 +44,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App // Refresh profile. public void RefreshProfile(SbmConfigConsole configConsole, SaSecurityConsole securityConsole, SysId userId, List securityRights) { - String fn = GetType().Name + ".RefreshProfile"; ClearErrorState(); // Make a note of the security right. @@ -63,7 +62,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App if (hostSecurityProfile == null && includeHostSecurityProfile) hostSecurityProfile = securityConsole.GetHostSecurityProfile(); } - SaLogger.Debug(fn + " User: '" + UserDisplayName + "' [Id: " + UserId + "]" + (SysId.IsValid(previousUserId) ? ". Previous UserId: " + SysId.ToString(previousUserId) : "")); + SaLogger.Debug($"{SysUtil.Fn} User: '{UserDisplayName}' [Id: {UserId}]" + (SysId.IsValid(previousUserId) ? ". Previous UserId: " + SysId.ToString(previousUserId) : "")); RefreshProfileSettings(configConsole); diff --git a/SaBusMgrStandardBase/Base/App/SbmSessionProfile.cs b/SaBusMgrStandardBase/Base/App/SbmSessionProfile.cs index e2aed7e..9829eb5 100644 --- a/SaBusMgrStandardBase/Base/App/SbmSessionProfile.cs +++ b/SaBusMgrStandardBase/Base/App/SbmSessionProfile.cs @@ -7,6 +7,7 @@ using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Dbas; using Sarand.Net.Standard.Base.ItemOptions; using Sarand.Net.Standard.Base.Security; +using Sarand.Net.Standard.Base.Utils; using System.Collections.Generic; namespace Sarand.BusinessMgr.Net.Standard.Base.App @@ -96,7 +97,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App SbmAffiliate affiliateUser = accountMgr.GetAffiliateByUserId(userId); if (affiliateUser == null) { - SaLogger.Warn(GetType().Name + ".StartUserSession Unable to retrieve affiliate for UserId: " + SysId.ToString(userId)); + SaLogger.Warn($"{SysUtil.Fn} Unable to retrieve affiliate for UserId: {SysId.ToString(userId)}"); return false; } List userSupervisedOwners = accountMgr.GetAffiliatesSupervisedBy(affiliateUser.Id); diff --git a/SaBusMgrStandardBase/Base/App/SbmSysParamCache.cs b/SaBusMgrStandardBase/Base/App/SbmSysParamCache.cs index 9bc5e31..710ca5b 100644 --- a/SaBusMgrStandardBase/Base/App/SbmSysParamCache.cs +++ b/SaBusMgrStandardBase/Base/App/SbmSysParamCache.cs @@ -1,52 +1,139 @@ -using Sarand.BusinessMgr.Net.Standard.Base.Bus; +using Org.BouncyCastle.Asn1.IsisMtt; +using Sarand.BusinessMgr.Net.Standard.Base.Bus; using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.BusinessMgr.Net.Standard.Base.Mgr; using Sarand.Net.Standard.Base.App; using Sarand.Net.Standard.Base.Bus; +using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; +using System.Xml.Linq; namespace Sarand.BusinessMgr.Net.Standard.Base.App { //======================================================================= - public class SbmSysParamCache + public class SbmSysParamCache : SacsDisposable { + //------------------------------------------------------------------- + // Definitions. + public enum ParamName + { + /// User's selected organisation. + SelectedCompany, + SelectedOwner = SelectedCompany, + DefaultView, + ApplicationSize, + LeftPanelWidth, + SelectedAssociation, + SelectedTransaction, + SelectedPortfolio, + SelectedPortfolioItem, + SelectedCommodity, + AssocMaintTab, + } + public static String ParamName_SelectedCompany = "SelectedCompany"; + public static String ParamName_DefaultView = "DefaultView"; + public static String ParamName_ApplicationSize = "AppSize"; + public static String ParamName_LeftPanelWidth = "LeftPanelWidth"; + public static String ParamName_SelectedAssociation = "SelectedAssociation"; + public static String ParamName_SelectedTransaction = "SelectedTransaction"; + public static String ParamName_SelectedPortfolio = "SelectedPortfolio"; + public static String ParamName_SelectedPortfolioItem = "SelectedPortfolioItem"; + public static String ParamName_SelectedCommodity = "SelectedCommodity"; + public static String ParamName_AssocMaintTab = "AssocMaintTab"; + //------------------------------------------------------------------- // Data members. protected readonly List userSysParams = new List(); //------------------------------------------------------------------- - // Protected Construction - use derived objects. + // Construction. public SbmSysParamCache(ISbmUserContext userContext) { this.UserContext = userContext; } + protected override void Dispose(bool disposing) + { + if (disposing) + { + } + } + //------------------------------------------------------------------- // Properties. public ISbmUserContext UserContext { get; } - public SysId AffiliateIdUser { get; private set; } + public SysId AffiliateIdUser { get { return UserContext.User.AffiliateId; } } + public bool Modified { get; private set; } //------------------------------------------------------------------- + // Utilities. + public static String GetParamName(ParamName paramName) + { + switch (paramName) + { + case ParamName.SelectedCompany: + return ParamName_SelectedCompany; + case ParamName.DefaultView: + return ParamName_DefaultView; + case ParamName.ApplicationSize: + return ParamName_ApplicationSize; + case ParamName.LeftPanelWidth: + return ParamName_LeftPanelWidth; + case ParamName.SelectedAssociation: + return ParamName_SelectedAssociation; + case ParamName.SelectedTransaction: + return ParamName_SelectedTransaction; + case ParamName.SelectedPortfolio: + return ParamName_SelectedPortfolio; + case ParamName.SelectedPortfolioItem: + return ParamName_SelectedPortfolioItem; + case ParamName.SelectedCommodity: + return ParamName_SelectedCommodity; + case ParamName.AssocMaintTab: + return ParamName_AssocMaintTab; + } + return ""; + } + + //------------------------------------------------------------------- + /// Retrieve the value for the user parameter. - public String GetParamValue(String name, SysId affiliateIdTarget = null, SysId associationId = null) + public String GetUserParamValue(ParamName paramName, SysId affiliateIdTarget = null, SysId associationId = null) + { + return GetUserParamValue(GetParamName(paramName), affiliateIdTarget, associationId); + } + + /// Retrieve the value for the user parameter. + public String GetUserParamValue(String name, SysId affiliateIdTarget = null, SysId associationId = null) { if (!SysId.IsValid(UserContext.User.AffiliateId)) return ""; return GetParam(name, affiliateIdTarget, associationId)?.Value ?? ""; } //------------------------------------------------------------------- + /// Store value against user parameter. - public bool SetSessionParam(String name, String value, SysId affiliateIdTarget = null, SysId associationId = null) + public bool SetUserParamValue(ParamName paramName, String value, SysId affiliateIdTarget = null, SysId associationId = null) + { + return SetUserParamValue(GetParamName(paramName), value, affiliateIdTarget, associationId); + } + + /// Store value against user parameter. + public bool SetUserParamValue(String name, String value, SysId affiliateIdTarget = null, SysId associationId = null) { bool success = false; if (!SysId.IsValid(UserContext.User.AffiliateId)) return false; SbmSysParam sysParam = GetParam(name, affiliateIdTarget, associationId); if (sysParam != null) { - // Update the value. - sysParam.Value = value; + if (!sysParam.Value.Equals(value)) + { + // Update the value. + sysParam.Value = value; + Modified = true; + } success = true; } return success; @@ -98,7 +185,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App /// Store the params cached for the current user. public bool Store() { - String fn = GetType().Name + ".Store"; bool success = true; using (SbmAccountMgr accountMgr = CreateAccountMgr()) { @@ -110,7 +196,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App if (!accountMgr.InsertSysParam(sysParam, UserContext.DbUpdateInfo)) { success = false; - SaLogger.Warn(fn + " Failed to add parameter - " + accountMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to add parameter - {accountMgr.ErrorStateMessage}"); } } else @@ -119,11 +205,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App if (!accountMgr.UpdateSysParam(sysParam, UserContext.DbUpdateInfo)) { success = false; - SaLogger.Warn(fn + " Failed to update parameter - " + accountMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to update parameter - {accountMgr.ErrorStateMessage}"); } } } } + if (success) Modified = false; return success; } @@ -131,8 +218,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App /// Clear the params cached for the current user. public void Clear() { - AffiliateIdUser = null; ListUtil.ClearAndDispose(userSysParams); + Modified = false; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardBase/Base/App/SbmUserContext.cs b/SaBusMgrStandardBase/Base/App/SbmUserContext.cs index ca35883..bb0b584 100644 --- a/SaBusMgrStandardBase/Base/App/SbmUserContext.cs +++ b/SaBusMgrStandardBase/Base/App/SbmUserContext.cs @@ -130,7 +130,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App SessionContext = sessionContext; organisationData = new OrganisationData_Internal(); securityProfile = new SbmSecurityProfile(this, true); - DbUpdateInfo = new DbUpdateInfo(User.AffiliateId, User.DisplayName, SacsSystem.ComputerName); } //------------------------------------------------------------------- @@ -139,7 +138,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App public ISbmUserContext.IUserData User { get { return userData; } } public bool ValidUser { get { return SysId.IsValid(userData.SecurityItemId) && SysId.IsValid(userData.AffiliateId); } } public ISbmUserContext.IOrganisationData Organisation { get { return organisationData; } } - public DbUpdateInfo DbUpdateInfo { get; private set; } + public DbUpdateInfo DbUpdateInfo { get { return new DbUpdateInfo(User?.AffiliateId, User?.DisplayName ?? "", SacsSystem.ComputerName); } } //------------------------------------------------------------------- // Security profile. @@ -283,19 +282,15 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App protected void SetUserData(SaSecurityItem securityItemUser, SbmAffiliate affiliateUser, List supervisedOwners) { userData.Refresh(securityItemUser, affiliateUser, supervisedOwners); - DbUpdateInfo = new DbUpdateInfo(User.AffiliateId, User.DisplayName, SacsSystem.ComputerName); } protected void ClearUserData() { userData.Clear(); organisationData.Clear(); SetSecurityProfile(new SbmSecurityProfile(this, true)); - DbUpdateInfo = new DbUpdateInfo(User.AffiliateId, User.DisplayName, SacsSystem.ComputerName); } protected void SetOrganisationData(SysId affiliateIdOrganisation) { - String fn = GetType().Name + ".SetOrganisationData"; - // Interface context for selected organisation. String interfaceContext = SbmAccountMgr.GetInterfaceContext(affiliateIdOrganisation); @@ -329,7 +324,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App // Retrieve the options for this association. organisationData.configOptionsCache.Reset(associationItemId_Owner, affiliateItemId_Owner); organisationData.configOptionsCache.ItemOptions.AddRange(itemOptionConsole.GetItemOptionsForItem(associationItemId_Owner)); - SaLogger.Debug(fn + " Populated organisation options: " + organisationData.configOptionsCache.ItemOptions.Count); + SaLogger.Debug($"{SysUtil.Fn} Populated organisation options: {organisationData.configOptionsCache.ItemOptions.Count}."); } } } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmAddress.cs b/SaBusMgrStandardBase/Base/Bus/SbmAddress.cs index afd7819..76839ca 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmAddress.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmAddress.cs @@ -444,17 +444,16 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. // Id. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Item type. if ((int)ItemType > 1 && ItemType != data.ItemType) - throw new NotSupportedException(fn + " Item Type cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Item Type cannot be changed"); // Item Id. if (SysId.IsValid(ItemId) && SysId.ToInt(ItemId) != SysId.ToInt(data.ItemId)) - throw new NotSupportedException(fn + " Item Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Item Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmAffiliate.cs b/SaBusMgrStandardBase/Base/Bus/SbmAffiliate.cs index 35c7824..2c15b55 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmAffiliate.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmAffiliate.cs @@ -471,10 +471,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmAsset.cs b/SaBusMgrStandardBase/Base/Bus/SbmAsset.cs index 9ecb124..cda3b55 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmAsset.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmAsset.cs @@ -416,10 +416,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmAssetCategory.cs b/SaBusMgrStandardBase/Base/Bus/SbmAssetCategory.cs index b227a22..d25c0c0 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmAssetCategory.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmAssetCategory.cs @@ -256,10 +256,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmAssetProcess.cs b/SaBusMgrStandardBase/Base/Bus/SbmAssetProcess.cs index 5a2170b..0ce48e5 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmAssetProcess.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmAssetProcess.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -164,10 +165,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmAssociation.cs b/SaBusMgrStandardBase/Base/Bus/SbmAssociation.cs index f726508..74a3ad3 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmAssociation.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmAssociation.cs @@ -587,10 +587,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmCommodity.cs b/SaBusMgrStandardBase/Base/Bus/SbmCommodity.cs index 1476d46..4420b3f 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmCommodity.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmCommodity.cs @@ -1130,10 +1130,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmCommodityCustomer.cs b/SaBusMgrStandardBase/Base/Bus/SbmCommodityCustomer.cs index 3a059b6..70cc7c8 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmCommodityCustomer.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmCommodityCustomer.cs @@ -169,10 +169,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmCommoditySupplier.cs b/SaBusMgrStandardBase/Base/Bus/SbmCommoditySupplier.cs index 017252a..3f35756 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmCommoditySupplier.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmCommoditySupplier.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -162,10 +163,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmConstituent.cs b/SaBusMgrStandardBase/Base/Bus/SbmConstituent.cs index 07458f2..029181b 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmConstituent.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmConstituent.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -441,10 +442,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmContainer.cs b/SaBusMgrStandardBase/Base/Bus/SbmContainer.cs index 13508c8..34f2275 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmContainer.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmContainer.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -202,10 +203,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmContainerItem.cs b/SaBusMgrStandardBase/Base/Bus/SbmContainerItem.cs index bc758c0..045efa3 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmContainerItem.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmContainerItem.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -203,10 +204,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmCostEstimate.cs b/SaBusMgrStandardBase/Base/Bus/SbmCostEstimate.cs index 7bcf75a..247d288 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmCostEstimate.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmCostEstimate.cs @@ -291,10 +291,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmItemBatch.cs b/SaBusMgrStandardBase/Base/Bus/SbmItemBatch.cs index 748b409..03a3040 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmItemBatch.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmItemBatch.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -165,10 +166,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmItemLink.cs b/SaBusMgrStandardBase/Base/Bus/SbmItemLink.cs index a5de065..db63f0e 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmItemLink.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmItemLink.cs @@ -202,10 +202,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmItemPrice.cs b/SaBusMgrStandardBase/Base/Bus/SbmItemPrice.cs index 61efb9c..bd88d13 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmItemPrice.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmItemPrice.cs @@ -164,10 +164,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmItemProcess.cs b/SaBusMgrStandardBase/Base/Bus/SbmItemProcess.cs index 307814c..3e6b056 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmItemProcess.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmItemProcess.cs @@ -3,6 +3,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.App; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -232,10 +233,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmLocation.cs b/SaBusMgrStandardBase/Base/Bus/SbmLocation.cs index 1a8cbc0..cd7e704 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmLocation.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmLocation.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -153,10 +154,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmMovement.cs b/SaBusMgrStandardBase/Base/Bus/SbmMovement.cs index b18d457..5e7e092 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmMovement.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmMovement.cs @@ -215,10 +215,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmPortfolioItem.cs b/SaBusMgrStandardBase/Base/Bus/SbmPortfolioItem.cs index 96669e2..e698863 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmPortfolioItem.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmPortfolioItem.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -226,10 +227,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmPrice.cs b/SaBusMgrStandardBase/Base/Bus/SbmPrice.cs index 4feb448..a69206d 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmPrice.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmPrice.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -203,12 +204,11 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(PriceSetId) && SysId.ToInt(PriceSetId) != SysId.ToInt(data.PriceSetId)) - throw new NotSupportedException(fn + "Price set Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Price set Id cannot be changed"); if (SysId.IsValid(CommodityId) && SysId.ToInt(CommodityId) != SysId.ToInt(data.CommodityId)) - throw new NotSupportedException(fn + "Commodity Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Commodity Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmPriceSet.cs b/SaBusMgrStandardBase/Base/Bus/SbmPriceSet.cs index c20d593..9fda79b 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmPriceSet.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmPriceSet.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -164,10 +165,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmProcess.cs b/SaBusMgrStandardBase/Base/Bus/SbmProcess.cs index 30dd6b6..f81e401 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmProcess.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmProcess.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -171,10 +172,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmRequirement.cs b/SaBusMgrStandardBase/Base/Bus/SbmRequirement.cs index 0caa53b..81c5514 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmRequirement.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmRequirement.cs @@ -768,10 +768,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmStockLevel.cs b/SaBusMgrStandardBase/Base/Bus/SbmStockLevel.cs index 7a17ca4..52a8993 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmStockLevel.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmStockLevel.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -203,10 +204,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmSysParam.cs b/SaBusMgrStandardBase/Base/Bus/SbmSysParam.cs index 4287863..95b8e10 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmSysParam.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmSysParam.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -169,10 +170,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmSystemAccount.cs b/SaBusMgrStandardBase/Base/Bus/SbmSystemAccount.cs index be3b666..539a336 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmSystemAccount.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmSystemAccount.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -179,10 +180,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmSystemAccountUser.cs b/SaBusMgrStandardBase/Base/Bus/SbmSystemAccountUser.cs index 997ba8e..f5f76f5 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmSystemAccountUser.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmSystemAccountUser.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; namespace Sarand.BusinessMgr.Net.Standard.Base.Bus @@ -133,10 +134,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmSystemUser.cs b/SaBusMgrStandardBase/Base/Bus/SbmSystemUser.cs index 227030a..0ce0b8f 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmSystemUser.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmSystemUser.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; namespace Sarand.BusinessMgr.Net.Standard.Base.Bus @@ -160,10 +161,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmTransaction.cs b/SaBusMgrStandardBase/Base/Bus/SbmTransaction.cs index 240ff29..67ef481 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmTransaction.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmTransaction.cs @@ -1060,10 +1060,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmTransactionPayment.cs b/SaBusMgrStandardBase/Base/Bus/SbmTransactionPayment.cs index b2d39ad..eaee8ff 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmTransactionPayment.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmTransactionPayment.cs @@ -162,10 +162,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmVehicle.cs b/SaBusMgrStandardBase/Base/Bus/SbmVehicle.cs index 920ba00..7d911d6 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmVehicle.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmVehicle.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -374,10 +375,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmVehicleClass.cs b/SaBusMgrStandardBase/Base/Bus/SbmVehicleClass.cs index c9c75f1..0cb5e1e 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmVehicleClass.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmVehicleClass.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -296,10 +297,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmVehicleEvent.cs b/SaBusMgrStandardBase/Base/Bus/SbmVehicleEvent.cs index fd16893..ed42978 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmVehicleEvent.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmVehicleEvent.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -227,10 +228,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmVehicleFeature.cs b/SaBusMgrStandardBase/Base/Bus/SbmVehicleFeature.cs index 89330f0..e3253cc 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmVehicleFeature.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmVehicleFeature.cs @@ -2,6 +2,7 @@ using Sarand.BusinessMgr.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; +using Sarand.Net.Standard.Base.Utils; using System; using System.Collections.Generic; @@ -234,10 +235,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public Data GetData() { return data.Clone(); } public void SetData(Data data) { - String fn = GetType().Name + ".SetData"; // Properties that cannot be changed if previously specified. if (SysId.IsValid(Id) && SysId.ToInt(Id) != SysId.ToInt(data.Id)) - throw new NotSupportedException(fn + " Id cannot be changed"); + throw new NotSupportedException($"{SysUtil.Fn} Id cannot be changed"); // Populate individual properties to ensure that 'Changed' indicator is kept up to date. this.data.PopulateFrom(data); } diff --git a/SaBusMgrStandardBase/Base/Helpers/SbmPasswordHelper.cs b/SaBusMgrStandardBase/Base/Helpers/SbmPasswordHelper.cs index 6c33c15..8bf2859 100644 --- a/SaBusMgrStandardBase/Base/Helpers/SbmPasswordHelper.cs +++ b/SaBusMgrStandardBase/Base/Helpers/SbmPasswordHelper.cs @@ -45,8 +45,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Helpers /// public static int GetPasswordStrength(String password) { - String fn = "PasswordHelper.GetPasswordStrength"; - // 0 - Blank. if (StringUtil.IsEmpty(password)) return 0; @@ -61,7 +59,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Helpers } catch (Exception exc) { - SaLogger.Debug(fn + " " + ExceptionUtil.GetLogMessage(exc)); + SaLogger.Debug($"{SysUtil.Fn} {ExceptionUtil.GetLogMessage(exc)}"); } int passwordLength = StringUtil.GetLength(password); diff --git a/SaBusMgrStandardBase/Base/Helpers/SbmResourceHelper.cs b/SaBusMgrStandardBase/Base/Helpers/SbmResourceHelper.cs index f558079..10d100b 100644 --- a/SaBusMgrStandardBase/Base/Helpers/SbmResourceHelper.cs +++ b/SaBusMgrStandardBase/Base/Helpers/SbmResourceHelper.cs @@ -14,6 +14,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Helpers // Definitions. public enum TextResource { + // Base text resources. + SaBaseCss, + SaBaseJs, + SbmBaseCss, + SbmBaseJs, + JQueryJs, + JQueryUiCss, + JQueryUiJs, // Email stylesheets. Email_Main_Css, // Email partial content. @@ -26,8 +34,22 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Helpers public enum ImageResource { BusinessMgr_logo_h75_png, + // Sapphire icons. + sapphire01_side_32_png, + sapphire01_side_40_png, + sapphire01_side_64_png, + // Menu icons. + arrow_down_black_16_png, + arrow_down_black_24_png, + arrow_up_black_16_png, + arrow_up_black_24_png, + star_amber_16_png, } + //------------------------------------------------------------------- + // Properties. + public static Assembly Assembly { get { return typeof(SacsResourceHelper).GetTypeInfo().Assembly; } } + //------------------------------------------------------------------- // Text resources. public static String GetTextResource(TextResource textResource) @@ -36,6 +58,22 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Helpers String resourceFilename = ""; switch (textResource) { + // Base text resources. + case TextResource.SaBaseCss: + return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.SaBaseCss); + case TextResource.SaBaseJs: + return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.SaBaseJs); + case TextResource.SbmBaseCss: + return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.SaBaseCss) + SacsResourceHelper.GetManifestResourceAsText(Assembly, "", "sbm_base.css"); + case TextResource.SbmBaseJs: + return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.SaBaseJs) + SacsResourceHelper.GetManifestResourceAsText(Assembly, "", "sbm_base.js"); + case TextResource.JQueryJs: + return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.JQueryJs); + case TextResource.JQueryUiCss: + return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.JQueryUiCss); + case TextResource.JQueryUiJs: + return SacsResourceHelper.GetResourceText(SacsResourceHelper.TextResource.JQueryUiJs); + // Email stylesheet. case TextResource.Email_Main_Css: resourceFilename = "sbm-email-main.css"; @@ -55,8 +93,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Helpers } if (!StringUtil.IsEmpty(resourceFilename)) { - var assembly = typeof(SbmResourceHelper).GetTypeInfo().Assembly; - String resourceText = SacsResourceHelper.GetManifestResourceAsText(assembly, partialPath, resourceFilename); + String resourceText = SacsResourceHelper.GetManifestResourceAsText(Assembly, partialPath, resourceFilename); if (!StringUtil.IsEmpty(resourceText)) return resourceText; } @@ -74,11 +111,41 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Helpers case ImageResource.BusinessMgr_logo_h75_png: resourceFilename = "BusinessMgr-logo-h75.png"; break; + + // Sapphire icons. + case ImageResource.sapphire01_side_32_png: + partialPath = "sapphire"; + resourceFilename = "sapphire01-side-32.png"; + break; + case ImageResource.sapphire01_side_40_png: + partialPath = "sapphire"; + resourceFilename = "sapphire01-side-40.png"; + break; + case ImageResource.sapphire01_side_64_png: + partialPath = "sapphire"; + resourceFilename = "sapphire01-side-64.png"; + break; + + // Menu icons. + case ImageResource.arrow_down_black_16_png: + resourceFilename = "arrow-down-black-16.png"; + break; + case ImageResource.arrow_down_black_24_png: + resourceFilename = "arrow-down-black-24.png"; + break; + case ImageResource.arrow_up_black_16_png: + resourceFilename = "arrow-up-black-16.png"; + break; + case ImageResource.arrow_up_black_24_png: + resourceFilename = "arrow-up-black-24.png"; + break; + case ImageResource.star_amber_16_png: + resourceFilename = "star-amber-16.png"; + break; } if (!StringUtil.IsEmpty(resourceFilename)) { - var assembly = typeof(SbmResourceHelper).GetTypeInfo().Assembly; - byte[] resourceData = SacsResourceHelper.GetManifestResourceAsBinary(assembly, partialPath, resourceFilename); + byte[] resourceData = SacsResourceHelper.GetManifestResourceAsBinary(Assembly, partialPath, resourceFilename); if (resourceData != null) return resourceData; } diff --git a/SaBusMgrStandardBase/Base/Mgr/SbmItemMgr.cs b/SaBusMgrStandardBase/Base/Mgr/SbmItemMgr.cs index cda3f49..7fd5e54 100644 --- a/SaBusMgrStandardBase/Base/Mgr/SbmItemMgr.cs +++ b/SaBusMgrStandardBase/Base/Mgr/SbmItemMgr.cs @@ -280,13 +280,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Mgr private CodeTypeCache codeTypeCache; public bool CodeTypeHasCodes(Sbm.ApplCodeType codeType) { - if (DebugMode && !SupportedCodeTypes.Contains(codeType)) throw new NotSupportedException(GetType().Name + ".CodeTypeHasCodes Unsupported code type: " + codeType); + if (DebugMode && !SupportedCodeTypes.Contains(codeType)) throw new NotSupportedException($"{SysUtil.Fn} Unsupported code type: {codeType}"); PopulateCodeTypes(); return codeTypeCache.CodeTypeHasCodes(codeType); } public String GetCodeTypeCodeDesc(Sbm.ApplCodeType codeType, String code, bool defaultToCode = true) { - if (DebugMode && !SupportedCodeTypes.Contains(codeType)) throw new NotSupportedException(GetType().Name + ".GetCodeTypeCodeDesc Unsupported code type: " + codeType); + if (DebugMode && !SupportedCodeTypes.Contains(codeType)) throw new NotSupportedException($"{SysUtil.Fn} Unsupported code type: {codeType}"); PopulateCodeTypes(); List codes = codeTypeCache.GetCodesForCodeType(codeType, false); if (codes != null) @@ -295,13 +295,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Mgr } public List GetCodesForCodeType(Sbm.ApplCodeType codeType, bool activeOnly = true) { - if (DebugMode && !SupportedCodeTypes.Contains(codeType)) throw new NotSupportedException(GetType().Name + ".GetCodesForCodeType Unsupported code type: " + codeType); + if (DebugMode && !SupportedCodeTypes.Contains(codeType)) throw new NotSupportedException($"{SysUtil.Fn} Unsupported code type: {codeType}"); PopulateCodeTypes(); return codeTypeCache.GetCodesForCodeType(codeType, activeOnly); } public List GetCodeDescsForCodeType(Sbm.ApplCodeType codeType, bool activeOnly = true) { - if (DebugMode && !SupportedCodeTypes.Contains(codeType)) throw new NotSupportedException(GetType().Name + ".GetCodeDescsForCodeType Unsupported code type: " + codeType); + if (DebugMode && !SupportedCodeTypes.Contains(codeType)) throw new NotSupportedException($"{SysUtil.Fn} Unsupported code type: {codeType}"); PopulateCodeTypes(); return codeTypeCache.GetCodeDescsForCodeType(codeType, activeOnly); } diff --git a/SaBusMgrStandardBase/Base/WebService/SbmWebServiceClient.cs b/SaBusMgrStandardBase/Base/WebService/SbmWebServiceClient.cs index e94164f..023c1ea 100644 --- a/SaBusMgrStandardBase/Base/WebService/SbmWebServiceClient.cs +++ b/SaBusMgrStandardBase/Base/WebService/SbmWebServiceClient.cs @@ -57,7 +57,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.WebService //------------------------------------------------------------------- public async Task RequestIsAlive(SbmWebServiceInstanceDefinition instanceDefinition) { - String fn = GetType().Name + ".IsAlive"; try { RequestData requestData = new RequestData(instanceDefinition); @@ -65,7 +64,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.WebService if (serviceResponse.ResponseData.EqualsCI(SbmWebServiceDfn.IsAliveResponse)) return true; } - catch (Exception exc) { SaLogger.Warn(fn + " " + exc.GetLogMessage()); } + catch (Exception exc) { SaLogger.Warn($"{SysUtil.Fn} " + exc.GetLogMessage()); } return false; } @@ -79,7 +78,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.WebService } public async Task RequestItemCount(SbmWebServiceRequest.Config configRequest, Dictionary filters, SacsTaskData taskData) { - String fn = GetType().Name + ".GetItemCount"; if (SacsSystem.DebugMode && configRequest.RequestType != SbmWebServiceRequest.RequestType.Count) Debugger.Break(); // Service Request. @@ -133,7 +131,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.WebService } public async Task RequestQueryList(SbmWebServiceRequest.Config configRequest, Dictionary filters, List columns, List sortColumns, SacsTaskData taskData) { - String fn = GetType().Name + ".GetItemList"; if (SacsSystem.DebugMode && configRequest.RequestType != SbmWebServiceRequest.RequestType.QueryList) Debugger.Break(); // Service Request. @@ -147,7 +144,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.WebService requestData.Data = serviceRequestData.GenerateRequestData(); SbmWebServiceResponse serviceResponse = await DoWebServiceRequest(requestData); QueryListResponseData responseData = new QueryListResponseData(serviceResponse); - //if (SacsSystem.DebugMode && responseData.ResponseElement != null) SaLogger.Debug(fn + " Response:\n\n" + responseData.ResponseElement.FormatXml() + "\n"); + //if (SacsSystem.DebugMode && responseData.ResponseElement != null) SaLogger.Debug($"{SysUtil.Fn} Response:\n\n" + responseData.ResponseElement.FormatXml() + "\n"); // Interpret response. if (serviceResponse.ResponseElement != null && !taskData.IsCancellationRequested) @@ -209,7 +206,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.WebService } public async Task RequestItemList(SbmWebServiceRequest.Config configRequest, Dictionary filters, List sortColumns, SacsTaskData taskData) { - String fn = GetType().Name + ".GetItemList"; if (SacsSystem.DebugMode && configRequest.RequestType != SbmWebServiceRequest.RequestType.ItemList) Debugger.Break(); // Service Request. @@ -222,7 +218,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.WebService requestData.Data = serviceRequestData.GenerateRequestData(); SbmWebServiceResponse serviceResponse = await DoWebServiceRequest(requestData); ItemListResponseData responseData = new ItemListResponseData(serviceResponse); - //if (SacsSystem.DebugMode && responseData.ResponseElement != null) SaLogger.Debug(fn + " Response:\n\n" + responseData.ResponseElement.FormatXml() + "\n"); + //if (SacsSystem.DebugMode && responseData.ResponseElement != null) SaLogger.Debug($"{SysUtil.Fn} Response:\n\n" + responseData.ResponseElement.FormatXml() + "\n"); // Interpret response. if (serviceResponse.ResponseElement != null && !taskData.IsCancellationRequested) @@ -272,7 +268,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.WebService } public async Task RequestItemData(SbmWebServiceRequest.Config configRequest, Dictionary filters, SacsTaskData taskData) { - String fn = GetType().Name + ".GetItemData"; if (SacsSystem.DebugMode && configRequest.RequestType != SbmWebServiceRequest.RequestType.Item) Debugger.Break(); // Service Request. @@ -349,7 +344,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.WebService } public async Task StoreItem(SbmWebServiceRequest.Config configRequest, XElement itemElement, SacsTaskData taskData) { - String fn = GetType().Name + ".StoreItem"; if (SacsSystem.DebugMode && configRequest.RequestType != SbmWebServiceRequest.RequestType.Store) Debugger.Break(); // Service Request. @@ -374,18 +368,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.WebService /// public async Task DoWebServiceRequest(RequestData requestData) { - String fn = GetType().Name + ".DoWebServiceRequest"; SbmWebServiceResponse serviceResponse = null; // Throw canceled exception if task has been cancelled - invoke at regular intervals. requestData.ThrowIfCancellationRequested(); // Log request. - //if (SacsSystem.DebugMode) SaLogger.Debug(fn + " Request URL:" + requestData.InstanceDefinition.URL); + //if (SacsSystem.DebugMode) SaLogger.Debug($"{SysUtil.Fn} Request URL:" + requestData.InstanceDefinition.URL); if (requestData.Debug) { if (requestData.Data.Length < 512) - SaLogger.Debug(fn + " Request:\n\t" + requestData.Data); - else SaLogger.Debug(fn + " Request length:" + requestData.Data.Length); + SaLogger.Debug($"{SysUtil.Fn} Request:\n\t" + requestData.Data); + else SaLogger.Debug($"{SysUtil.Fn} Request length:" + requestData.Data.Length); } // Configure the request. @@ -418,8 +411,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.WebService if (requestData.Debug) { if (serviceResponse.ResponseData.Length < 1024) - SaLogger.Debug(fn + " Response: " + serviceResponse.ResponseData); - else SaLogger.Debug(fn + " Response size: " + serviceResponse.ResponseData.Length); + SaLogger.Debug($"{SysUtil.Fn} Response: " + serviceResponse.ResponseData); + else SaLogger.Debug($"{SysUtil.Fn} Response size: " + serviceResponse.ResponseData.Length); } return serviceResponse; } diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Address_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Address_Db.cs index 4f55958..342e13d 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Address_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Address_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Affiliate_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Affiliate_Db.cs index e3d819d..6a42912 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Affiliate_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Affiliate_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Association_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Association_Db.cs index 9043c92..7c5246b 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Association_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Association_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/CommodityCustomer_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/CommodityCustomer_Db.cs index f5524dd..21d2c24 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/CommodityCustomer_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/CommodityCustomer_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/CommoditySupplier_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/CommoditySupplier_Db.cs index d8af415..9e33bee 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/CommoditySupplier_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/CommoditySupplier_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Commodity_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Commodity_Db.cs index 2e490b5..f7d2992 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Commodity_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Commodity_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Constituent_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Constituent_Db.cs index 27fcd8b..decaeac 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Constituent_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Constituent_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/ContainerItem_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/ContainerItem_Db.cs index eb4df77..bf1b672 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/ContainerItem_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/ContainerItem_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Container_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Container_Db.cs index 162fdba..a2b3fba 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Container_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Container_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Control/DatabaseAccount_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Control/DatabaseAccount_Db.cs index 7992496..fdc4b0d 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Control/DatabaseAccount_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Control/DatabaseAccount_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:28 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal.Control { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Control/Database_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Control/Database_Db.cs index 9f78022..2f529b6 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Control/Database_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Control/Database_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:28 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal.Control { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Control/UserAccount_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Control/UserAccount_Db.cs index b0142cd..70fa119 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Control/UserAccount_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Control/UserAccount_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:28 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal.Control { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Currency_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Currency_Db.cs index 2d7a06b..e87a5df 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Currency_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Currency_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/IndexDefragLog_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/IndexDefragLog_Db.cs index 1ad6e6e..712e708 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/IndexDefragLog_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/IndexDefragLog_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/InterfaceDataItem_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/InterfaceDataItem_Db.cs index 0e4e060..163cf70 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/InterfaceDataItem_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/InterfaceDataItem_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/InterfaceProcessDataItem_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/InterfaceProcessDataItem_Db.cs index 85b740b..2305630 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/InterfaceProcessDataItem_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/InterfaceProcessDataItem_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/InterfaceProcessMessage_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/InterfaceProcessMessage_Db.cs index f742762..dbb19bc 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/InterfaceProcessMessage_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/InterfaceProcessMessage_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/InterfaceProcess_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/InterfaceProcess_Db.cs index 90c8128..8c1579c 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/InterfaceProcess_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/InterfaceProcess_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Interface_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Interface_Db.cs index 134e5a1..7557ff7 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Interface_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Interface_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/ItemBatch_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/ItemBatch_Db.cs index 8ed70c0..1913755 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/ItemBatch_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/ItemBatch_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/ItemLink_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/ItemLink_Db.cs index c2beb32..c85d650 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/ItemLink_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/ItemLink_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Language_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Language_Db.cs index 6fc8135..0848e9c 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Language_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Language_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Location_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Location_Db.cs index cce7caf..d62c550 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Location_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Location_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Movement_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Movement_Db.cs index fb06107..7cdbf54 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Movement_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Movement_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/PortfolioItem_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/PortfolioItem_Db.cs index 318d7f9..47770bf 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/PortfolioItem_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/PortfolioItem_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Process_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Process_Db.cs index 8d0c8f6..3922147 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Process_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Process_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Region_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Region_Db.cs index c34d528..0e7cbe5 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Region_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Region_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Requirement_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Requirement_Db.cs index 2cd1ea2..ddf7e89 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Requirement_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Requirement_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SaAssetCategory_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SaAssetCategory_Db.cs index 2f3746d..c31419b 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SaAssetCategory_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SaAssetCategory_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SaAssetProcess_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SaAssetProcess_Db.cs index faf8a33..74f52e8 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SaAssetProcess_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SaAssetProcess_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SaAsset_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SaAsset_Db.cs index dc5ad5d..cece161 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SaAsset_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SaAsset_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SaDiaryEntry_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SaDiaryEntry_Db.cs index a05a88b..31fa2ad 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SaDiaryEntry_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SaDiaryEntry_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SaDiaryLink_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SaDiaryLink_Db.cs index e499a87..c64fd7b 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SaDiaryLink_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SaDiaryLink_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SaPriceSet_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SaPriceSet_Db.cs index cd95fef..43b0155 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SaPriceSet_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SaPriceSet_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SaPrice_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SaPrice_Db.cs index 8c40a6d..4fa5c7a 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SaPrice_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SaPrice_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SaVehicleClass_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SaVehicleClass_Db.cs index f6e488d..415bbe2 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SaVehicleClass_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SaVehicleClass_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SaVehicleEvent_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SaVehicleEvent_Db.cs index 1c020e4..8bebedc 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SaVehicleEvent_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SaVehicleEvent_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SaVehicleFeature_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SaVehicleFeature_Db.cs index e228d1e..6ff18a6 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SaVehicleFeature_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SaVehicleFeature_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SaVehicle_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SaVehicle_Db.cs index d8aaea1..c2cf3a5 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SaVehicle_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SaVehicle_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/StockLevel_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/StockLevel_Db.cs index 43ac14b..09d0fa1 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/StockLevel_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/StockLevel_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SysParam_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SysParam_Db.cs index 1514d08..9ade040 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SysParam_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SysParam_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SystemAccountUser_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SystemAccountUser_Db.cs index 9df1688..9038de3 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SystemAccountUser_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SystemAccountUser_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SystemAccount_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SystemAccount_Db.cs index 486e777..0511b23 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SystemAccount_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SystemAccount_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/SystemUser_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/SystemUser_Db.cs index 5e854d3..90965da 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/SystemUser_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/SystemUser_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/TaxCode_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/TaxCode_Db.cs index b6e3ff4..1efdfdc 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/TaxCode_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/TaxCode_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/Transaction_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/Transaction_Db.cs index dbe6efe..c46d690 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/Transaction_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/Transaction_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Internal/UnitMeasure_Db.cs b/SaBusMgrStandardDbas/Dbas/Internal/UnitMeasure_Db.cs index 7046cce..cd83069 100644 --- a/SaBusMgrStandardDbas/Dbas/Internal/UnitMeasure_Db.cs +++ b/SaBusMgrStandardDbas/Dbas/Internal/UnitMeasure_Db.cs @@ -9,7 +9,7 @@ using System.Data.Common; using System.Linq; //--------------------------------------------------------------------------- -// Code generated by Sarand Database Utilities Sat 10-Jul-2021 16:26:30 +// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27 //--------------------------------------------------------------------------- namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal { diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Address.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Address.cs index fc5c749..601a47f 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Address.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Address.cs @@ -130,7 +130,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetAddress\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return address; @@ -149,7 +149,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Insert Address. public override bool InsertAddress(SbmAddress address, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".InsertAddress"; ClearErrorState(); if (!IsValidAddress(address)) return false; if (SysId.IsValid(address.Id)) return SetErrorState(ErrorMessage.ValiditemId); @@ -169,7 +168,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbAddress.ExecuteInsertCommand(dbCommand); address.Id = new SysId(dbAddress._Id); address.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Inserted.\n\tId: " + GetLogProperties(address).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted. {GetLogProperties(address).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -180,13 +179,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Update Address. public override bool UpdateAddress(SbmAddress address, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".UpdateAddress"; ClearErrorState(); if (!IsValidAddress(address)) return false; if (!SysId.IsValid(address.Id)) return SetErrorState(ErrorMessage.InvalidItemId); if (!address.Changed) { - if (DebugMode) SaLogger.Debug(fn + " Data not changed.\n\tId: " + GetLogProperties(address).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Data not changed. {GetLogProperties(address).Concat(": ").Concat("", "\n\t")}"); return true; } using (var dbConnection = db.CreateConnection()) @@ -197,14 +195,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Retrieve Address. dbConnection.Open(); Address_Db dbAddress = new Address_Db(DbInfo); - dbAddress.PopulateFrom(dbCommand, aliasAddress, "Id=" + SysId.ToString(address.Id)); + dbAddress.PopulateFrom(dbCommand, aliasAddress, $"Id={SysId.ToString(address.Id)}"); SbmUpdateLogItemMonitor_Address updateLogMonitor = new SbmUpdateLogItemMonitor_Address(Internals, CreateAddress(dbAddress)); // Update properties. PopulateTo(dbAddress, address, dbUpdateInfo); dbAddress.ExecuteUpdateCommand(dbCommand); address.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Updated.\n\tId: " + GetLogProperties(address).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Updated. {GetLogProperties(address).Concat(": ").Concat("", "\n\t")}"); // Record updates. updateLogMonitor.RecordUpdatedValues(address); @@ -225,7 +223,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr } public override bool DeleteAddress(SbmAddress address, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".DeleteAddress"; ClearErrorState(); if (!AddressCanBeDeleted(address)) return false; using (var dbConnection = db.CreateConnection()) @@ -242,7 +239,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Address) + " WHERE Id=" + SysId.ToString(address.Id) + ";"; dbCommand.ExecuteNonQuery(); address.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Deleted.\n\tId: " + GetLogProperties(address).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Deleted. {GetLogProperties(address).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -678,7 +675,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Address list. public override List GetAddressList(SbmAddress.Params prm) { - List Addresses = new List(); + ClearErrorState(); + List addresses = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Address), aliasAddress); Address_Db dbAddress = new Address_Db(DbInfo); @@ -699,16 +697,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbAddress = new Address_Db(DbInfo); dbAddress.PopulateFrom(dbDataReader); - Addresses.Add(CreateAddress(dbAddress)); + addresses.Add(CreateAddress(dbAddress)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetAddressList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return Addresses; + return addresses; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Affiliate.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Affiliate.cs index b1193b5..1f13e84 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Affiliate.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Affiliate.cs @@ -78,7 +78,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetAffiliate\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return affiliate; @@ -171,7 +171,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Insert Item. public override bool InsertAffiliate(SbmAffiliate affiliate, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".InsertAffiliate"; ClearErrorState(); if (!IsValidAffiliate(affiliate)) return false; if (SysId.IsValid(affiliate.Id)) return SetErrorState(ErrorMessage.ValiditemId); @@ -191,7 +190,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbAffiliate.ExecuteInsertCommand(dbCommand); affiliate.Id = new SysId(dbAffiliate._Id); affiliate.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(affiliate).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted. {GetLogProperties(affiliate).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -202,13 +201,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Update Affiliate. public override bool UpdateAffiliate(SbmAffiliate affiliate, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".UpdateAffiliate"; ClearErrorState(); if (!IsValidAffiliate(affiliate)) return false; if (!SysId.IsValid(affiliate.Id)) return SetErrorState(ErrorMessage.InvalidItemId); if (!affiliate.Changed) { - if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(affiliate).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Data not changed. {GetLogProperties(affiliate).Concat(": ").Concat("", "\n\t")}"); return true; } using (var dbConnection = db.CreateConnection()) @@ -226,7 +224,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr PopulateTo(dbAffiliate, affiliate, dbUpdateInfo); dbAffiliate.ExecuteUpdateCommand(dbCommand); affiliate.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(affiliate).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Updated. {GetLogProperties(affiliate).Concat(": ").Concat("", "\n\t")}"); // Record updates. updateLogMonitor.RecordUpdatedValues(affiliate); @@ -247,7 +245,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr } public override bool DeleteAffiliate(SbmAffiliate affiliate, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".DeleteAffiliate"; ClearErrorState(); if (!AffiliateCanBeDeleted(affiliate)) return false; using (var dbConnection = db.CreateConnection()) @@ -264,7 +261,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Affiliate) + " WHERE Id=" + SysId.ToString(affiliate.Id) + ";"; dbCommand.ExecuteNonQuery(); affiliate.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(affiliate).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Deleted. {GetLogProperties(affiliate).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -866,7 +863,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Affiliate list. public override List GetAffiliateList(SbmAffiliate.Params prm) { - List prmAffiliates = new List(); + ClearErrorState(); + List affiliates = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Affiliate), aliasAffiliate); Affiliate_Db dbAffiliate = new Affiliate_Db(DbInfo); @@ -887,16 +885,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbAffiliate = new Affiliate_Db(DbInfo); dbAffiliate.PopulateFrom(dbDataReader); - prmAffiliates.Add(CreateAffiliate(dbAffiliate)); + affiliates.Add(CreateAffiliate(dbAffiliate)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetAffiliateList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return prmAffiliates; + return affiliates; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Association.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Association.cs index f151087..3d979de 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Association.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Association.cs @@ -266,7 +266,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetAssociation\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return association; @@ -344,7 +344,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Insert Association. public override bool InsertAssociation(SbmAssociation association, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".InsertAssociation"; ClearErrorState(); if (!IsValidAssociation(association)) return false; if (SysId.IsValid(association.Id)) return SetErrorState(ErrorMessage.ValiditemId); @@ -364,7 +363,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbAssociation.ExecuteInsertCommand(dbCommand); association.Id = new SysId(dbAssociation._Id); association.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Inserted.\n\tId: " + GetLogProperties(association).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted. {GetLogProperties(association).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -375,13 +374,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Update Association. public override bool UpdateAssociation(SbmAssociation association, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".UpdateAssociation"; ClearErrorState(); if (!IsValidAssociation(association)) return false; if (!SysId.IsValid(association.Id)) return SetErrorState(ErrorMessage.InvalidItemId); if (!association.Changed) { - if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(association).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Data not changed. {GetLogProperties(association).Concat(": ").Concat("", "\n\t")}"); return true; } using (var dbConnection = db.CreateConnection()) @@ -399,7 +397,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr PopulateTo(dbAssociation, association, dbUpdateInfo); dbAssociation.ExecuteUpdateCommand(dbCommand); association.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(association).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Updated. {GetLogProperties(association).Concat(": ").Concat("", "\n\t")}"); // Record updates. updateLogMonitor.RecordUpdatedValues(association); @@ -420,7 +418,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr } public override bool DeleteAssociation(SbmAssociation association, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".DeleteAssociation"; ClearErrorState(); if (!AssociationCanBeDeleted(association)) return false; using (var dbConnection = db.CreateConnection()) @@ -437,7 +434,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Association) + " WHERE Id=" + SysId.ToString(association.Id) + ";"; dbCommand.ExecuteNonQuery(); association.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Deleted.\n\tId: " + GetLogProperties(association).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Deleted. {GetLogProperties(association).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -1911,7 +1908,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Association list. public override List GetAssociationList(SbmAssociation.Params prm) { - List prmAssociations = new List(); + ClearErrorState(); + List associations = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Association), aliasAssociation); Association_Db dbAssociation = new Association_Db(DbInfo); @@ -1932,16 +1930,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbAssociation = new Association_Db(DbInfo); dbAssociation.PopulateFrom(dbDataReader); - prmAssociations.Add(CreateAssociation(dbAssociation)); + associations.Add(CreateAssociation(dbAssociation)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetAssociationList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return prmAssociations; + return associations; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SysParam.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SysParam.cs index 0feff4e..205f514 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SysParam.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SysParam.cs @@ -78,7 +78,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetSysParam\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return sysParam; @@ -97,7 +97,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Insert SysParam. public override bool InsertSysParam(SbmSysParam sysparam, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".InsertSysParam"; ClearErrorState(); if (!IsValidSysParam(sysparam)) return false; if (SysId.IsValid(sysparam.Id)) return SetErrorState(ErrorMessage.ValiditemId); @@ -117,7 +116,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbSysParam.ExecuteInsertCommand(dbCommand); sysparam.Id = new SysId(dbSysParam._Id); sysparam.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(sysparam).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted. {GetLogProperties(sysparam).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -128,13 +127,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Update SysParam. public override bool UpdateSysParam(SbmSysParam sysparam, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".UpdateSysParam"; ClearErrorState(); if (!IsValidSysParam(sysparam)) return false; if (!SysId.IsValid(sysparam.Id)) return SetErrorState(ErrorMessage.InvalidItemId); if (!sysparam.Changed) { - if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(sysparam).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Data not changed. {GetLogProperties(sysparam).Concat(": ").Concat("", "\n\t")}"); return true; } using (var dbConnection = db.CreateConnection()) @@ -152,7 +150,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr PopulateTo(dbSysParam, sysparam, dbUpdateInfo); dbSysParam.ExecuteUpdateCommand(dbCommand); sysparam.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(sysparam).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Updated. {GetLogProperties(sysparam).Concat(": ").Concat("", "\n\t")}"); // Record updates. updateLogMonitor.RecordUpdatedValues(sysparam); @@ -173,7 +171,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr } public override bool DeleteSysParam(SbmSysParam sysparam, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".DeleteSysParam"; ClearErrorState(); if (!SysParamCanBeDeleted(sysparam)) return false; using (var dbConnection = db.CreateConnection()) @@ -190,7 +187,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SysParam) + " WHERE Id=" + SysId.ToString(sysparam.Id) + ";"; dbCommand.ExecuteNonQuery(); sysparam.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(sysparam).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Deleted. {GetLogProperties(sysparam).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -430,7 +427,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // SysParam list. public override List GetSysParamList(SbmSysParam.Params prm) { - List prmSysParams = new List(); + ClearErrorState(); + List sysParams = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SysParam), aliasSysParam); SysParam_Db dbSysParam = new SysParam_Db(DbInfo); @@ -451,16 +449,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbSysParam = new SysParam_Db(DbInfo); dbSysParam.PopulateFrom(dbDataReader); - prmSysParams.Add(CreateSysParam(dbSysParam)); + sysParams.Add(CreateSysParam(dbSysParam)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetSysParamList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return prmSysParams; + return sysParams; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SystemAccount.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SystemAccount.cs index dc0ba18..c36af99 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SystemAccount.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SystemAccount.cs @@ -85,7 +85,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetSystemAccount\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return systemAccount; @@ -104,7 +104,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Insert SystemAccount. public override bool InsertSystemAccount(SbmSystemAccount systemAccount, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".InsertSystemAccount"; ClearErrorState(); if (!IsValidSystemAccount(systemAccount)) return false; if (SysId.IsValid(systemAccount.Id)) return SetErrorState(ErrorMessage.ValiditemId); @@ -124,7 +123,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbSystemAccount.ExecuteInsertCommand(dbCommand); systemAccount.Id = new SysId(dbSystemAccount._Id); systemAccount.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(systemAccount).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted. {GetLogProperties(systemAccount).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -135,13 +134,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Update SystemAccount. public override bool UpdateSystemAccount(SbmSystemAccount systemAccount, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".UpdateSystemAccount"; ClearErrorState(); if (!IsValidSystemAccount(systemAccount)) return false; if (!SysId.IsValid(systemAccount.Id)) return SetErrorState(ErrorMessage.InvalidItemId); if (!systemAccount.Changed) { - if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(systemAccount).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Data not changed. {GetLogProperties(systemAccount).Concat(": ").Concat("", "\n\t")}"); return true; } using (var dbConnection = db.CreateConnection()) @@ -159,7 +157,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr PopulateTo(dbSystemAccount, systemAccount, dbUpdateInfo); dbSystemAccount.ExecuteUpdateCommand(dbCommand); systemAccount.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(systemAccount).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Updated. {GetLogProperties(systemAccount).Concat(": ").Concat("", "\n\t")}"); // Record updates. /*updateLogMonitor.RecordUpdatedValues(systemAccount); @@ -180,7 +178,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr } public override bool DeleteSystemAccount(SbmSystemAccount systemAccount, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".DeleteSystemAccount"; ClearErrorState(); if (!SystemAccountCanBeDeleted(systemAccount)) return false; using (var dbConnection = db.CreateConnection()) @@ -197,7 +194,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccount) + " WHERE Id=" + SysId.ToString(systemAccount.Id) + ";"; dbCommand.ExecuteNonQuery(); systemAccount.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(systemAccount).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Deleted. {GetLogProperties(systemAccount).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -464,7 +461,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // SystemAccount list. public override List GetSystemAccountList(SbmSystemAccount.Params prm) { - List SystemAccounts = new List(); + ClearErrorState(); + List systemAccounts = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccount), aliasSystemAccount); SystemAccount_Db dbSystemAccount = new SystemAccount_Db(DbInfo); @@ -485,16 +483,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbSystemAccount = new SystemAccount_Db(DbInfo); dbSystemAccount.PopulateFrom(dbDataReader); - SystemAccounts.Add(CreateSystemAccount(dbSystemAccount)); + systemAccounts.Add(CreateSystemAccount(dbSystemAccount)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetSystemAccountList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return SystemAccounts; + return systemAccounts; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SystemAccountUser.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SystemAccountUser.cs index 1748756..f63edcf 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SystemAccountUser.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SystemAccountUser.cs @@ -78,7 +78,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetSystemAccountUser\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return SystemAccountUser; @@ -97,7 +97,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Insert SystemAccountUser. public override bool InsertSystemAccountUser(SbmSystemAccountUser systemAccountUser, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".InsertSystemAccountUser"; ClearErrorState(); if (!IsValidSystemAccountUser(systemAccountUser)) return false; if (SysId.IsValid(systemAccountUser.Id)) return SetErrorState(ErrorMessage.ValiditemId); @@ -117,7 +116,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbSystemAccountUser.ExecuteInsertCommand(dbCommand); systemAccountUser.Id = new SysId(dbSystemAccountUser._AccountId); systemAccountUser.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(systemAccountUser).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted. {GetLogProperties(systemAccountUser).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -128,14 +127,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Update SystemAccountUser. public override bool UpdateSystemAccountUser(SbmSystemAccountUser systemAccountUser, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".UpdateSystemAccountUser"; ClearErrorState(); if (!IsValidSystemAccountUser(systemAccountUser)) return false; if (!SysId.IsValid(systemAccountUser.AccountId)) return SetErrorState(ErrorMessage.InvalidItemId); if (!SysId.IsValid(systemAccountUser.UserId)) return SetErrorState(ErrorMessage.InvalidItemId); if (!systemAccountUser.Changed) { - if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(systemAccountUser).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Data not changed. {GetLogProperties(systemAccountUser).Concat(": ").Concat("", "\n\t")}"); return true; } using (var dbConnection = db.CreateConnection()) @@ -153,7 +151,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr PopulateTo(dbSystemAccountUser, systemAccountUser, dbUpdateInfo); dbSystemAccountUser.ExecuteUpdateCommand(dbCommand); systemAccountUser.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(systemAccountUser).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Updated. {GetLogProperties(systemAccountUser).Concat(": ").Concat("", "\n\t")}"); // Record updates. /*updateLogMonitor.RecordUpdatedValues(systemAccountUser); @@ -174,7 +172,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr } public override bool DeleteSystemAccountUser(SbmSystemAccountUser systemAccountUser, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".DeleteSystemAccountUser"; ClearErrorState(); if (!SystemAccountUserCanBeDeleted(systemAccountUser)) return false; using (var dbConnection = db.CreateConnection()) @@ -191,7 +188,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser) + " WHERE Id=" + SysId.ToString(systemAccountUser.Id) + ";"; dbCommand.ExecuteNonQuery(); systemAccountUser.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(systemAccountUser).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Deleted. {GetLogProperties(systemAccountUser).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -457,7 +454,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // SystemAccountUser list. public override List GetSystemAccountUserList(SbmSystemAccountUser.Params prm) { - List SystemAccountUseres = new List(); + ClearErrorState(); + List systemAccountUsers = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser), aliasSystemAccountUser); SystemAccountUser_Db dbSystemAccountUser = new SystemAccountUser_Db(DbInfo); @@ -478,16 +476,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbSystemAccountUser = new SystemAccountUser_Db(DbInfo); dbSystemAccountUser.PopulateFrom(dbDataReader); - SystemAccountUseres.Add(CreateSystemAccountUser(dbSystemAccountUser)); + systemAccountUsers.Add(CreateSystemAccountUser(dbSystemAccountUser)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetSystemAccountUserList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return SystemAccountUseres; + return systemAccountUsers; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SystemUser.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SystemUser.cs index 324e2ac..4f6fd29 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SystemUser.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-SystemUser.cs @@ -81,7 +81,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetSystemUser\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return SystemUser; @@ -100,7 +100,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Insert SystemUser. public override bool InsertSystemUser(SbmSystemUser systemUser, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".InsertSystemUser"; ClearErrorState(); if (!IsValidSystemUser(systemUser)) return false; if (SysId.IsValid(systemUser.Id)) return SetErrorState(ErrorMessage.ValiditemId); @@ -120,7 +119,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbSystemUser.ExecuteInsertCommand(dbCommand); systemUser.Id = new SysId(dbSystemUser._Id); systemUser.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(systemUser).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted. {GetLogProperties(systemUser).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -131,13 +130,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Update SystemUser. public override bool UpdateSystemUser(SbmSystemUser systemUser, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".UpdateSystemUser"; ClearErrorState(); if (!IsValidSystemUser(systemUser)) return false; if (!SysId.IsValid(systemUser.Id)) return SetErrorState(ErrorMessage.InvalidItemId); if (!systemUser.Changed) { - if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(systemUser).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Data not changed. {GetLogProperties(systemUser).Concat(": ").Concat("", "\n\t")}"); return true; } using (var dbConnection = db.CreateConnection()) @@ -155,7 +153,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr PopulateTo(dbSystemUser, systemUser, dbUpdateInfo); dbSystemUser.ExecuteUpdateCommand(dbCommand); systemUser.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(systemUser).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Updated. {GetLogProperties(systemUser).Concat(": ").Concat("", "\n\t")}"); // Record updates. /*updateLogMonitor.RecordUpdatedValues(systemUser); @@ -176,7 +174,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr } public override bool DeleteSystemUser(SbmSystemUser systemUser, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".DeleteSystemUser"; ClearErrorState(); if (!SystemUserCanBeDeleted(systemUser)) return false; using (var dbConnection = db.CreateConnection()) @@ -193,7 +190,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemUser) + " WHERE Id=" + SysId.ToString(systemUser.Id) + ";"; dbCommand.ExecuteNonQuery(); systemUser.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(systemUser).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Deleted. {GetLogProperties(systemUser).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -461,7 +458,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // SystemUser list. public override List GetSystemUserList(SbmSystemUser.Params prm) { - List SystemUseres = new List(); + ClearErrorState(); + List systemUsers = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemUser), aliasSystemUser); SystemUser_Db dbSystemUser = new SystemUser_Db(DbInfo); @@ -482,16 +480,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbSystemUser = new SystemUser_Db(DbInfo); dbSystemUser.PopulateFrom(dbDataReader); - SystemUseres.Add(CreateSystemUser(dbSystemUser)); + systemUsers.Add(CreateSystemUser(dbSystemUser)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetSystemUserList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return SystemUseres; + return systemUsers; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-Asset.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-Asset.cs index 9bae70b..dd0a95a 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-Asset.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-Asset.cs @@ -67,7 +67,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetAsset\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return asset; @@ -105,7 +105,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Insert Asset. public override bool InsertAsset(SbmAsset asset, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".InsertAsset"; ClearErrorState(); if (!IsValidAsset(asset)) return false; if (SysId.IsValid(asset.Id)) return SetErrorState(ErrorMessage.ValiditemId); @@ -125,7 +124,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbAsset.ExecuteInsertCommand(dbCommand); asset.Id = new SysId(dbAsset._Id); asset.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(asset).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted.{GetLogProperties(asset).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -136,13 +135,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Update Asset. public override bool UpdateAsset(SbmAsset asset, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".UpdateAsset"; ClearErrorState(); if (!IsValidAsset(asset)) return false; if (!SysId.IsValid(asset.Id)) return SetErrorState(ErrorMessage.InvalidItemId); if (!asset.Changed) { - if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(asset).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Data not changed.{GetLogProperties(asset).Concat(": ").Concat("", "\n\t")}"); return true; } using (var dbConnection = db.CreateConnection()) @@ -153,14 +151,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Retrieve Asset. dbConnection.Open(); SaAsset_Db dbAsset = new SaAsset_Db(DbInfo); - dbAsset.PopulateFrom(dbCommand, aliasAsset, "Id=" + SysId.ToString(asset.Id)); + dbAsset.PopulateFrom(dbCommand, aliasAsset, $"Id={SysId.ToString(asset.Id)}"); SbmUpdateLogItemMonitor_Asset updateLogMonitor = new SbmUpdateLogItemMonitor_Asset(Internals, CreateAsset(dbAsset)); // Update properties. PopulateTo(dbAsset, asset, dbUpdateInfo); dbAsset.ExecuteUpdateCommand(dbCommand); asset.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Updated." + GetLogProperties(asset).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Updated.{GetLogProperties(asset).Concat(": ").Concat("", "\n\t")}"); // Record updates. updateLogMonitor.RecordUpdatedValues(asset); @@ -181,7 +179,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr } public override bool DeleteAsset(SbmAsset asset, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".InsertAsset"; ClearErrorState(); if (!AssetCanBeDeleted(asset)) return false; using (var dbConnection = db.CreateConnection()) @@ -192,13 +189,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Retrieve Asset. dbConnection.Open(); SaAsset_Db dbAsset = new SaAsset_Db(DbInfo); - dbAsset.PopulateFrom(dbCommand, aliasAsset, "Id=" + asset.Id.ToString()); + dbAsset.PopulateFrom(dbCommand, aliasAsset, $"Id={asset.Id.ToString()}"); // Delete Asset. dbCommand.CommandType = System.Data.CommandType.Text; - dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset) + " WHERE Id=" + SysId.ToString(asset.Id) + ";"; + dbCommand.CommandText = $"DELETE FROM {SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset)} WHERE Id={SysId.ToString(asset.Id)};"; dbCommand.ExecuteNonQuery(); asset.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Deleted." + GetLogProperties(asset).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Deleted.{GetLogProperties(asset).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -480,24 +477,24 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr String includedIds = prm.IncludedIds.Concat(","); String colAsset_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Id, aliasAsset); if (!includedIds.IsEmpty()) - filter.Add(colAsset_Id + " IN (" + includedIds + ")"); + filter.Add($"{colAsset_Id} IN ({includedIds})"); String excludedIds = prm.ExcludedIds.Concat(","); if (!excludedIds.IsEmpty()) - filter.Add(colAsset_Id + " NOT IN (" + excludedIds + ")"); + filter.Add($"{colAsset_Id} NOT IN ({excludedIds})"); // Asset CategoryId. String colSaAsset_CategoryId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AssetCategoryId, aliasAsset); if (SysId.IsValid(prm.AssetCatId)) - filter.Add(colSaAsset_CategoryId + "='" + prm.AssetCatId.ToString()); + filter.Add($"{colSaAsset_CategoryId}={prm.AssetCatId.ToString()}"); //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Item Type & Id. String colAsset_ItemType = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemType, aliasAsset); if (prm.ItemType > 0) - filter.Add(colAsset_ItemType + "=" + ((int)prm.ItemType).ToString()); + filter.Add($"{colAsset_ItemType}={(int)prm.ItemType}"); String colAsset_ItemId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemId, aliasAsset); if (ItemId.IsValid(prm.ItemId)) - filter.Add(colAsset_ItemId + "=" + prm.ItemId.ToString()); + filter.Add($"{colAsset_ItemId}={prm.ItemId.ToString()}"); //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Partial SerialNumber. @@ -505,20 +502,20 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr String serialNumberPartial = DbQuery.FormatForCondition(prm.SerialNumberPartial); String colAsset_SerialNumber = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SerialNumber, aliasAsset); if (!StringUtil.IsEmpty(serialNumberFull)) - filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SerialNumber, aliasAsset) + "='" + serialNumberFull + "'"); + filter.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SerialNumber, aliasAsset)}='{serialNumberFull}'"); else if (!StringUtil.IsEmpty(serialNumberPartial)) - filter.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SerialNumber, aliasAsset), prm.SerialNumberPartial.Length) + " ='" + serialNumberPartial + "'"); + filter.Add($"{DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SerialNumber, aliasAsset), prm.SerialNumberPartial.Length)}='{serialNumberPartial}'"); // Partial Description. String description = DbQuery.FormatForCondition(prm.DescBriefPartial); String colAsset_DescBrief = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_DescBrief, aliasAsset); if (!StringUtil.IsEmpty(description)) - filter.Add(DbQuery.FormatFn_Left(colAsset_DescBrief, prm.DescBriefPartial.Length) + " ='" + description + "'"); + filter.Add($"{DbQuery.FormatFn_Left(colAsset_DescBrief, prm.DescBriefPartial.Length)}='{description}'"); //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Next Process Id. String colAsset_ProcessIdNext = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ProcessIdNext, aliasAsset); if (SysId.IsValid(prm.ProcessIdNext)) - filter.Add(colAsset_ProcessIdNext + "=" + prm.ProcessIdNext.ToString()); + filter.Add($"{colAsset_ProcessIdNext}={prm.ProcessIdNext.ToString()}"); //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Active Process Id. @@ -597,7 +594,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Asset list. public override List GetAssetList(SbmAsset.Params prm) { - List Assetes = new List(); + ClearErrorState(); + List assets = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset), aliasAsset); SaAsset_Db dbAsset = new SaAsset_Db(DbInfo); @@ -618,16 +616,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbAsset = new SaAsset_Db(DbInfo); dbAsset.PopulateFrom(dbDataReader); - Assetes.Add(CreateAsset(dbAsset)); + assets.Add(CreateAsset(dbAsset)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetAssetList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return Assetes; + return assets; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-AssetCategory.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-AssetCategory.cs index 2640911..5e5c477 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-AssetCategory.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-AssetCategory.cs @@ -92,7 +92,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetAssetCategory\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return assetCategory; @@ -122,7 +122,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr if (includeType) { String assetType = AssetTypes.GetDescForType(values.GetValue(colAssetCategory_AssetType).AsLong()); - if (!StringUtil.IsEmpty(assetType)) caption += " (" + assetType + ")"; + if (!StringUtil.IsEmpty(assetType)) caption += $" ({assetType})"; caption.Trim(); } assetCats.Add(new SysId((int)values.GetValue(colAssetCategory_Id).AsLong()), caption); @@ -163,7 +163,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Insert AssetCategory. public override bool InsertAssetCategory(SbmAssetCategory assetCategory, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".InsertAssetCategory"; ClearErrorState(); if (!IsValidAssetCategory(assetCategory)) return false; if (SysId.IsValid(assetCategory.Id)) return SetErrorState(ErrorMessage.ValiditemId); @@ -183,7 +182,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbAssetCategory.ExecuteInsertCommand(dbCommand); assetCategory.Id = new SysId(dbAssetCategory._Id); assetCategory.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(assetCategory).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted.{GetLogProperties(assetCategory).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -194,13 +193,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Update AssetCategory. public override bool UpdateAssetCategory(SbmAssetCategory assetCategory, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".UpdateAssetCategory"; ClearErrorState(); if (!IsValidAssetCategory(assetCategory)) return false; if (!SysId.IsValid(assetCategory.Id)) return SetErrorState(ErrorMessage.InvalidItemId); if (!assetCategory.Changed) { - if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(assetCategory).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Data not changed.{GetLogProperties(assetCategory).Concat(": ").Concat("", "\n\t")}"); return true; } using (var dbConnection = db.CreateConnection()) @@ -211,14 +209,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Retrieve AssetCategory. dbConnection.Open(); SaAssetCategory_Db dbAssetCategory = new SaAssetCategory_Db(DbInfo); - dbAssetCategory.PopulateFrom(dbCommand, aliasAssetCategory, "Id=" + SysId.ToString(assetCategory.Id)); + dbAssetCategory.PopulateFrom(dbCommand, aliasAssetCategory, $"Id={SysId.ToString(assetCategory.Id)}"); SbmUpdateLogItemMonitor_AssetCategory updateLogMonitor = new SbmUpdateLogItemMonitor_AssetCategory(Internals, CreateAssetCategory(dbAssetCategory)); // Update properties. PopulateTo(dbAssetCategory, assetCategory, dbUpdateInfo); dbAssetCategory.ExecuteUpdateCommand(dbCommand); assetCategory.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(assetCategory).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Updated.{GetLogProperties(assetCategory).Concat(": ").Concat("", "\n\t")}"); // Record updates. updateLogMonitor.RecordUpdatedValues(assetCategory); @@ -239,7 +237,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr } public override bool DeleteAssetCategory(SbmAssetCategory assetCategory, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".DeleteAssetCategory"; ClearErrorState(); if (!AssetCategoryCanBeDeleted(assetCategory)) return false; using (var dbConnection = db.CreateConnection()) @@ -250,13 +247,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Retrieve AssetCategory. dbConnection.Open(); SaAssetCategory_Db dbAssetCategory = new SaAssetCategory_Db(DbInfo); - dbAssetCategory.PopulateFrom(dbCommand, aliasAssetCategory, "Id=" + assetCategory.Id.ToString()); + dbAssetCategory.PopulateFrom(dbCommand, aliasAssetCategory, $"Id={assetCategory.Id.ToString()}"); // Delete AssetCategory. dbCommand.CommandType = System.Data.CommandType.Text; - dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory) + " WHERE Id=" + SysId.ToString(assetCategory.Id) + ";"; + dbCommand.CommandText = $"DELETE FROM {SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory)} WHERE Id={SysId.ToString(assetCategory.Id)};"; dbCommand.ExecuteNonQuery(); assetCategory.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(assetCategory).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Deleted.{GetLogProperties(assetCategory).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -439,32 +436,32 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr String includedIds = prm.IncludedIds.Concat(","); String colAssetCategory_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Id, aliasAssetCategory); if (!includedIds.IsEmpty()) - filter.Add(colAssetCategory_Id + " IN (" + includedIds + ")"); + filter.Add($"{colAssetCategory_Id} IN ({includedIds})"); String excludedIds = prm.ExcludedIds.Concat(","); if (!excludedIds.IsEmpty()) - filter.Add(colAssetCategory_Id + " NOT IN (" + excludedIds + ")"); + filter.Add($"{colAssetCategory_Id} NOT IN ({excludedIds})"); // Asset Category Type. String colSaAssetCategory_Type = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_AssetType, aliasAssetCategory); if (prm.AssetType > 0) - filter.Add(colSaAssetCategory_Type + "='" + ((int)prm.AssetType).ToString()); + filter.Add($"{colSaAssetCategory_Type}='{(int)prm.AssetType}"); // Partial Code. String code = DbQuery.FormatForCondition(prm.CodePartial); String colAssetCategory_Code = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Code, aliasAssetCategory); if (!StringUtil.IsEmpty(code)) - filter.Add(DbQuery.FormatFn_Left(colAssetCategory_Code, prm.CodePartial.Length) + " ='" + code + "'"); + filter.Add($"{DbQuery.FormatFn_Left(colAssetCategory_Code, prm.CodePartial.Length)}='{code}'"); // Partial Description. String description = DbQuery.FormatForCondition(prm.DescBriefPartial); String colAssetCategory_DescBrief = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_DescBrief, aliasAssetCategory); if (!StringUtil.IsEmpty(description)) - filter.Add(DbQuery.FormatFn_Left(colAssetCategory_DescBrief, prm.DescBriefPartial.Length) + " ='" + description + "'"); + filter.Add($"{DbQuery.FormatFn_Left(colAssetCategory_DescBrief, prm.DescBriefPartial.Length)}='{description}'"); // Status. String colAssetCategory_Status = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Status, aliasAssetCategory); if (prm.RestrictToActive) - filter.Add(colAssetCategory_Status + "='" + StatusActive + "'"); + filter.Add($"{colAssetCategory_Status}='{StatusActive}'"); if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1"); return filter; @@ -509,7 +506,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr private long GetAssetCategoryCount(String filter) { ClearErrorState(); - return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory) + " As " + aliasAssetCategory, filter); + return db.GetRowCount($"{SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory)} As {aliasAssetCategory}", filter); } public override long GetAssetCategoryCount(SbmAssetCategory.Params prm) { @@ -521,7 +518,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // AssetCategory list. public override List GetAssetCategoryList(SbmAssetCategory.Params prm) { - List AssetCategoryes = new List(); + ClearErrorState(); + List assetCategories = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory), aliasAssetCategory); SaAssetCategory_Db dbAssetCategory = new SaAssetCategory_Db(DbInfo); @@ -542,16 +540,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbAssetCategory = new SaAssetCategory_Db(DbInfo); dbAssetCategory.PopulateFrom(dbDataReader); - AssetCategoryes.Add(CreateAssetCategory(dbAssetCategory)); + assetCategories.Add(CreateAssetCategory(dbAssetCategory)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetAssetCategoryList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return AssetCategoryes; + return assetCategories; } //------------------------------------------------------------------- @@ -606,9 +605,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr String tableAsset = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset); DbQuery qryAssetCount = new DbQuery(db.DbmsType); qryAssetCount.Tables.Add(tableAsset, aliasAsset); - qryAssetCount.Columns.Add("Count(" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Id, aliasAsset) + ")"); - qryAssetCount.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AssetCategoryId, aliasAsset) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Id, aliasAsset)); - query.Columns.Add("(" + qryAssetCount.BuildQuery() + ")", "AssetCount"); + qryAssetCount.Columns.Add($"Count({SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Id, aliasAsset)})"); + qryAssetCount.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AssetCategoryId, aliasAsset)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Id, aliasAsset)}"); + query.Columns.Add($"({qryAssetCount.BuildQuery()})", "AssetCount"); } // Common Properties diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-AssetProcess.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-AssetProcess.cs index 9b4d315..a9e30cb 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-AssetProcess.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-AssetProcess.cs @@ -67,7 +67,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetAssetProcess\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return assetProcess; @@ -105,7 +105,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Insert AssetProcess. public override bool InsertAssetProcess(SbmAssetProcess assetProcess, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".InsertAssetProcess"; ClearErrorState(); if (!IsValidAssetProcess(assetProcess)) return false; if (SysId.IsValid(assetProcess.Id)) return SetErrorState(ErrorMessage.ValiditemId); @@ -125,7 +124,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbAssetProcess.ExecuteInsertCommand(dbCommand); assetProcess.Id = new SysId(dbAssetProcess._Id); assetProcess.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(assetProcess).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted.{GetLogProperties(assetProcess).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -136,13 +135,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Update AssetProcess. public override bool UpdateAssetProcess(SbmAssetProcess assetProcess, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".UpdateAssetProcess"; ClearErrorState(); if (!IsValidAssetProcess(assetProcess)) return false; if (!SysId.IsValid(assetProcess.Id)) return SetErrorState(ErrorMessage.InvalidItemId); if (!assetProcess.Changed) { - if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(assetProcess).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Data not changed.{GetLogProperties(assetProcess).Concat(": ").Concat("", "\n\t")}"); return true; } using (var dbConnection = db.CreateConnection()) @@ -153,14 +151,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Retrieve AssetProcess. dbConnection.Open(); SaAssetProcess_Db dbAssetProcess = new SaAssetProcess_Db(DbInfo); - dbAssetProcess.PopulateFrom(dbCommand, aliasAssetProcess, "Id=" + SysId.ToString(assetProcess.Id)); + dbAssetProcess.PopulateFrom(dbCommand, aliasAssetProcess, $"Id={SysId.ToString(assetProcess.Id)}"); SbmUpdateLogItemMonitor_AssetProcess updateLogMonitor = new SbmUpdateLogItemMonitor_AssetProcess(Internals, CreateAssetProcess(dbAssetProcess)); // Update properties. PopulateTo(dbAssetProcess, assetProcess, dbUpdateInfo); dbAssetProcess.ExecuteUpdateCommand(dbCommand); assetProcess.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(assetProcess).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Updated.{GetLogProperties(assetProcess).Concat(": ").Concat("", "\n\t")}"); // Record updates. updateLogMonitor.RecordUpdatedValues(assetProcess); @@ -181,7 +179,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr } public override bool DeleteAssetProcess(SbmAssetProcess assetProcess, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".DeleteAssetProcess"; ClearErrorState(); if (!AssetProcessCanBeDeleted(assetProcess)) return false; using (var dbConnection = db.CreateConnection()) @@ -192,13 +189,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Retrieve AssetProcess. dbConnection.Open(); SaAssetProcess_Db dbAssetProcess = new SaAssetProcess_Db(DbInfo); - dbAssetProcess.PopulateFrom(dbCommand, aliasAssetProcess, "Id=" + assetProcess.Id.ToString()); + dbAssetProcess.PopulateFrom(dbCommand, aliasAssetProcess, $"Id={assetProcess.Id.ToString()}"); // Delete AssetProcess. dbCommand.CommandType = System.Data.CommandType.Text; - dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetProcess) + " WHERE Id=" + SysId.ToString(assetProcess.Id) + ";"; + dbCommand.CommandText = $"DELETE FROM {SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetProcess)} WHERE Id={SysId.ToString(assetProcess.Id)};"; dbCommand.ExecuteNonQuery(); assetProcess.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(assetProcess).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Deleted.{GetLogProperties(assetProcess).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -344,10 +341,10 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr String includedIds = prm.IncludedIds.Concat(","); String colAssetProcess_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_Id, aliasAssetProcess); if (!includedIds.IsEmpty()) - filter.Add(colAssetProcess_Id + " IN (" + includedIds + ")"); + filter.Add($"{colAssetProcess_Id} IN ({includedIds})"); String excludedIds = prm.ExcludedIds.Concat(","); if (!excludedIds.IsEmpty()) - filter.Add(colAssetProcess_Id + " NOT IN (" + excludedIds + ")"); + filter.Add($"{colAssetProcess_Id} NOT IN ({excludedIds})"); if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1"); return filter; @@ -404,7 +401,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // AssetProcess list. public override List GetAssetProcessList(SbmAssetProcess.Params prm) { - List AssetProcesses = new List(); + ClearErrorState(); + List assetProcesses = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetProcess), aliasAssetProcess); SaAssetProcess_Db dbAssetProcess = new SaAssetProcess_Db(DbInfo); @@ -425,16 +423,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbAssetProcess = new SaAssetProcess_Db(DbInfo); dbAssetProcess.PopulateFrom(dbDataReader); - AssetProcesses.Add(CreateAssetProcess(dbAssetProcess)); + assetProcesses.Add(CreateAssetProcess(dbAssetProcess)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetAssetProcessList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return AssetProcesses; + return assetProcesses; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-Vehicle.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-Vehicle.cs index 8bc3449..0294207 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-Vehicle.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-Vehicle.cs @@ -68,7 +68,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetVehicle\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return vehicle; @@ -103,7 +103,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Insert Vehicle. public override bool InsertVehicle(SbmVehicle vehicle, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".InsertVehicle"; ClearErrorState(); if (!IsValidVehicle(vehicle)) return false; if (SysId.IsValid(vehicle.Id)) return SetErrorState(ErrorMessage.ValiditemId); @@ -123,7 +122,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr dbVehicle.ExecuteInsertCommand(dbCommand); vehicle.Id = new SysId(dbVehicle._Id); vehicle.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted.{GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -134,13 +133,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Update Vehicle. public override bool UpdateVehicle(SbmVehicle vehicle, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".UpdateVehicle"; ClearErrorState(); if (!IsValidVehicle(vehicle)) return false; if (!SysId.IsValid(vehicle.Id)) return SetErrorState(ErrorMessage.InvalidItemId); if (!vehicle.Changed) { - if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Data not changed.{GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t")}"); return true; } using (var dbConnection = db.CreateConnection()) @@ -151,14 +149,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Retrieve Vehicle. dbConnection.Open(); SaVehicle_Db dbVehicle = new SaVehicle_Db(DbInfo); - dbVehicle.PopulateFrom(dbCommand, aliasVehicle, "Id=" + SysId.ToString(vehicle.Id)); + dbVehicle.PopulateFrom(dbCommand, aliasVehicle, $"Id={SysId.ToString(vehicle.Id)}"); SbmUpdateLogItemMonitor_Vehicle updateLogMonitor = new SbmUpdateLogItemMonitor_Vehicle(Internals, CreateVehicle(dbVehicle)); // Update properties. PopulateTo(dbVehicle, vehicle, dbUpdateInfo); dbVehicle.ExecuteUpdateCommand(dbCommand); vehicle.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Updated.{GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t")}"); // Record updates. updateLogMonitor.RecordUpdatedValues(vehicle); @@ -179,7 +177,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr } public override bool DeleteVehicle(SbmVehicle vehicle, DbUpdateInfo dbUpdateInfo) { - String fn = GetType().Name + ".DeleteVehicle"; ClearErrorState(); if (!VehicleCanBeDeleted(vehicle)) return false; using (var dbConnection = db.CreateConnection()) @@ -190,13 +187,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Retrieve prm. dbConnection.Open(); SaVehicle_Db dbVehicle = new SaVehicle_Db(DbInfo); - dbVehicle.PopulateFrom(dbCommand, aliasVehicle, "Id=" + vehicle.Id.ToString()); + dbVehicle.PopulateFrom(dbCommand, aliasVehicle, $"Id={vehicle.Id.ToString()}"); // Delete prm. dbCommand.CommandType = System.Data.CommandType.Text; - dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle) + " WHERE Id=" + SysId.ToString(vehicle.Id) + ";"; + dbCommand.CommandText = $"DELETE FROM {SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle)} WHERE Id={SysId.ToString(vehicle.Id)};"; dbCommand.ExecuteNonQuery(); vehicle.Changed = false; - if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t")); + if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Deleted.{GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t")}"); } catch (Exception exc) { SetErrorState(exc.Message); } } @@ -502,15 +499,15 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr String includedIds = prm.IncludedIds.Concat(","); String colVehicle_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle); if (!StringUtil.IsEmpty(includedIds)) - filter.Add(colVehicle_Id + " IN (" + includedIds + ")"); + filter.Add($"{colVehicle_Id} IN ({includedIds})"); String excludedIds = prm.ExcludedIds.Concat(","); if (!StringUtil.IsEmpty(excludedIds)) - filter.Add(colVehicle_Id + " NOT IN (" + excludedIds + ")"); + filter.Add($"{colVehicle_Id} NOT IN ({excludedIds})"); //--------------------------------------------------------------- // Vehicle Class. String colVehicle_VehicleClassId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle); if (SysId.IsValid(prm.VehicleClassId)) - filter.Add(colVehicle_VehicleClassId + "=" + prm.VehicleClassId.ToString()); + filter.Add($"{colVehicle_VehicleClassId}={prm.VehicleClassId.ToString()}"); String classDesc = DbQuery.FormatForCondition(prm.ClassDescPartial); if (!StringUtil.IsEmpty(prm.MakeCode) || !classDesc.IsEmpty()) { @@ -518,21 +515,21 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr qryVehicleClass.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleClass), aliasVehicle_VehicleClass); qryVehicleClass.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasVehicle_VehicleClass)); if (!StringUtil.IsEmpty(prm.MakeCode)) - qryVehicleClass.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, aliasVehicle_VehicleClass) + "='" + prm.MakeCode + "'"); + qryVehicleClass.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, aliasVehicle_VehicleClass)}='{prm.MakeCode}'"); if (!StringUtil.IsEmpty(classDesc)) - qryVehicleClass.Filters.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, aliasVehicle_VehicleClass), prm.ClassDescPartial.Length) + "='" + classDesc + "'"); - filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle) + " IN (" + qryVehicleClass.BuildQuery() + ")"); + qryVehicleClass.Filters.Add($"{DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, aliasVehicle_VehicleClass), prm.ClassDescPartial.Length)}='{classDesc}'"); + filter.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle)} IN ({qryVehicleClass.BuildQuery()})"); } //--------------------------------------------------------------- // Partial Registration. String regNumber = DbQuery.FormatForCondition(prm.RegNumberPartial); if (!StringUtil.IsEmpty(regNumber)) - filter.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_RegNumber, aliasVehicle), prm.RegNumberPartial.Length) + " ='" + regNumber + "'"); + filter.Add($"{DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_RegNumber, aliasVehicle), prm.RegNumberPartial.Length)}='{regNumber}'"); // Partial VIN: String vin = DbQuery.FormatForCondition(prm.VinPartial); if (!StringUtil.IsEmpty(vin)) - filter.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VIN, aliasVehicle), prm.VinPartial.Length) + " ='" + vin + "'"); + filter.Add($"{DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VIN, aliasVehicle), prm.VinPartial.Length)}='{vin}'"); //--------------------------------------------------------------- // Associated Assets. @@ -542,29 +539,29 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr DbQuery qryAsset = new DbQuery(db.DbmsType); qryAsset.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset), aliasVehicle_Asset); qryAsset.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Id, aliasVehicle_Asset)); - qryAsset.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemType, aliasVehicle_Asset) + "=" + ((int)Sbm.ItemType.Vehicle).ToString()); - qryAsset.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemId, aliasVehicle_Asset) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle)); + qryAsset.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemType, aliasVehicle_Asset)}={(int)Sbm.ItemType.Vehicle}"); + qryAsset.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemId, aliasVehicle_Asset)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle)}"); String colAsset_AssetCategoryId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AssetCategoryId, aliasVehicle_Asset); String colAsset_ProcessIdNext = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ProcessIdNext, aliasVehicle_Asset); if (SysId.IsValid(prm.AssetCatIdInclude) || SysId.IsValid(prm.AssetProcessIdNext)) { if (SysId.IsValid(prm.AssetCatIdInclude)) - qryAsset.Filters.Add(colAsset_AssetCategoryId + "=" + prm.AssetCatIdInclude.ToString()); + qryAsset.Filters.Add($"{colAsset_AssetCategoryId}={prm.AssetCatIdInclude.ToString()}"); if (SysId.IsValid(prm.AssetProcessIdNext)) - qryAsset.Filters.Add(colAsset_ProcessIdNext + "=" + prm.AssetProcessIdNext.ToString()); - filter.Add(" EXISTS(" + qryAsset.BuildQuery() + ")"); + qryAsset.Filters.Add($"{colAsset_ProcessIdNext}={prm.AssetProcessIdNext.ToString()}"); + filter.Add($" EXISTS({qryAsset.BuildQuery()})"); } if (SysId.IsValid(prm.AssetCatIdExclude)) { - qryAsset.Filters.Add(colAsset_AssetCategoryId + "=" + prm.AssetCatIdExclude.ToString()); - filter.Add(" NOT EXISTS(" + qryAsset.BuildQuery() + ")"); + qryAsset.Filters.Add($"{colAsset_AssetCategoryId}={prm.AssetCatIdExclude.ToString()}"); + filter.Add($" NOT EXISTS({qryAsset.BuildQuery()})"); } } //--------------------------------------------------------------- // Restrict to active: String colVehicle_Status = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Status, aliasVehicle); if (!StringUtil.IsEmpty(prm.RestrictToActive)) - filter.Add(colVehicle_Status + "='" + SacsSystem.GetStatusDesc(SaStatus.Active) + "'"); + filter.Add($"{colVehicle_Status}='{StatusActive}'"); if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1"); return filter; @@ -609,7 +606,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr private long GetVehicleCount(String filter) { ClearErrorState(); - return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle) + " As " + aliasVehicle, filter); + return db.GetRowCount($"{SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle)} As {aliasVehicle}", filter); } public override long GetVehicleCount(SbmVehicle.Params prm) { @@ -621,7 +618,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Vehicle list. public override List GetVehicleList(SbmVehicle.Params prm) { - List Vehiclees = new List(); + ClearErrorState(); + List vehicles = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle), aliasVehicle); SaVehicle_Db dbVehicle = new SaVehicle_Db(DbInfo); @@ -642,16 +640,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbVehicle = new SaVehicle_Db(DbInfo); dbVehicle.PopulateFrom(dbDataReader); - Vehiclees.Add(CreateVehicle(dbVehicle)); + vehicles.Add(CreateVehicle(dbVehicle)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetVehicleList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return Vehiclees; + return vehicles; } //------------------------------------------------------------------- @@ -697,7 +696,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { DbQueryJoin joinVehCat = new DbQueryJoin(DbJoinType.LeftOuter); joinVehCat.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleClass), aliasVehicle_VehicleClass); - joinVehCat.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasVehicle_VehicleClass) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle)); + joinVehCat.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasVehicle_VehicleClass)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle)}"); query.Joins.Add(joinVehCat); // Add the Vehicle Category columns: List dbColumns = new List(); @@ -726,9 +725,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr String aliasVehicle_VehicleEvent = "aVehVehEvt"; DbQuery qryEvent = new DbQuery(db.DbmsType); qryEvent.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleEvent), aliasVehicle_VehicleEvent); - qryEvent.Columns.Add("Count(" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_Id, aliasVehicle_VehicleEvent) + ")"); - qryEvent.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_VehicleId, aliasVehicle_VehicleEvent) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle)); - query.Columns.Add("(" + qryEvent.BuildQuery() + ")", dataNameVehEventCount); + qryEvent.Columns.Add($"Count({SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_Id, aliasVehicle_VehicleEvent)})"); + qryEvent.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_VehicleId, aliasVehicle_VehicleEvent)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle)}"); + query.Columns.Add($"({qryEvent.BuildQuery()})", dataNameVehEventCount); } } //--------------------------------------------------------------- @@ -742,9 +741,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr String aliasVehicle_VehicleFeature = "aVehVehFtr"; DbQuery qryFeature = new DbQuery(db.DbmsType); qryFeature.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleFeature), aliasVehicle_VehicleFeature); - qryFeature.Columns.Add("Count(" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId, aliasVehicle_VehicleFeature) + ")"); - qryFeature.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId, aliasVehicle_VehicleFeature) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle)); - query.Columns.Add("(" + qryFeature.BuildQuery() + ")", dataNameVehFeatureCount); + qryFeature.Columns.Add($"Count({SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId, aliasVehicle_VehicleFeature)})"); + qryFeature.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId, aliasVehicle_VehicleFeature)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle)}"); + query.Columns.Add($"({qryFeature.BuildQuery()})", dataNameVehFeatureCount); } } @@ -760,12 +759,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr String aliasVehicle_ItemData = "aVehItmDat"; DbQuery qryItemData = new DbQuery(db.DbmsType); qryItemData.Tables.Add(SaItemDataDbDfn.GetTableName(SaItemDataDbDfn.TableIdx.SaItemData), aliasVehicle_ItemData); - qryItemData.Columns.Add("Count(" + SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_Id, aliasVehicle_ItemData) + ")"); - qryItemData.Filters.Add(SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_ItemType, aliasVehicle_ItemData) + "=" + ((int)Sbm.ItemType.Vehicle).ToString()); - qryItemData.Filters.Add(SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_ItemId, aliasVehicle_ItemData) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle)); + qryItemData.Columns.Add($"Count({SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_Id, aliasVehicle_ItemData)})"); + qryItemData.Filters.Add($"{SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_ItemType, aliasVehicle_ItemData)}={(int)Sbm.ItemType.Vehicle}"); + qryItemData.Filters.Add($"{SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_ItemId, aliasVehicle_ItemData)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle)}"); List itemDataTypes = new List(); - qryItemData.Filters.Add(SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_DataType, aliasVehicle_ItemData) + "='" + itemDataTypes.GetCodeForType(Sbm.ItemDataType.Vehicle_HpiResponse) + "'"); - query.Columns.Add("(" + qryItemData.BuildQuery() + ")", dataNameHpiCheckCount); + qryItemData.Filters.Add($"{SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_DataType, aliasVehicle_ItemData)}='{itemDataTypes.GetCodeForType(Sbm.ItemDataType.Vehicle_HpiResponse)}'"); + query.Columns.Add($"({qryItemData.BuildQuery()})", dataNameHpiCheckCount); } } // Common Properties diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleClass.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleClass.cs index 5583da1..364de14 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleClass.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleClass.cs @@ -148,7 +148,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetVehicleClass\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return vehicleClass; @@ -619,7 +619,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // VehicleClass list. public override List GetVehicleClassList(SbmVehicleClass.Params prm) { - List VehicleClasses = new List(); + ClearErrorState(); + List vehicleClasses = new List(); DbQuery qryVehicleClass = new DbQuery(db.DbmsType); qryVehicleClass.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleClass), aliasVehicleClass); SaVehicleClass_Db dbVehicleClass = new SaVehicleClass_Db(DbInfo); @@ -640,16 +641,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbVehicleClass = new SaVehicleClass_Db(DbInfo); dbVehicleClass.PopulateFrom(dbDataReader); - VehicleClasses.Add(CreateVehicleClass(dbVehicleClass)); + vehicleClasses.Add(CreateVehicleClass(dbVehicleClass)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetVehicleClassList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return VehicleClasses; + return vehicleClasses; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleEvent.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleEvent.cs index 0d71295..68916c5 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleEvent.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleEvent.cs @@ -67,7 +67,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetVehicleEvent\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return vehicleEvent; @@ -478,7 +478,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // VehicleEvent list. public override List GetVehicleEventList(SbmVehicleEvent.Params prm) { - List VehicleEventes = new List(); + ClearErrorState(); + List vehicleEvents = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleEvent), aliasVehicleEvent); SaVehicleEvent_Db dbVehicleEvent = new SaVehicleEvent_Db(DbInfo); @@ -499,16 +500,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbVehicleEvent = new SaVehicleEvent_Db(DbInfo); dbVehicleEvent.PopulateFrom(dbDataReader); - VehicleEventes.Add(CreateVehicleEvent(dbVehicleEvent)); + vehicleEvents.Add(CreateVehicleEvent(dbVehicleEvent)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetVehicleEventList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return VehicleEventes; + return vehicleEvents; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleFeature.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleFeature.cs index b086641..29fe20a 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleFeature.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleFeature.cs @@ -164,7 +164,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetVehicleFeature\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return vehicleFeature; @@ -534,7 +534,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // VehicleFeature list. public override List GetVehicleFeatureList(SbmVehicleFeature.Params prm) { - List VehicleFeaturees = new List(); + ClearErrorState(); + List vehicleFeatures = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleFeature), aliasVehicleFeature); SaVehicleFeature_Db dbVehicleFeature = new SaVehicleFeature_Db(DbInfo); @@ -555,16 +556,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbVehicleFeature = new SaVehicleFeature_Db(DbInfo); dbVehicleFeature.PopulateFrom(dbDataReader); - VehicleFeaturees.Add(CreateVehicleFeature(dbVehicleFeature)); + vehicleFeatures.Add(CreateVehicleFeature(dbVehicleFeature)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetVehicleFeatureList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return VehicleFeaturees; + return vehicleFeatures; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-Commodity.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-Commodity.cs index 288029e..5816427 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-Commodity.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-Commodity.cs @@ -586,7 +586,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetCommodity\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return commodity; @@ -2656,7 +2656,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Commodity list. public override List GetCommodityList(SbmCommodity.Params prm) { - List Commodities = new List(); + ClearErrorState(); + List commodities = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Commodity), aliasCommodity); Commodity_Db dbCommodity = new Commodity_Db(DbInfo); @@ -2677,16 +2678,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbCommodity = new Commodity_Db(DbInfo); dbCommodity.PopulateFrom(dbDataReader); - Commodities.Add(CreateCommodity(dbCommodity)); + commodities.Add(CreateCommodity(dbCommodity)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetCommodityList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return Commodities; + return commodities; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-CommodityCustomer.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-CommodityCustomer.cs index e49c5de..001b62f 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-CommodityCustomer.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-CommodityCustomer.cs @@ -178,7 +178,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetCommodityCustomer\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return prmCommodityCustomer; @@ -597,7 +597,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Item list. public override List GetCommodityCustomerList(SbmCommodityCustomer.Params prm) { - List CommodityCustomeres = new List(); + ClearErrorState(); + List commodityCustomers = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.CommodityCustomer), aliasCommodityCustomer); CommodityCustomer_Db dbCommodityCustomer = new CommodityCustomer_Db(DbInfo); @@ -618,16 +619,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbCommodityCustomer = new CommodityCustomer_Db(DbInfo); dbCommodityCustomer.PopulateFrom(dbDataReader); - CommodityCustomeres.Add(CreateCommodityCustomer(dbCommodityCustomer)); + commodityCustomers.Add(CreateCommodityCustomer(dbCommodityCustomer)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetCommodityCustomerList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return CommodityCustomeres; + return commodityCustomers; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-CommoditySupplier.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-CommoditySupplier.cs index d949440..14e1e7e 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-CommoditySupplier.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-CommoditySupplier.cs @@ -71,7 +71,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetCommoditySupplier\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return commoditySupplier; @@ -498,7 +498,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Item list. public override List GetCommoditySupplierList(SbmCommoditySupplier.Params prm) { - List CommoditySupplieres = new List(); + ClearErrorState(); + List commoditySuppliers = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.CommoditySupplier), aliasCommoditySupplier); CommoditySupplier_Db dbCommoditySupplier = new CommoditySupplier_Db(DbInfo); @@ -519,16 +520,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbCommoditySupplier = new CommoditySupplier_Db(DbInfo); dbCommoditySupplier.PopulateFrom(dbDataReader); - CommoditySupplieres.Add(CreateCommoditySupplier(dbCommoditySupplier)); + commoditySuppliers.Add(CreateCommoditySupplier(dbCommoditySupplier)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetCommoditySupplierList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return CommoditySupplieres; + return commoditySuppliers; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-Container.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-Container.cs index ade5795..5a62c13 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-Container.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-Container.cs @@ -67,7 +67,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetContainer\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return container; @@ -538,7 +538,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Container list. public override List GetContainerList(SbmContainer.Params prm) { - List Containers = new List(); + ClearErrorState(); + List containers = new List(); DbQuery DbQuery = new DbQuery(db.DbmsType); DbQuery.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Container), aliasContainer); Container_Db dbContainer = new Container_Db(DbInfo); @@ -559,16 +560,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbContainer = new Container_Db(DbInfo); dbContainer.PopulateFrom(dbDataReader); - Containers.Add(CreateContainer(dbContainer)); + containers.Add(CreateContainer(dbContainer)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetContainerList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return Containers; + return containers; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-ContainerItem.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-ContainerItem.cs index 60e2f38..2e2a646 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-ContainerItem.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-ContainerItem.cs @@ -103,7 +103,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetContainerItem\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return containerItem; @@ -671,7 +671,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Item list. public override List GetContainerItemList(SbmContainerItem.Params prm) { - List ContainerItemes = new List(); + ClearErrorState(); + List containerItems = new List(); DbQuery DbQuery = new DbQuery(db.DbmsType); DbQuery.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.ContainerItem), aliasContainerItem); ContainerItem_Db dbContainerItem = new ContainerItem_Db(DbInfo); @@ -692,16 +693,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbContainerItem = new ContainerItem_Db(DbInfo); dbContainerItem.PopulateFrom(dbDataReader); - ContainerItemes.Add(CreateContainerItem(dbContainerItem)); + containerItems.Add(CreateContainerItem(dbContainerItem)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetContainerItemList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return ContainerItemes; + return containerItems; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-PortfolioItem.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-PortfolioItem.cs index e190111..aeaceb7 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-PortfolioItem.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-PortfolioItem.cs @@ -276,7 +276,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetPortfolioItem\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return portfolioItem; @@ -893,7 +893,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Item list. public override List GetPortfolioItemList(SbmPortfolioItem.Params prm) { - List PortfolioItemes = new List(); + ClearErrorState(); + List portfolioItems = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.PortfolioItem), aliasPortfolioItem); PortfolioItem_Db dbPortfolioItem = new PortfolioItem_Db(DbInfo); @@ -914,16 +915,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbPortfolioItem = new PortfolioItem_Db(DbInfo); dbPortfolioItem.PopulateFrom(dbDataReader); - PortfolioItemes.Add(CreatePortfolioItem(dbPortfolioItem)); + portfolioItems.Add(CreatePortfolioItem(dbPortfolioItem)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetPortfolioItemList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return PortfolioItemes; + return portfolioItems; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmDataItemMgr_Dbas-ItemBatch.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmDataItemMgr_Dbas-ItemBatch.cs index eed65d6..3a9db51 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmDataItemMgr_Dbas-ItemBatch.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmDataItemMgr_Dbas-ItemBatch.cs @@ -67,7 +67,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetItemBatch\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return itemBatch; @@ -424,7 +424,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // ItemBatch list. public override List GetItemBatchList(SbmItemBatch.Params prm) { - List ItemBatches = new List(); + ClearErrorState(); + List itemBatches = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.ItemBatch), aliasItemBatch); ItemBatch_Db dbItemBatch = new ItemBatch_Db(DbInfo); @@ -445,16 +446,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbItemBatch = new ItemBatch_Db(DbInfo); dbItemBatch.PopulateFrom(dbDataReader); - ItemBatches.Add(CreateItemBatch(dbItemBatch)); + itemBatches.Add(CreateItemBatch(dbItemBatch)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetItemBatchList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return ItemBatches; + return itemBatches; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmDataItemMgr_Dbas-ItemLink.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmDataItemMgr_Dbas-ItemLink.cs index 95b86a4..5af0ea3 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmDataItemMgr_Dbas-ItemLink.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmDataItemMgr_Dbas-ItemLink.cs @@ -133,7 +133,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetItemLink\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return itemLink; @@ -632,7 +632,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // ItemLink list. public override List GetItemLinkList(SbmItemLink.Params prm) { - List ItemLinkes = new List(); + ClearErrorState(); + List itemLinks = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.ItemLink), aliasItemLink); ItemLink_Db dbItemLink = new ItemLink_Db(DbInfo); @@ -653,16 +654,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbItemLink = new ItemLink_Db(DbInfo); dbItemLink.PopulateFrom(dbDataReader); - ItemLinkes.Add(CreateItemLink(dbItemLink)); + itemLinks.Add(CreateItemLink(dbItemLink)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetItemLinkList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return ItemLinkes; + return itemLinks; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmPriceMgr_Dbas-Price.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmPriceMgr_Dbas-Price.cs index f92f169..d8f3148 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmPriceMgr_Dbas-Price.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmPriceMgr_Dbas-Price.cs @@ -64,7 +64,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetPrice\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return price; @@ -479,7 +479,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Price list. public override List GetPriceList(SbmPrice.Params prm) { - List Prices = new List(); + ClearErrorState(); + List prices = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaPrice), aliasPrice); SaPrice_Db dbPrice = new SaPrice_Db(DbInfo); @@ -500,16 +501,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbPrice = new SaPrice_Db(DbInfo); dbPrice.PopulateFrom(dbDataReader); - Prices.Add(CreatePrice(dbPrice)); + prices.Add(CreatePrice(dbPrice)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetPriceList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return Prices; + return prices; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmPriceMgr_Dbas-PriceSet.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmPriceMgr_Dbas-PriceSet.cs index 4378ce3..fa2edd7 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmPriceMgr_Dbas-PriceSet.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmPriceMgr_Dbas-PriceSet.cs @@ -65,7 +65,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetPriceSet\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return priceSet; @@ -435,7 +435,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Item list. public override List GetPriceSetList(SbmPriceSet.Params prm) { - List PriceSetes = new List(); + ClearErrorState(); + List priceSets = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaPriceSet), aliasPriceSet); SaPriceSet_Db dbPriceSet = new SaPriceSet_Db(DbInfo); @@ -456,16 +457,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbPriceSet = new SaPriceSet_Db(DbInfo); dbPriceSet.PopulateFrom(dbDataReader); - PriceSetes.Add(CreatePriceSet(dbPriceSet)); + priceSets.Add(CreatePriceSet(dbPriceSet)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetPriceSetList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return PriceSetes; + return priceSets; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmProcessMgr_Dbas-ItemProcess.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmProcessMgr_Dbas-ItemProcess.cs index a30fe63..8e5b2be 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmProcessMgr_Dbas-ItemProcess.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmProcessMgr_Dbas-ItemProcess.cs @@ -128,8 +128,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr public override List GetProcessesForItem(SbmItemProcess.Params prm) { - List itemProcesses = new List(); ClearErrorState(); + List itemProcesses = new List(); if (prm.ItemType != Sbm.ItemType.Commodity && prm.ItemType != Sbm.ItemType.AssetCategory && prm.ItemType != Sbm.ItemType.Asset) SetErrorState("invalid item type"); if (!SysId.IsValid(prm.ItemId)) SetErrorState("invalid item Id"); diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmProcessMgr_Dbas-Process.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmProcessMgr_Dbas-Process.cs index ac372d0..fad447d 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmProcessMgr_Dbas-Process.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmProcessMgr_Dbas-Process.cs @@ -106,7 +106,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetProcess\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return prmProcess; @@ -485,7 +485,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Process list. public override List GetProcessList(SbmProcess.Params prm) { - List Processes = new List(); + ClearErrorState(); + List processes = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Process), aliasProcess); Process_Db dbProcess = new Process_Db(DbInfo); @@ -506,16 +507,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbProcess = new Process_Db(DbInfo); dbProcess.PopulateFrom(dbDataReader); - Processes.Add(CreateProcess(dbProcess)); + processes.Add(CreateProcess(dbProcess)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetProcessList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return Processes; + return processes; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmStockMgr_Dbas-Location.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmStockMgr_Dbas-Location.cs index ee5ac4c..5cc0986 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmStockMgr_Dbas-Location.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmStockMgr_Dbas-Location.cs @@ -67,7 +67,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetLocation\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return location; @@ -448,7 +448,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Location list. public override List GetLocationList(SbmLocation.Params prm) { - List Locationes = new List(); + ClearErrorState(); + List Locations = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Location), aliasLocation); Location_Db dbLocation = new Location_Db(DbInfo); @@ -469,16 +470,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbLocation = new Location_Db(DbInfo); dbLocation.PopulateFrom(dbDataReader); - Locationes.Add(CreateLocation(dbLocation)); + Locations.Add(CreateLocation(dbLocation)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetLocationList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return Locationes; + return Locations; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmStockMgr_Dbas-Movement.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmStockMgr_Dbas-Movement.cs index 2c8e79a..8f1b710 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmStockMgr_Dbas-Movement.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmStockMgr_Dbas-Movement.cs @@ -186,7 +186,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetMovement\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return movement; @@ -832,7 +832,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Movement list. public override List GetMovementList(SbmMovement.Params prm) { - List Movementes = new List(); + ClearErrorState(); + List movements = new List(); DbQuery DbQuery = new DbQuery(db.DbmsType); DbQuery.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Movement), aliasMovement); Movement_Db dbMovement = new Movement_Db(DbInfo); @@ -853,16 +854,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbMovement = new Movement_Db(DbInfo); dbMovement.PopulateFrom(dbDataReader); - Movementes.Add(CreateMovement(dbMovement)); + movements.Add(CreateMovement(dbMovement)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetMovementList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return Movementes; + return movements; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Constituent.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Constituent.cs index 506259c..a4fae4e 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Constituent.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Constituent.cs @@ -331,7 +331,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetConstituent\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return prmituent; @@ -929,7 +929,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Constituent list. public override List GetConstituentList(SbmConstituent.Params prm) { - List Constituentes = new List(); + ClearErrorState(); + List constituents = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Constituent), aliasConstituent); Constituent_Db dbConstituent = new Constituent_Db(DbInfo); @@ -950,16 +951,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbConstituent = new Constituent_Db(DbInfo); dbConstituent.PopulateFrom(dbDataReader); - Constituentes.Add(CreateConstituent(dbConstituent)); + constituents.Add(CreateConstituent(dbConstituent)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetConstituentList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return Constituentes; + return constituents; } //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Requirement.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Requirement.cs index 794aad3..e4f9902 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Requirement.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Requirement.cs @@ -396,7 +396,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr catch (Exception exc) { SetErrorState("Database query exception"); - SaLogger.Warn(GetType().Name + ".GetRequirement\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return prmRequirement; @@ -2149,7 +2149,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Requirement list. public override List GetRequirementList(SbmRequirement.Params prm) { - List Requirementes = new List(); + ClearErrorState(); + List requirements = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Requirement), aliasRequirement); Requirement_Db dbRequirement = new Requirement_Db(DbInfo); @@ -2170,16 +2171,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbRequirement = new Requirement_Db(DbInfo); dbRequirement.PopulateFrom(dbDataReader); - Requirementes.Add(CreateRequirement(dbRequirement)); + requirements.Add(CreateRequirement(dbRequirement)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetRequirementList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return Requirementes; + return requirements; } public override List GetRequirementsForTransaction(SysId transactionId) { diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Transaction.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Transaction.cs index 42d756a..80e5908 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Transaction.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Transaction.cs @@ -419,8 +419,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr } catch (Exception exc) { - SetErrorState("Database query errorState"); - SaLogger.Warn(GetType().Name + ".GetTransaction\n\tQuery: " + dbCommand.CommandText + "\n\tErrorState: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } return prmTransaction; @@ -1656,9 +1656,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr if (prm.TransactionType == Sbm.TransactionType.Project) earliestTransaction = new DateTime(today.Year - 3, 1, 1); filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Raised, tableAlias) + ">=" + DbQuery.FormatDateForCondition(earliestTransaction)); - if (DebugMode) SaLogger.Trace(GetType().Name + ".GetTransactionQueryFilter Including 'Archive' filter: " + filter.Concat(" AND ", "(", ")") + ""); + if (DebugMode) SaLogger.Trace($"{SysUtil.Fn} Including 'Archive' filter: {filter.Concat(" AND ", "(", ")")}"); } - //else if (DebugMode) SaLogger.Trace(GetType().Name + ".GetTransactionQueryFilter Excluding 'Archive' filter: " + filter.Concat(" AND ", "(", ")") + ""); + //else if (DebugMode) SaLogger.Trace($"{SysUtil.Fn} Excluding 'Archive' filter: {filter.Concat(" AND ", "(", ")")}"); //--------------------------------------------------------------- if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1"); @@ -1718,7 +1718,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr // Item list. public override List GetTransactionList(SbmTransaction.Params prm) { - List Transactiones = new List(); + ClearErrorState(); + List transactions = new List(); DbQuery qry = new DbQuery(db.DbmsType); qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Transaction), aliasTransaction); Transaction_Db dbTransaction = new Transaction_Db(DbInfo); @@ -1739,16 +1740,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { dbTransaction = new Transaction_Db(DbInfo); dbTransaction.PopulateFrom(dbDataReader); - Transactiones.Add(CreateTransaction(dbTransaction)); + transactions.Add(CreateTransaction(dbTransaction)); } } } catch (Exception exc) { - SaLogger.Warn(GetType().Name + ".GetTransactionList\n\tQuery: " + dbCommand.CommandText + "\n\tErrorState: " + exc.Message); + SetErrorState("Database query exception"); + SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}"); } } - return Transactiones; + return transactions; } //------------------------------------------------------------------- @@ -2148,7 +2150,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr if (maxTransactions > 0) { query.RowLimit = (uint)maxTransactions; - if (DebugMode) SaLogger.Trace(GetType().Name + ".ExecuteTransactionQuery Transactions query throttled at max rows: " + maxTransactions.ToString()); + if (DebugMode) SaLogger.Trace($"{SysUtil.Fn}Transactions query throttled at max rows: {maxTransactions.ToString()}"); } } diff --git a/SaBusMgrStandardDbas/Dbas/Utils/SbmDbDfnGenerator.cs b/SaBusMgrStandardDbas/Dbas/Utils/SbmDbDfnGenerator.cs index 3c81e1a..b734c0f 100644 --- a/SaBusMgrStandardDbas/Dbas/Utils/SbmDbDfnGenerator.cs +++ b/SaBusMgrStandardDbas/Dbas/Utils/SbmDbDfnGenerator.cs @@ -14,7 +14,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Utils { //------------------------------------------------------------------- // Data members. - //private static string messageBoxTitle = "BusinessMgr database definition generator"; + private static String className = nameof(SbmDbDfnGenerator); public enum DatabaseInstance { Control, @@ -27,8 +27,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Utils /// public static bool Generate(DatabaseInstance dbInstance, String connectionString) { - String fn = nameof(SbmDbDfnGenerator) + ".Generate"; - SaLogger.Info(fn + " Connection: " + connectionString); + String fn = className + ".Generate"; + SaLogger.Info($"{fn} Connection: {connectionString}"); // Locate output folder: String directory = GetOutputFolder(dbInstance); @@ -47,7 +47,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Utils } catch (Exception exc) { - SaLogger.Error(fn + " " + ExceptionUtil.GetErrorStateMessage(exc)); + SaLogger.Error($"{fn} {ExceptionUtil.GetLogMessage(exc, "generating database definition")}"); } return false; } @@ -98,31 +98,29 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Utils //------------------------------------------------------------------- private static String GetOutputFolder(DatabaseInstance dbInstance) { - String fn = nameof(SbmDbDfnGenerator) + ".GetOutputFolder"; + String fn = className + ".GetOutputFolder"; String assemblyDirectory = FileUtil.GetParentDirectory((Assembly.GetAssembly(typeof(DatabaseDefinitionGenerator)).Location)); String directory = assemblyDirectory; - SaLogger.Debug(fn + " Assembly folder: " + directory); + SaLogger.Debug($"{fn} Assembly folder: {directory}"); // Locate the parent of the 'Workspace' solution root folder. String projectFolder = "Workspace"; while (!String.IsNullOrEmpty(directory)) { - if (FileUtil.IsDirectory(directory + Path.DirectorySeparatorChar + projectFolder)) - { + if (FileUtil.IsDirectory(Path.Combine(directory, projectFolder))) break; - } directory = FileUtil.GetParentDirectory(directory); } if (String.IsNullOrEmpty(directory)) { - SaLogger.Error(fn + " Failed to find '" + projectFolder + "' solution root folder in assembly path:\n\t" + assemblyDirectory); + SaLogger.Error($"{fn} Failed to find '{projectFolder}' solution root folder in assembly path: {assemblyDirectory}"); return String.Empty; } - // Code files are generated to '..\Dbas\Generated\BusinessMgr\' folder. - directory += Path.DirectorySeparatorChar + "Database" + Path.DirectorySeparatorChar + "Generated" + Path.DirectorySeparatorChar + "BusMgr-" + dbInstance.ToString(); - SaLogger.Debug(fn + " Output folder: " + directory); + // Code files are generated to '..\Database\Generated\BusMgr-[instance]\' folder. + directory = Path.Combine(directory, "Database", "Generated", "BusMgr-" + dbInstance.ToString()); + SaLogger.Debug($"{fn} Output folder: {directory}"); if (!FileUtil.ValidateDirectory(directory, true)) { - SaLogger.Error(fn + " Output folder not found:\n\n" + directory); + SaLogger.Error($"{fn} Output folder not found: {directory}"); return String.Empty; } return directory; diff --git a/SaBusMgrStandardDbas/Dbas/Utils/SbmFileUtil.cs b/SaBusMgrStandardDbas/Dbas/Utils/SbmFileUtil.cs index 5050088..0961640 100644 --- a/SaBusMgrStandardDbas/Dbas/Utils/SbmFileUtil.cs +++ b/SaBusMgrStandardDbas/Dbas/Utils/SbmFileUtil.cs @@ -7,7 +7,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Utils { //======================================================================= /// - /// Static implementations of fucntions required by FileUtil. + /// Static implementations of functions required by FileUtil. /// public class SbmFileUtil { diff --git a/SaBusMgrStandardDbas/Resources/Database/SbmDbDfn.xml b/SaBusMgrStandardDbas/Resources/Database/SbmDbDfn.xml index c5becd8..3b8de37 100644 --- a/SaBusMgrStandardDbas/Resources/Database/SbmDbDfn.xml +++ b/SaBusMgrStandardDbas/Resources/Database/SbmDbDfn.xml @@ -1,4 +1,4 @@ - + diff --git a/SaBusMgrStandardDbas/Resources/Database/SbmDbDfn_Control.xml b/SaBusMgrStandardDbas/Resources/Database/SbmDbDfn_Control.xml index ef7527e..8b407b4 100644 --- a/SaBusMgrStandardDbas/Resources/Database/SbmDbDfn_Control.xml +++ b/SaBusMgrStandardDbas/Resources/Database/SbmDbDfn_Control.xml @@ -1,4 +1,4 @@ - + diff --git a/SaBusMgrTest_Portal/Test/Net/Core/Web/Portal/App/SbmSessionData_Portal_Test.cs b/SaBusMgrTest_Portal/Test/Net/Core/Web/Portal/App/SbmSessionData_Portal_Test.cs index 135a697..94306f5 100644 --- a/SaBusMgrTest_Portal/Test/Net/Core/Web/Portal/App/SbmSessionData_Portal_Test.cs +++ b/SaBusMgrTest_Portal/Test/Net/Core/Web/Portal/App/SbmSessionData_Portal_Test.cs @@ -91,7 +91,7 @@ namespace Sarand.BusinessMgr.Test.Net.Core.Web.Portal.App Assert.IsNotNull(sessionDataJson); // Deserialise data. - SbmSessionData_Portal sessionDataDeserialized = JsonConvert.DeserializeObject(sessionDataJson, SbmController_Base.SbmSessionDataJsonSerializerSettings); + SbmSessionData_Portal sessionDataDeserialized = JsonConvert.DeserializeObject(sessionDataJson, SbmController_Web.SbmSessionDataJsonSerializerSettings); Assert.IsNotNull(sessionDataDeserialized); // Validate deserialised data. diff --git a/SaBusinessMgrCoreWebControl/Control/App/SbmApplication_Control.cs b/SaBusinessMgrCoreWebControl/Control/App/SbmApplication_Control.cs index 60a20a8..4654011 100644 --- a/SaBusinessMgrCoreWebControl/Control/App/SbmApplication_Control.cs +++ b/SaBusinessMgrCoreWebControl/Control/App/SbmApplication_Control.cs @@ -60,7 +60,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Control.App } catch (Exception exc) { - SaLogger.Error(GetType().Name + ".CTR " + ExceptionUtil.GetErrorStateMessage(exc)); + SaLogger.Error($"{GetType().Name}.CTR {ExceptionUtil.GetErrorStateMessage(exc)}"); throw; } } @@ -107,7 +107,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Control.App /// Initialise environment - from internal (above) or unit tests. protected void InitEnvironment(IWebHostEnvironment env) { - String fn = GetType().Name + ".InitEnvironment"; Development = env.IsDevelopment(); environmentName = env.EnvironmentName; SaLogger.LogFilenamePrefix = "Sbm-Web-Adm"; @@ -144,7 +143,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Control.App } if (DirectoryUtil.DirectoryExists(LoggingRootFolder)) SaLogger.LogFolder = LoggingRootFolder; - LogApplicationStart(fn); + LogApplicationStart($"{SysUtil.Fn}"); // Control database connection. SacsDatabaseConsole.OdbcConfig odbcConfig = new SacsDatabaseConsole.OdbcConfig(); @@ -153,7 +152,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Control.App odbcConfig.pword = AppConfig.ControlDatabase.Password; controlDatabase = SacsDatabaseConsole.OpenOdbcDatabase(odbcConfig); if (controlDatabase.HasErrorState()) - SaLogger.Warn(fn + " Control Database initialisation error: " + controlDatabase.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Control Database initialisation error: " + controlDatabase.ErrorStateMessage); // Template database connection. if (AppConfig.TemplateDatabase != null) @@ -164,7 +163,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Control.App odbcConfig.pword = AppConfig.TemplateDatabase.Password; templateDatabase = SacsDatabaseConsole.OpenOdbcDatabase(odbcConfig); if (templateDatabase.HasErrorState()) - SaLogger.Warn(fn + " Template Database initialisation error: " + controlDatabase.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Template Database initialisation error: " + controlDatabase.ErrorStateMessage); } // BusinessMgr database connections. @@ -176,7 +175,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Control.App odbcConfig.pword = dbConfig.Password; SacsDatabase busMgrDatabase = SacsDatabaseConsole.OpenOdbcDatabase(odbcConfig); if (busMgrDatabase.HasErrorState()) - SaLogger.Warn(fn + " BusMgr Database: " + busMgrDatabase.DatabaseName + ". Initialisation error: " + busMgrDatabase.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} BusMgr Database: " + busMgrDatabase.DatabaseName + ". Initialisation error: " + busMgrDatabase.ErrorStateMessage); // Session context. ushort sessionContextIdx = sessionContextIdx_Next++; @@ -190,7 +189,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Control.App } catch (Exception exc) { - SaLogger.Error(fn + " " + ExceptionUtil.GetLogMessage(exc)); + SaLogger.Error($"{SysUtil.Fn} " + ExceptionUtil.GetLogMessage(exc)); } // Occasional startup processing. diff --git a/SaBusinessMgrCoreWebControl/Control/Controllers/HomeController.cs b/SaBusinessMgrCoreWebControl/Control/Controllers/HomeController.cs index 9e18759..3204cbc 100644 --- a/SaBusinessMgrCoreWebControl/Control/Controllers/HomeController.cs +++ b/SaBusinessMgrCoreWebControl/Control/Controllers/HomeController.cs @@ -28,13 +28,14 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Control.Controllers { // Home page. Model_Home model = new Model_Home(Localiser); - return View(); + return View(model); } //------------------------------------------------------------------- public IActionResult Privacy() { - return View(); + Model_Home model = new Model_Home(Localiser); + return View(model); } //------------------------------------------------------------------- diff --git a/SaBusinessMgrCoreWebControl/Control/Controllers/SbmController_Control.cs b/SaBusinessMgrCoreWebControl/Control/Controllers/SbmController_Control.cs index e38b7ea..34f5333 100644 --- a/SaBusinessMgrCoreWebControl/Control/Controllers/SbmController_Control.cs +++ b/SaBusinessMgrCoreWebControl/Control/Controllers/SbmController_Control.cs @@ -8,7 +8,7 @@ using System; namespace Sarand.BusinessMgr.Net.Core.Web.Control.Controllers { //====================================================================== - public class SbmController_Control : SbmController_Base + public class SbmController_Control : SbmController_Web { //------------------------------------------------------------------- // Data members. diff --git a/SaBusinessMgrCoreWebPortal/Portal/App/SbmApplication_Portal.cs b/SaBusinessMgrCoreWebPortal/Portal/App/SbmApplication_Portal.cs index 4ec46d9..eaa6812 100644 --- a/SaBusinessMgrCoreWebPortal/Portal/App/SbmApplication_Portal.cs +++ b/SaBusinessMgrCoreWebPortal/Portal/App/SbmApplication_Portal.cs @@ -54,7 +54,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.App } catch (Exception exc) { - SaLogger.Error(GetType().Name + ".CTR " + ExceptionUtil.GetErrorStateMessage(exc)); + SaLogger.Error($"{GetType().Name}.CTR {ExceptionUtil.GetErrorStateMessage(exc)}"); throw; } } @@ -101,7 +101,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.App /// Initialise environment - from internal (above) or unit tests. protected void InitEnvironment(IWebHostEnvironment env) { - String fn = GetType().Name + ".InitEnvironment"; Development = env.IsDevelopment(); environmentName = env.EnvironmentName; SaLogger.LogFilenamePrefix = "Sbm-Web-Onl"; @@ -138,16 +137,16 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.App } if (DirectoryUtil.DirectoryExists(LoggingRootFolder)) SaLogger.LogFolder = LoggingRootFolder; - LogApplicationStart(fn); + LogApplicationStart($"{SysUtil.Fn}"); - // Control database connection. - SacsDatabaseConsole.OdbcConfig odbcConfig = new SacsDatabaseConsole.OdbcConfig(); + // Control database connection. + SacsDatabaseConsole.OdbcConfig odbcConfig = new SacsDatabaseConsole.OdbcConfig(); odbcConfig.location = AppConfig.ControlDatabase.Location; odbcConfig.user = AppConfig.ControlDatabase.User; odbcConfig.pword = AppConfig.ControlDatabase.Password; controlDatabase = SacsDatabaseConsole.OpenOdbcDatabase(odbcConfig); if (controlDatabase.HasErrorState()) - SaLogger.Warn(fn + " Control Database initialisation error: " + controlDatabase.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Control Database initialisation error: " + controlDatabase.ErrorStateMessage); // Configure BusMgr database connections. foreach (SbmAppConfig.DatabaseConfig dbConfig in AppConfig.BusMgrDatabases) @@ -166,12 +165,12 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.App sessionContextData.DbIdentifiers.AddRange(dbConfig.Identifiers); sessionContexts.Add(sessionContextData.SessionContext.Index, sessionContextData); } - else SaLogger.Warn(fn + " Database: " + coreDatabase.DatabaseName + ". Initialisation error: " + coreDatabase.ErrorStateMessage); + else SaLogger.Warn($"{SysUtil.Fn} Database: " + coreDatabase.DatabaseName + ". Initialisation error: " + coreDatabase.ErrorStateMessage); } } catch (Exception exc) { - SaLogger.Error(fn + " " + ExceptionUtil.GetLogMessage(exc)); + SaLogger.Error($"{SysUtil.Fn} " + ExceptionUtil.GetLogMessage(exc)); } } diff --git a/SaBusinessMgrCoreWebPortal/Portal/Controllers/AssociationController-Ajax.cs b/SaBusinessMgrCoreWebPortal/Portal/Controllers/AssociationController-Ajax.cs index aebf310..968c875 100644 --- a/SaBusinessMgrCoreWebPortal/Portal/Controllers/AssociationController-Ajax.cs +++ b/SaBusinessMgrCoreWebPortal/Portal/Controllers/AssociationController-Ajax.cs @@ -99,7 +99,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers [Route("Association/Ajax/GetList")] public IActionResult Ajax_AssociationList(Model_Association model) { - String fn = GetType().Name + ".Ajax_AssociationList"; AjaxResponse_AssociationList responseData = new AjaxResponse_AssociationList(model); String messageTitle = Localiser["association.caption.associations"]; @@ -201,7 +200,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers [Route("Association/Ajax/GetItem")] public IActionResult Ajax_GetItem(Model_Association model) { - String fn = GetType().Name + ".Ajax_GetItem"; String messageTitle = Localiser["association.caption.association"]; AjaxResponse_Association responseData = new AjaxResponse_Association(model); @@ -219,7 +217,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers SbmAssociation association = AccountMgr.GetAssociationById(associationId); if (association == null) { - SaLogger.Warn(fn + " Failed to retrieve association for Id: '" + model.AssociationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve association for Id: '" + model.AssociationId + "'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } @@ -240,7 +238,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers [Route("Association/Ajax/StoreItem")] public IActionResult Ajax_StoreItem(Model_Association model) { - String fn = GetType().Name + ".Ajax_StoreItem"; String messageTitle = Localiser["association.caption.association"]; AjaxResponse_Association responseData = new AjaxResponse_Association(model); @@ -259,12 +256,12 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers bool associationExists = StringUtil.ToBool(model.AssociationExists); if (associationExists && !SysId.IsValid(associationId)) { - SaLogger.Warn(fn + " Id not specified for existing Association."); + SaLogger.Warn($"{SysUtil.Fn} Id not specified for existing Association."); return Json(responseData.SetGoHome(messageTitle, Localiser["msg.error.system"])); } if (!associationExists && SysId.IsValid(associationId)) { - SaLogger.Warn(fn + " Id specified for new Association: '" + model.AssociationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Id specified for new Association: '" + model.AssociationId + "'"); return Json(responseData.SetGoHome(messageTitle, Localiser["msg.error.system"])); } @@ -272,7 +269,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers SbmAssociation association = AccountMgr.GetAssociationById(associationId); if (association == null && SysId.IsValid(associationId)) { - SaLogger.Warn(fn + " Failed to retrieve association for Id: '" + model.AssociationId + "'"); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve association for Id: '" + model.AssociationId + "'"); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.id.not.found"])); } @@ -370,7 +367,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers { if (!AccountMgr.InsertAssociation(association, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to insert association: " + AccountMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to insert association: " + AccountMgr.ErrorStateMessage); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.insert.failed"] + "\n\n" + AccountMgr.ErrorStateMessage)); } responseData.SetNotification(messageTitle, Localiser["msg.item.created"]); @@ -379,7 +376,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers { if (!AccountMgr.UpdateAssociation(association, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to update association [Id:" + SysId.ToString(association.Id) + "]: " + AccountMgr.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to update association [Id:" + SysId.ToString(association.Id) + "]: " + AccountMgr.ErrorStateMessage); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.item.update.failed"] + "\n\n" + AccountMgr.ErrorStateMessage)); } responseData.SetNotification(messageTitle, Localiser["msg.item.updated"]); diff --git a/SaBusinessMgrCoreWebPortal/Portal/Controllers/AssociationController.cs b/SaBusinessMgrCoreWebPortal/Portal/Controllers/AssociationController.cs index 5a03059..8339e42 100644 --- a/SaBusinessMgrCoreWebPortal/Portal/Controllers/AssociationController.cs +++ b/SaBusinessMgrCoreWebPortal/Portal/Controllers/AssociationController.cs @@ -35,8 +35,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers [HttpGet] public IActionResult Index() { - String fn = GetType().Name + ".Index"; - if (!ValidUserSession) return RedirectToAction("", ""); diff --git a/SaBusinessMgrCoreWebPortal/Portal/Controllers/SbmController_Portal.cs b/SaBusinessMgrCoreWebPortal/Portal/Controllers/SbmController_Portal.cs index 49f633e..3914433 100644 --- a/SaBusinessMgrCoreWebPortal/Portal/Controllers/SbmController_Portal.cs +++ b/SaBusinessMgrCoreWebPortal/Portal/Controllers/SbmController_Portal.cs @@ -23,7 +23,7 @@ using static Sarand.BusinessMgr.Net.Standard.Base.App.Sbm.Config.Database; namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers { //======================================================================= - public class SbmController_Portal : SbmController_Base + public class SbmController_Portal : SbmController_Web { //------------------------------------------------------------------- // Data members. @@ -55,24 +55,22 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers /// protected bool SignUserIn(ISbmUserContext userContext, String dbIdentifier, SaSecurityItem securityItemUser, SbmAffiliate affiliateUser, List supervisedOrganisations, SbmAssociation associationOrganisation, SbmAffiliate affiliateOrganisation, bool keepLoggedIn, ref String errorMessage) { - String fn = GetType().Name + ".SignUserIn"; - // Validate Security Item and Affiliate, just in case - should have been done before arriving here! if (securityItemUser == null) { - SaLogger.Error(fn + " Unable to sign account in - null security item."); + SaLogger.Error($"{SysUtil.Fn} Unable to sign account in - null security item."); errorMessage = Localiser["security.msg.signin.invalid"]; return false; } if (affiliateUser == null) { - SaLogger.Error(fn + " Unable to sign account in - null affiliate."); + SaLogger.Error($"{SysUtil.Fn} Unable to sign account in - null affiliate."); errorMessage = Localiser["security.msg.signin.invalid"]; return false; } if (!affiliateUser.IsStatusCurrent) { - SaLogger.Error(fn + " Unable to sign account in - affiliate is not active. Email: " + securityItemUser.EmailAddress); + SaLogger.Error($"{SysUtil.Fn} Unable to sign account in - affiliate is not active. Email: {securityItemUser.EmailAddress}"); errorMessage = Localiser["security.msg.signin.invalid"]; return false; } @@ -80,19 +78,19 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers // Organisation. if (associationOrganisation == null) { - SaLogger.Error(fn + " Unable to sign account in - null organisation association."); + SaLogger.Error($"{SysUtil.Fn} Unable to sign account in - null organisation association."); errorMessage = Localiser["security.msg.signin.invalid"]; return false; } if (associationOrganisation.AssociationType != Sbm.AssociationType.Internal) { - SaLogger.Error(fn + " Unable to sign account in - organisation association is not type 'Internal'."); + SaLogger.Error($"{SysUtil.Fn} Unable to sign account in - organisation association is not type 'Internal'."); errorMessage = Localiser["security.msg.signin.invalid"]; return false; } if (affiliateOrganisation == null) { - SaLogger.Error(fn + " Unable to sign account in - null organisation affiliate."); + SaLogger.Error($"{SysUtil.Fn} Unable to sign account in - null organisation affiliate."); errorMessage = Localiser["security.msg.signin.invalid"]; return false; } @@ -109,7 +107,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers securityItemUser.LastInvalidLoginAt = DateTime.MinValue; if (!securityConsoleForUser.UpdateSecurityItem(securityItemUser, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to update security item for " + securityItemUser.EmailAddress + ": " + securityConsoleForUser.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to update security item for {securityItemUser.EmailAddress}: {securityConsoleForUser.ErrorStateMessage}"); errorMessage = Localiser["security.msg.signin.invalid"]; return false; } @@ -118,11 +116,11 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers affiliateUser.KeepLoggedIn_Portal = keepLoggedIn; if (!accountMgrForUser.UpdateAffiliate(affiliateUser, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to update affiliate for " + securityItemUser.EmailAddress + ": " + accountMgrForUser.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to update affiliate for {securityItemUser.EmailAddress}: {accountMgrForUser.ErrorStateMessage}"); errorMessage = Localiser["security.msg.signin.invalid"]; return false; } - SaLogger.Info(fn + " User session opened for " + securityItemUser.EmailAddress, true); + SaLogger.Info($"{SysUtil.Fn} User session opened for {securityItemUser.EmailAddress}", true); } // Create session. @@ -139,7 +137,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers /// Populate the user's profile contact details to the session. protected bool RefreshSessionProfileContact(SaSecurityItem securityItemUser, SbmAffiliate affiliateUser, List supervisedOrganisations, SbmAssociation associationOrganisation, SbmAffiliate affiliateOrganisation) { - String fn = GetType().Name + ".RefreshSessionProfileContact"; SbmSessionData_Portal sessionData = SessionData_Portal; SysId affiliateIdUser = sessionData?.User.AffiliateId ?? null; if (!SysId.IsValid(affiliateIdUser)) return false; @@ -180,7 +177,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers String keepLoggedInCookieValue = GenerateKeepLoggedInCookieValue(); int cookieExpiresDays = Math.Max(Sbm.Config.Security.SignIn.KeepLoggedIn.CookieExpiresDays_Min, Math.Min(Sbm.Config.Security.SignIn.KeepLoggedIn.CookieExpiresDays_Max, AppConfig.Security.SignIn.KeepLoggedIn.CookieExpiresDays)); SetResponseCookie(CookieName_KeepLoggedIn, keepLoggedInCookieValue, DateTime.Now.AddDays(cookieExpiresDays), true); - SaLogger.Info(this.GetType().Name + ".SetKeepLoggedInCookie 'Keep Logged In' cookie set. Value: " + keepLoggedInCookieValue); + SaLogger.Info($"{SysUtil.Fn} 'Keep Logged In' cookie set. Value: {keepLoggedInCookieValue}"); } /// Set the 'Keep Logged In' response cookie to expired with no data. @@ -189,7 +186,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers if (StringUtil.IsEmpty(GetRequestCookie(CookieName_KeepLoggedIn))) return; // Clear cookie by setting expiry date in the past. SetResponseCookie(CookieName_KeepLoggedIn, "", DateTime.Today.AddDays(-7), true); - SaLogger.Info(GetType().Name + ".ClearKeepLoggedInCookie 'Keep Logged In' cookie cleared."); + SaLogger.Info($"{SysUtil.Fn} 'Keep Logged In' cookie cleared."); } //------------------------------------------------------------------- @@ -269,7 +266,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers keepLoggedInParams.AffiliateIdUser = linkParams.Get(ParamName_KeepLoggedIn_AffiliateIdUser).ToSysId(); keepLoggedInParams.AssociationIdOrganisation = linkParams.Get(ParamName_KeepLoggedIn_AssociationIdOrganisation).ToSysId(); } - if (DebugMode) SaLogger.Info(GetType().Name + ".ExtractKeepLoggedInParams UserAccountId: " + SysId.ToString(keepLoggedInParams.AffiliateIdUser)); + if (DebugMode) SaLogger.Info($"{SysUtil.Fn} UserAccountId: {SysId.ToString(keepLoggedInParams.AffiliateIdUser)}"); return keepLoggedInParams; } diff --git a/SaBusinessMgrCoreWebPortal/Portal/Controllers/SecurityController-Ajax.cs b/SaBusinessMgrCoreWebPortal/Portal/Controllers/SecurityController-Ajax.cs index a1c1b8b..b7db734 100644 --- a/SaBusinessMgrCoreWebPortal/Portal/Controllers/SecurityController-Ajax.cs +++ b/SaBusinessMgrCoreWebPortal/Portal/Controllers/SecurityController-Ajax.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Mvc; +using NPOI.SS.Formula.Functions; using Sarand.BusinessMgr.Net.Core.Web.App; using Sarand.BusinessMgr.Net.Core.Web.Helpers; using Sarand.BusinessMgr.Net.Core.Web.Portal.Models; @@ -43,7 +44,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers [Route("Security/Ajax/Signin")] public IActionResult Ajax_Signin(Model_Security model) { - String fn = GetType().Name + ".Ajax_Signin"; AjaxResponse_Signin responseData = new AjaxResponse_Signin(model); String messageTitle = Localiser["label.signin"]; @@ -76,45 +76,51 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers // User's security item. SaSecurityItem securityItemUser = GetSecurityItemForSignin(securityConsoleForUser, model); + disposableItems.Add(securityItemUser); if (securityItemUser == null) { - SaLogger.Warn(fn + " Failed to retrieve Security Item. Database: " + busMgrDatabase.DatabaseName + ". Email: " + model.EmailAddress); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve Security Item. Database: {busMgrDatabase.DatabaseName}. Email: {model.EmailAddress}."); + continue; + } + if (!securityItemUser.PasswordMatches(model.Password)) + { + SaLogger.Warn($"{SysUtil.Fn} Supplied password doesn't match Security Item. Database: {busMgrDatabase.DatabaseName}. Email: {model.EmailAddress}."); continue; } - disposableItems.Add(securityItemUser); // User's affiliate. SbmAffiliate affiliateUser = GetAffiliateForSignin(accountMgrForUser, model, securityItemUser); + disposableItems.Add(affiliateUser); if (affiliateUser == null) { - SaLogger.Warn(fn + " Failed to retrieve Affiliate for signin. Database: " + busMgrDatabase.DatabaseName + ". UserId: " + SysId.ToString(securityItemUser.Id)); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve Affiliate for signin. Database: {busMgrDatabase.DatabaseName}. UserId: {SysId.ToString(securityItemUser.Id)}."); continue; } - disposableItems.Add(affiliateUser); // User's supervised organisations. List supervisedOrganisations = accountMgrForUser.GetAffiliatesSupervisedBy(affiliateUser.Id); if (supervisedOrganisations.IsEmpty()) { - SaLogger.Warn(fn + " User has no supervised organisations. Database: " + busMgrDatabase.DatabaseName + ". Email: " + model.EmailAddress); + SaLogger.Warn($"{SysUtil.Fn} User has no supervised organisations. Database: {busMgrDatabase.DatabaseName}. Email: {model.EmailAddress}."); continue; } + userContext.RefreshUser(securityItemUser, affiliateUser, supervisedOrganisations); // User's organisation association. - SbmAssociation associationOrganisation = GetOrganisationAssociationForSignIn(accountMgrForUser, model, affiliateUser, supervisedOrganisations); + SbmAssociation associationOrganisation = GetOrganisationAssociationForSignIn(accountMgrForUser, model, userContext); + disposableItems.Add(associationOrganisation); if (associationOrganisation == null) { - SaLogger.Warn(fn + " Failed to identify Organisation Association. Database: " + busMgrDatabase.DatabaseName + ". Email: " + model.EmailAddress); + SaLogger.Warn($"{SysUtil.Fn} Failed to identify Organisation Association. Database: {busMgrDatabase.DatabaseName}. Email: {model.EmailAddress}."); continue; } - disposableItems.Add(associationOrganisation); // User's organisation affiliate. - SbmAffiliate affiliateOrganisation = accountMgrForUser.GetAffiliateById(associationOrganisation?.Id ?? null); + SbmAffiliate affiliateOrganisation = accountMgrForUser.GetAffiliateById(associationOrganisation?.AffiliateIdOwner ?? null); disposableItems.Add(affiliateOrganisation); if (affiliateOrganisation == null) { - SaLogger.Warn(fn + " Failed to retrieve Affiliate for organisation. Database: " + busMgrDatabase.DatabaseName + ". Id: " + SysId.ToString(associationOrganisation?.Id ?? null)); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve Affiliate for organisation. Database: {busMgrDatabase.DatabaseName}. Id: " + SysId.ToString(associationOrganisation?.Id ?? null)); continue; } @@ -127,7 +133,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers } if (!(SessionData_Portal?.ValidUserSession ?? false)) { - SaLogger.Warn(fn + " Failed to identify Suitable database. Email: " + model.EmailAddress); + SaLogger.Warn($"{SysUtil.Fn} Failed to identify Suitable database. Email: {model.EmailAddress}."); return Json(responseData.SetControlError(nameof(model.EmailAddress), model.Localiser["security.msg.signin.invalid"])); } @@ -140,13 +146,11 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers //------------------------------------------------------------------- private SaSecurityItem GetSecurityItemForSignin(SaSecurityConsole securityConsoleForUser, Model_Security model) { - String fn = GetType().Name + ".GetSecurityItemForSignin"; - // Retrieve security item by email address. SaSecurityItem securityItemUser = securityConsoleForUser.GetUserByEmail(model.EmailAddress); if (securityItemUser == null) { - SaLogger.Warn(fn + " Failed to retrieve Security Item for email: " + model.EmailAddress, true); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve Security Item for email: {model.EmailAddress}.", true); return null; } @@ -157,8 +161,8 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers securityItemUser.InvalidLoginCount++; securityItemUser.LastInvalidLoginAt = DateTime.Now; if (!securityConsoleForUser.UpdateSecurityItem(securityItemUser, DbUpdateInfo)) - SaLogger.Warn(fn + " Failed to store invalid sign-in attempt against User: " + model.EmailAddress + ". " + AccountMgr.ErrorStateMessage, true); - SaLogger.Warn(fn + " Attempt to sign-in to User " + model.EmailAddress + " with invalid password. Attempt: " + securityItemUser.InvalidLoginCount, true); + SaLogger.Warn($"{SysUtil.Fn} Failed to store invalid sign-in attempt against User: {model.EmailAddress}. {AccountMgr.ErrorStateMessage}", true); + SaLogger.Warn($"{SysUtil.Fn} Attempt to sign-in to User {model.EmailAddress} with invalid password. Attempt: {securityItemUser.InvalidLoginCount}.", true); securityItemUser.Dispose(); securityItemUser = null; return null; } @@ -169,8 +173,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers //------------------------------------------------------------------- private SbmAffiliate GetAffiliateForSignin(SbmAccountMgr accountMgrForUser, Model_Security model, SaSecurityItem securityItemUser) { - String fn = GetType().Name + ".GetAffiliateForSignin"; - // Identify the contact asociated with the security item. SbmAffiliate.Params prmAffiliate = new SbmAffiliate.Params(); prmAffiliate.UserId = securityItemUser.Id; @@ -179,14 +181,14 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers if (affiliate == null) { - SaLogger.Warn(fn + " Failed to retrieve Affiliate for User Id: " + SysId.ToString(securityItemUser.Id) + ". Email: " + model.EmailAddress, true); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve Affiliate for User Id: {SysId.ToString(securityItemUser.Id)}. Email: {model.EmailAddress}.", true); return null; } // Validate status. if (affiliate.Status != SaStatus.Current) { - SaLogger.Warn(fn + " Invalid Affiliate status for User Id: " + SysId.ToString(securityItemUser.Id) + ". Email: " + model.EmailAddress + ". Found: " + affiliate.Status.ToString() + ". Expected: Current.", true); + SaLogger.Warn($"{SysUtil.Fn} Invalid Affiliate status for User Id: {SysId.ToString(securityItemUser.Id)}. Email: {model.EmailAddress}. Found: {affiliate.Status.ToString()}. Expected: Current.", true); affiliate.Dispose(); affiliate = null; return null; } @@ -195,21 +197,46 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers } //------------------------------------------------------------------- - private SbmAssociation GetOrganisationAssociationForSignIn(SbmAccountMgr accountMgrForUser, Model_Security model, SbmAffiliate affiliateUser, List supervisedOrganisations) + /// + /// Identify the organisation for the user to login to - either last selected (via SysParam) or first in list. + /// + private SbmAssociation GetOrganisationAssociationForSignIn(SbmAccountMgr accountMgrForUser, Model_Security model, SbmUserContext userContext) { - String fn = GetType().Name + ".GetOrganisationAssociationForSignIn"; - foreach (SysIdString supervisedOrganisation in supervisedOrganisations) + // Previously selected organisation is stored in user params (SysParam table). + SbmSysParamCache sysParamCache = new SbmSysParamCache(userContext); + SysId affiliateIdOrganisation = StringUtil.ToSysId(sysParamCache.GetUserParamValue(SbmSysParamCache.ParamName_SelectedCompany)); + SbmAssociation associationOrganisation = null; + foreach (SysIdString supervisedOrganisation in userContext.User.SupervisedOrganisations) { - SbmAssociation associationOrganisation = accountMgrForUser.GetAssociationByOwnerTypeTarget(supervisedOrganisation.Id, Sbm.AssociationType.Internal, supervisedOrganisation.Id); - if (associationOrganisation == null) + SbmAssociation associationOrganisationCandidate = accountMgrForUser.GetAssociationByOwnerTypeTarget(supervisedOrganisation.Id, Sbm.AssociationType.Internal, supervisedOrganisation.Id); + if (associationOrganisationCandidate == null) { - SaLogger.Warn(fn + " Failed to retrieve internal association for affiliate Id: " + SysId.ToString(supervisedOrganisation.Id)); + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve internal association for affiliate Id: {SysId.ToString(supervisedOrganisation.Id)}."); continue; } - return associationOrganisation; + if (associationOrganisationCandidate.AffiliateIdOwner.Equals(affiliateIdOrganisation)) + { + // Previously selected organisation. + associationOrganisation = associationOrganisationCandidate; + break; + } + if (associationOrganisation == null) + // Make a note of the first organisation in case none selected. + associationOrganisation = associationOrganisationCandidate; } - SaLogger.Warn(fn + " Failed to retrieve any internal associations for supervised organisations. Email: " + model.EmailAddress); - return null; + if (associationOrganisation != null) + { + // Make a note of the selection. + sysParamCache.SetUserParamValue(SbmSysParamCache.ParamName_SelectedCompany, SysId.ToString(associationOrganisation.AffiliateIdOwner)); + } + else + SaLogger.Warn($"{SysUtil.Fn} Failed to retrieve any internal associations for supervised organisations. Email: {model.EmailAddress}."); + if (sysParamCache.Modified) + { + sysParamCache.Store(); + SaLogger.Info($"{SysUtil.Fn} User params stored."); + } + return associationOrganisation; } //------------------------------------------------------------------- @@ -223,7 +250,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers [Route("Security/Ajax/KeepLoggedIn")] public ActionResult Ajax_KeepLoggedIn(Model_Security model) { - String fn = GetType().Name + ".Ajax_KeepLoggedIn"; AjaxResponse_KeepLoggedIn responseData = new AjaxResponse_KeepLoggedIn(); // Validate session and referrer. @@ -258,7 +284,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers [Route("Security/Ajax/SignOut")] public ActionResult Ajax_SignOut(Model_Security model) { - String fn = GetType().Name + ".Ajax_SignOut"; AjaxResponse_SignOut responseData = new AjaxResponse_SignOut(model); String messageTitle = Localiser["label.signout"]; @@ -272,14 +297,14 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers SbmAffiliate affiliateUser = AccountMgr.GetAffiliateById(SessionData_Portal.User.AffiliateId); if (affiliateUser == null) { - SaLogger.Warn(fn + " System error - failed to retrieve account details."); + SaLogger.Warn($"{SysUtil.Fn} System error - failed to retrieve account details."); return Json(responseData.SetMessage(messageTitle, Localiser["msg.error.system"])); } // Clear user session. String emailAddress = SessionData.User.EmailAddress; CloseUserSession(); - SaLogger.Info(fn + " User session closed for " + emailAddress, true); + SaLogger.Info($"{SysUtil.Fn} User session closed for {emailAddress}.", true); // Clear 'Keep Logged In' cookie. ClearKeepLoggedInCookie(); @@ -329,7 +354,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers [Route("Security/Ajax/StorePassword")] public ActionResult Ajax_StorePassword(Model_Security model) { - String fn = GetType().Name + ".Ajax_StorePassword"; AjaxResponse_ChangePassword responseData = new AjaxResponse_ChangePassword(model); String messageTitle = Localiser["security.caption.change.password"]; @@ -372,7 +396,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers } else { - SaLogger.Warn(fn + " 'Request Password' parameters supplied but invalid. Email: " + requestPasswordParams.EmailAddress + ". SecurityItemId: " + SysId.ToString(requestPasswordParams.SecurityItemId) + ". AffiliateId: " + SysId.ToString(requestPasswordParams.AffiliateId)); + SaLogger.Warn($"{SysUtil.Fn} 'Request Password' parameters supplied but invalid. Email: {requestPasswordParams.EmailAddress}. SecurityItemId: {SysId.ToString(requestPasswordParams.SecurityItemId)}. AffiliateId: {SysId.ToString(requestPasswordParams.AffiliateId)}."); if (securityItemUser != null) securityItemUser.Dispose(); securityItemUser = null; if (affiliateUser != null) affiliateUser.Dispose(); affiliateUser = null; sessionContextForUser = null; @@ -432,10 +456,10 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers securityItemUser.PasswordHistory.RemoveAt(securityItemUser.PasswordHistory.Count - 1); if (!securityConsole.UpdateSecurityItem(securityItemUser, DbUpdateInfo)) { - SaLogger.Warn(fn + " Failed to change password for " + securityItemUser.EmailAddress + ": " + securityConsole.ErrorStateMessage); + SaLogger.Warn($"{SysUtil.Fn} Failed to change password for {securityItemUser.EmailAddress}: {securityConsole.ErrorStateMessage}"); return Json(responseData.SetControlError(nameof(model.Password), Localiser["security.msg.change.password.failed"])); } - SaLogger.Info(fn + " Password changed for " + securityItemUser.EmailAddress, true); + SaLogger.Info($"{SysUtil.Fn} Password changed for {securityItemUser.EmailAddress}.", true); } // Cleanup. NB The Security Item and/or Affiliate aren't disposed when the method @@ -468,7 +492,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers [Route("Security/Ajax/RequestPassword")] public ActionResult Ajax_RequestPassword(Model_Security model) { - String fn = GetType().Name + ".Ajax_RequestPassword"; AjaxResponse_RequestPassword responseData = new AjaxResponse_RequestPassword(model); String messageTitle = Localiser["security.caption.request.password"]; @@ -510,16 +533,16 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers emailData.Subject = Localiser["security.caption.request.password"]; PopulateRequestPasswordEmailBody(emailConsole, userContext, emailData, securityItemUser, affiliateUser); if (emailConsole.SendEmail(emailData)) - SaLogger.Info(fn + " Password request email sent to " + model.EmailAddress, true); - else SaLogger.Warn(fn + " Failed to send password request email to " + model.EmailAddress); + SaLogger.Info($"{SysUtil.Fn} Password request email sent to {model.EmailAddress}.", true); + else SaLogger.Warn($"{SysUtil.Fn} Failed to send password request email to {model.EmailAddress}."); } - else SaLogger.Warn(fn + " Unable to send password request email to " + model.EmailAddress + " - affiliate is not active"); + else SaLogger.Warn($"{SysUtil.Fn} Unable to send password request email to {model.EmailAddress} - affiliate is not active"); } - else SaLogger.Warn(fn + " Unable to send password request email to " + model.EmailAddress + " - affiliate does not exist. UserId: " + SysId.ToString(securityItemUser.Id)); + else SaLogger.Warn($"{SysUtil.Fn} Unable to send password request email to {model.EmailAddress} - affiliate does not exist. UserId: {SysId.ToString(securityItemUser.Id)}."); } } } - else SaLogger.Warn(fn + " Unable to send password request email to " + model.EmailAddress + " - security item does not exist."); + else SaLogger.Warn($"{SysUtil.Fn} Unable to send password request email to {model.EmailAddress} - security item does not exist."); } } } @@ -591,17 +614,17 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers { List values = new List(); if (!StringUtil.IsBlank(DbIdentifier)) - values.Add("DbIdentifier: " + DbIdentifier); + values.Add($"DbIdentifier: {DbIdentifier}"); if (!StringUtil.IsBlank(EmailAddress)) - values.Add("Email: " + EmailAddress); + values.Add($"Email: {EmailAddress}"); if (SysId.IsValid(SecurityItemId)) - values.Add("SecurityItemId: " + SysId.ToString(SecurityItemId)); + values.Add($"SecurityItemId: {SysId.ToString(SecurityItemId)}"); if (SysId.IsValid(AffiliateId)) - values.Add("AffiliateId: " + SysId.ToString(AffiliateId)); + values.Add($"AffiliateId: {SysId.ToString(AffiliateId)}"); if (DateUtil.IsValid(ExpiresAt)) - values.Add("Expires: " + DateUtil.FormatXmlDateTime(ExpiresAt)); + values.Add($"Expires: {DateUtil.FormatXmlDateTime(ExpiresAt)}"); if (!StringUtil.IsBlank(Token)) - values.Add("Token: " + Token); + values.Add($"Token: {Token}"); return values; } /// Verifiy that the email and account Ids are populated and the data hasn't expired. diff --git a/SaBusinessMgrCoreWebPortal/Portal/Controllers/SecurityController.cs b/SaBusinessMgrCoreWebPortal/Portal/Controllers/SecurityController.cs index 7a35825..b2e4fc4 100644 --- a/SaBusinessMgrCoreWebPortal/Portal/Controllers/SecurityController.cs +++ b/SaBusinessMgrCoreWebPortal/Portal/Controllers/SecurityController.cs @@ -63,7 +63,6 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers [HttpGet, HttpPost] public IActionResult ChangePassword(Model_Security model) { - String fn = GetType().Name + ".ChangePassword"; bool validSessionRequired = true; if (Request.Method.EqualsCI(HttpMethods.Get)) @@ -74,7 +73,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Controllers RequestPasswordParams requestPasswordParams = ExtractRequestPasswordLinkParams(encryptedParams); if (requestPasswordParams.IsValid()) { - String logPrefix = fn + " 'Request Password' parameters supplied but "; + String logPrefix = $"{SysUtil.Fn} 'Request Password' parameters supplied but "; String logSuffix = requestPasswordParams.GetValidParams().Concat("", " ", "."); // User may be defined on any one of the BusinessMgr databases - need to find out which. // Identify session contexts with a BusMgr database that hosts the specified email address. diff --git a/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Association.cs b/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Association.cs index d1493fc..df1fef7 100644 --- a/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Association.cs +++ b/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Association.cs @@ -102,7 +102,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Models // Validation. //------------------------------------------------------------------- // Association validation. - public bool ValidateAssociationData(SbmController_Base.AjaxResponse_Data responseData) + public bool ValidateAssociationData(SbmController_Web.AjaxResponse_Data responseData) { //--------------------------------------------------------------- diff --git a/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Commodity.cs b/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Commodity.cs index 2b65dd3..0d09d32 100644 --- a/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Commodity.cs +++ b/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Commodity.cs @@ -58,7 +58,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Models // Validation. //------------------------------------------------------------------- // Commodity validation. - public bool ValidateCommodityData(SbmController_Base.AjaxResponse_Data responseData) + public bool ValidateCommodityData(SbmController_Web.AjaxResponse_Data responseData) { // Commodity Type. if (CommodityType != null) diff --git a/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Contact.cs b/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Contact.cs index 12e33d9..28988cb 100644 --- a/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Contact.cs +++ b/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Contact.cs @@ -66,7 +66,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Models // Validation. //------------------------------------------------------------------- // Affiliate validation. - public bool ValidateAffiliateData(SbmController_Base.AjaxResponse_Data responseData) + public bool ValidateAffiliateData(SbmController_Web.AjaxResponse_Data responseData) { // Affiliate Type. if (ContactType != null) diff --git a/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Security.cs b/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Security.cs index f06a6b1..87d581f 100644 --- a/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Security.cs +++ b/SaBusinessMgrCoreWebPortal/Portal/Models/Model_Security.cs @@ -44,7 +44,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Models // Validation. //------------------------------------------------------------------- // Sign-in. - public bool ValidateSignInData(SbmController_Base.AjaxResponse_Data responseData) + public bool ValidateSignInData(SbmController_Web.AjaxResponse_Data responseData) { { // Database context. @@ -77,7 +77,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Models //------------------------------------------------------------------- // Change password. - public bool ValidateChangePasswordData(SaSecurityItem securityItemUser, SbmAffiliate affiliateUser, SbmController_Base.AjaxResponse_Data responseData) + public bool ValidateChangePasswordData(SaSecurityItem securityItemUser, SbmAffiliate affiliateUser, SbmController_Web.AjaxResponse_Data responseData) { // Validate Passwords. // NB Do not return the password values in the response. @@ -110,7 +110,7 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Models //------------------------------------------------------------------- // Request Password. - public bool ValidateRequestPasswordData(SbmController_Base.AjaxResponse_Data responseData) + public bool ValidateRequestPasswordData(SbmController_Web.AjaxResponse_Data responseData) { { // Database context. diff --git a/SaBusinessMgrCoreWebPortal/Portal/Models/SbmModel_Portal.cs b/SaBusinessMgrCoreWebPortal/Portal/Models/SbmModel_Portal.cs index aeb7642..83e4ab4 100644 --- a/SaBusinessMgrCoreWebPortal/Portal/Models/SbmModel_Portal.cs +++ b/SaBusinessMgrCoreWebPortal/Portal/Models/SbmModel_Portal.cs @@ -17,6 +17,10 @@ namespace Sarand.BusinessMgr.Net.Core.Web.Portal.Models { } + //------------------------------------------------------------------- + // Properties. + public String OrganisationName { get { return SessionData?.Organisation?.DisplayName ?? ""; } } + //------------------------------------------------------------------- } //======================================================================= diff --git a/SaBusinessMgrCoreWebPortal/Views/Security/Signin.cshtml b/SaBusinessMgrCoreWebPortal/Views/Security/Signin.cshtml index 8b43858..6ed7d6f 100644 --- a/SaBusinessMgrCoreWebPortal/Views/Security/Signin.cshtml +++ b/SaBusinessMgrCoreWebPortal/Views/Security/Signin.cshtml @@ -16,7 +16,7 @@ @using (@Html.BeginForm(FormMethod.Post, new { @id = "frmSignIn", @class = "sbm-form" })) { -
+
@@ -27,7 +27,7 @@
-
+
@@ -38,7 +38,7 @@
-
+
@@ -53,7 +53,7 @@
-
+
@@ -67,7 +67,7 @@
-
+
@Localiser["label.signin"]
diff --git a/SaBusinessMgrCoreWebPortal/Views/Shared/_Layout.cshtml b/SaBusinessMgrCoreWebPortal/Views/Shared/_Layout.cshtml index 5c73036..c14c454 100644 --- a/SaBusinessMgrCoreWebPortal/Views/Shared/_Layout.cshtml +++ b/SaBusinessMgrCoreWebPortal/Views/Shared/_Layout.cshtml @@ -60,7 +60,7 @@ sbm.url.home = '@Model.RedirectLocation.Home'; sbm.url.sessionExpired = '@Model.RedirectLocation.Home_SessionExpired'; sbm.form.calendarDateFormat = '@(Model.CalendarDateFormat)'; - sbm.lbl.calendar='@Localiser.GetJavascriptText("label.calendar")'; + sbm.lbl.calendar = '@Localiser.GetJavascriptText("label.calendar")'; sbm.dlg.title.alert = '@Localiser.GetJavascriptText("dialog.title.alert")'; sbm.dlg.title.confirm = '@Localiser.GetJavascriptText("dialog.title.confirm")'; sbm.dlg.title.progress = '@Localiser.GetJavascriptText("dialog.title.progress")'; @@ -80,7 +80,7 @@ sbm.msg.dataRefreshing = '@Localiser.GetJavascriptText("msg.data.refreshing")'; sbm.msg.dataQuerying = '@Localiser.GetJavascriptText("msg.data.querying")'; sbm.msg.dataNoneFound = '@Localiser.GetJavascriptText("msg.data.noneFound")'; - sbm.maxProfileImageSize = 2*10**6; + sbm.maxProfileImageSize = 2 * 10 ** 6; sbm.sessionCookieName = '@Model.SessionCookieName'; sbm.awaitingLogin = @awaitingLogin; sbm.keepLoggedIn = @keepLoggedIn; @@ -152,7 +152,10 @@ @* Footer *@