diff --git a/SacsStandardAccounts/Accounts/QuickBooks/Online/SaQuickBooksApiConsole_Online.cs b/SacsStandardAccounts/Accounts/QuickBooks/Online/SaQuickBooksApiConsole_Online.cs
index 80b88f4..c6a7b93 100644
--- a/SacsStandardAccounts/Accounts/QuickBooks/Online/SaQuickBooksApiConsole_Online.cs
+++ b/SacsStandardAccounts/Accounts/QuickBooks/Online/SaQuickBooksApiConsole_Online.cs
@@ -13,6 +13,9 @@ namespace Sarand.Net.Standard.Accounts.QuickBooks.Online
//-------------------------------------------------------------------
// D e f i n i t i o n s
//-------------------------------------------------------------------
+
+#pragma warning disable 0414
+
// Keys.
// Sarand Sandbox company:
// CompanyId 193514292338962
@@ -75,6 +78,8 @@ namespace Sarand.Net.Standard.Accounts.QuickBooks.Online
private static String kpcACCEPTENCODING = "Accept-Encoding"; // The Compression format of the response data.
private static String kpcUSERAGENT = "V3PHPSDK2.4.1"; // The Request source header value.
+#pragma warning restore 0414
+
//-------------------------------------------------------------------
// Data members.
diff --git a/SacsStandardBase/Base/CodeTypes/SaCodeTypeConsole.cs b/SacsStandardBase/Base/CodeTypes/SaCodeTypeConsole.cs
index 2f3740f..2c7f7e1 100644
--- a/SacsStandardBase/Base/CodeTypes/SaCodeTypeConsole.cs
+++ b/SacsStandardBase/Base/CodeTypes/SaCodeTypeConsole.cs
@@ -164,8 +164,8 @@ namespace Sarand.Net.Standard.Base.CodeTypes
public abstract int GetCodeCount(SaCode.Params prmCode);
public abstract SaCode GetCode(SaCode.Params prmCode);
/// Get filtered code type codes, indexed by Code Type code.
- public abstract Dictionary> GetCodesByCodeType(SaCode.Params prmCode);
- public abstract Task>> GetCodesByCodeTypeAsync(SaCode.Params prmCode);
+ public abstract Dictionary> GetCodes(SaCode.Params prmCode);
+ public abstract Task>> GetCodesAsync(SaCode.Params prmCode);
/// Get filtered codes and descriptions, indexed by Code Type code.
public abstract Dictionary> GetCodeDescsByCodeType(SaCode.Params prmCode);
// Code updates.
diff --git a/SacsStandardBase/Base/Dbas/DbQuery.cs b/SacsStandardBase/Base/Dbas/DbQuery.cs
index c29d8bf..523f38a 100644
--- a/SacsStandardBase/Base/Dbas/DbQuery.cs
+++ b/SacsStandardBase/Base/Dbas/DbQuery.cs
@@ -15,6 +15,7 @@ namespace Sarand.Net.Standard.Base.Dbas
LeftOuter,
RightOuter,
FullOuter,
+ OuterApply,
Cross,
}
public enum DbOrderByNullMode
@@ -87,6 +88,7 @@ namespace Sarand.Net.Standard.Base.Dbas
case DbJoinType.LeftOuter: return (DbGlobalDbms.Type == DbmsType.Sage ? "LEFT JOIN" : "LEFT OUTER JOIN");
case DbJoinType.RightOuter: return (DbGlobalDbms.Type == DbmsType.Sage ? "RIGHT JOIN" : "RIGHT OUTER JOIN");
case DbJoinType.FullOuter: return (DbGlobalDbms.Type == DbmsType.Sage ? "FULL JOIN" : "FULL OUTER JOIN");
+ case DbJoinType.OuterApply: return ("OUTER APPLY");
case DbJoinType.Cross: return "CROSS JOIN";
case DbJoinType.Inner:
default: return "INNER JOIN";
@@ -134,10 +136,11 @@ namespace Sarand.Net.Standard.Base.Dbas
foreach (var subJoin in SubJoins)
{
// Add another bracket in front of the table:
- joinTable = "(" + joinTable;
+ joinTable = $"({joinTable}";
// Add the sub join.
- subJoinData += subJoin.BuildJoin("") + ")";
+ subJoinData += $"{subJoin.BuildJoin("")})";
}
+ //---------------------------------------------------------------
// Build this join's list of filter conditions.
// Take care not to add too many embedded brackets - confuses Access etc.
// [Original version: lFilter.Concat (" AND ", "(", ")", true, true)].
@@ -149,36 +152,39 @@ namespace Sarand.Net.Standard.Base.Dbas
if (filterClause.IsEmpty()) continue;
// Embed the clause in brackets if it contains at least one 'OR' operator.
if (filterClause.IndexOf(" OR ", StringComparison.OrdinalIgnoreCase) >= 0)
- filterClause = "(" + filterClause + ")";
+ filterClause = $"({filterClause})";
filter += (!filter.IsEmpty() ? " AND " : "") + filterClause;
}
// Surround the entire filter in brackets (if not already done).
- if (filter.FindMatchingBrace(0) != filter.Length)
- filter = "(" + filter + ")";
+ if (!StringUtil.IsBlank(filter) && filter.FindMatchingBrace(0) != filter.Length)
+ filter = $"({filter})";
+ //---------------------------------------------------------------
// Build the join.
if (enclosedJoin.IsEmpty() && subJoinData.IsEmpty())
{
- //-----------------------------------------------------------
// Simple join syntax.
// ON
- joinData = joinType + " " + joinTable + " ON " + filter;
- //-----------------------------------------------------------
+ joinData = $"{joinType} {joinTable}";
}
else
{
- //-----------------------------------------------------------
// More complex join syntax - nested joins.
// ( ) ON
- //-----------------------------------------------------------
// Bracket the table, enclosing any enclosed or subordinate joins.
- joinData = joinType + " (" + joinTable;
+ joinData = $"{joinType} ({joinTable}";
if (!subJoinData.IsEmpty())
- joinData += " " + subJoinData;
+ joinData += $" {subJoinData}";
if (!enclosedJoin.IsEmpty())
- joinData += " " + enclosedJoin;
- joinData += ") ON " + filter;
- //-----------------------------------------------------------
+ joinData += $" {enclosedJoin}";
+ joinData += ")";
}
+ //---------------------------------------------------------------
+ // Add the join filter.
+ if (Type != DbJoinType.OuterApply)
+ joinData += $" ON {filter}";
+ else if (!StringUtil.IsBlank(filter))
+ SaLogger.Warn($"{SysUtil.Fn} Filter found on 'Outer Apply' join: '{filter}'.");
+ //---------------------------------------------------------------
return joinData;
}
@@ -187,13 +193,13 @@ namespace Sarand.Net.Standard.Base.Dbas
public void Dump()
{
SaLogger.Debug($"{SysUtil.Fn}");
- SaLogger.Debug("\tType = " + GetJoinType(Type));
- SaLogger.Debug("\tTable = " + Table.Concat(" AS "));
- SaLogger.Debug("\tFilters = " + Filters.Concat("", "\t\t", "\n"));
+ SaLogger.Debug($"\tType = {GetJoinType(Type)}");
+ SaLogger.Debug($"\tTable = {Table.Concat(" AS ")}");
+ SaLogger.Debug($"\tFilters = {Filters.Concat("", "\t\t", "\n")}");
if (SubJoins.Count > 0)
{
}
- SaLogger.Debug("\tJoin = " + BuildJoin(""));
+ SaLogger.Debug($"\tJoin = {BuildJoin("")}");
}
//-------------------------------------------------------------------
@@ -229,8 +235,8 @@ namespace Sarand.Net.Standard.Base.Dbas
foreach (var join in joins)
{
// Add the next join in the list.
- if (++joinCount > 1 && !joinData.IsEmpty()) joinData = "(" + joinData + ")";
- joinData = joinData + " " + join.BuildJoin("");
+ if (++joinCount > 1 && !joinData.IsEmpty()) joinData = $"({joinData})";
+ joinData = $"{joinData} {join.BuildJoin("")}";
joinData.Trim();
}
}
@@ -247,7 +253,7 @@ namespace Sarand.Net.Standard.Base.Dbas
joinData = join.BuildJoin(joinData);
joinData.Trim();
}
- joinData = primaryTable + " " + joinData;
+ joinData = $"{primaryTable} {joinData}";
}
}
return joinData;
@@ -342,14 +348,14 @@ namespace Sarand.Net.Standard.Base.Dbas
if (!rawValue.IsEmpty() || !ignoreBlanks)
{
if (stringData)
- value = "'" + FormatForCondition(value) + "'";
+ value = $"'{FormatForCondition(value)}'";
else value.Trim(); // Non string data can be cleansed.
values.Add(value);
}
}
values.RemoveDuplicatesCI();
if (values.Count > 0)
- result = "(" + values.Concat(",") + ")";
+ result = $"({values.Concat(",")})";
return result;
}
@@ -412,7 +418,7 @@ namespace Sarand.Net.Standard.Base.Dbas
{
// Surround the expression in brackets if not present.
if (expression.Left(1) != "(")
- expression = "(" + expression + ")";
+ expression = $"({expression})";
// Logic to include or exclude null values.
if (excludeNulls)
{
@@ -443,7 +449,7 @@ namespace Sarand.Net.Standard.Base.Dbas
{
// Surround the expression in brackets if not present.
if (expression.Left(1) != "(")
- expression = "(" + expression + ")";
+ expression = $"({expression})";
// Logic to promote null values to start of sequence or demote null values to the end of the sequence.
String nullsClause = String.Empty;
if (nullMode == DbOrderByNullMode.PromoteNulls || nullMode == DbOrderByNullMode.DatePromoteNulls)
@@ -452,15 +458,15 @@ namespace Sarand.Net.Standard.Base.Dbas
{
// Treat NULLs before other values.
List nullsFilters = new List();
- nullsFilters.Add(expression + " IS NULL");
+ nullsFilters.Add($"{expression} IS NULL");
if (treatZeroAsNull)
- nullsFilters.Add(expression + "=0");
+ nullsFilters.Add($"{expression}=0");
if (nullMode == DbOrderByNullMode.DatePromoteNulls)
- nullsFilters.Add(expression + "<=" + FormatDateForCondition(NullDate));
- nullsClause = "(CASE WHEN " + nullsFilters.Concat(" OR ", "(", ")") + " THEN 0 ELSE 1 END)";
+ nullsFilters.Add($"{expression}<={FormatDateForCondition(NullDate)}");
+ nullsClause = $"(CASE WHEN {nullsFilters.Concat(" OR ", "(", ")")} THEN 0 ELSE 1 END)";
}
else
- nullsClause = expression + " IS NULL";
+ nullsClause = $"{expression} IS NULL";
}
else if (nullMode == DbOrderByNullMode.DemoteNulls || nullMode == DbOrderByNullMode.DateDemoteNulls)
{
@@ -472,15 +478,15 @@ namespace Sarand.Net.Standard.Base.Dbas
if (treatZeroAsNull)
nullsFilters.Add(expression + "=0");
if (nullMode == DbOrderByNullMode.DateDemoteNulls)
- nullsFilters.Add(expression + "<=" + FormatDateForCondition(NullDate));
- nullsClause = "(CASE WHEN " + nullsFilters.Concat(" OR ", "(", ")") + " THEN 1 ELSE 0 END)";
+ nullsFilters.Add($"{expression}<={FormatDateForCondition(NullDate)}");
+ nullsClause = $"(CASE WHEN {nullsFilters.Concat(" OR ", "(", ")")} THEN 1 ELSE 0 END)";
}
else
- nullsClause = expression + " IS NOT NULL";
+ nullsClause = $"{expression} IS NOT NULL";
}
if (!nullsClause.IsEmpty()) orderBy.Add(nullsClause);
// Main clause for this expression.
- orderBy.Add(expression + " " + (ascending ? "ASC" : "DESC"));
+ orderBy.Add($"{expression} {(ascending ? "ASC" : "DESC")}");
}
return orderBy;
}
@@ -617,7 +623,7 @@ namespace Sarand.Net.Standard.Base.Dbas
}
if (interval.IsEmpty()) return "''";
}
- return "DateDiff(" + interval + "," + column1 + "," + column2 + ")";
+ return $"DateDiff({interval},{column1},{column2})";
}
//-------------------------------------------------------------------
@@ -643,7 +649,7 @@ namespace Sarand.Net.Standard.Base.Dbas
#if DEBUG
else
{
- SaLogger.Debug("BuildBitMappedFilter - Invalid bit (" + bit + ").");
+ SaLogger.Debug($"BuildBitMappedFilter - Invalid bit ({bit}).");
}
#endif
}
@@ -662,7 +668,7 @@ namespace Sarand.Net.Standard.Base.Dbas
if (!clause.IsEmpty())
{
if (DbGlobalDbms.Type == DbmsType.MsSql)
- clause = "(" + clause + " <> 0)";
+ clause = $"({clause} <> 0)";
}
return clause;
}
@@ -708,23 +714,23 @@ namespace Sarand.Net.Standard.Base.Dbas
//---------------------------------------------------------------------
// Start with the column names.
- String query = "SELECT ";
- if (DistinctRows) query += "DISTINCT ";
- if (RowLimit > 0) query += "TOP " + RowLimit.ToString() + " ";
- if (Columns.Count < 1) query += "* ";
- else query += Columns.Concat(" AS ", false).Concat(",");
+ String query = "SELECT";
+ if (DistinctRows) query += " DISTINCT";
+ if (RowLimit > 0) query += $" TOP {RowLimit.ToString()}";
+ if (Columns.Count < 1) query += " *";
+ else query += $" {Columns.Concat(" AS ", false).Concat(",")}";
//---------------------------------------------------------------------
// Add the tables and joins.
String tableAliasOperator = DbGlobalDbms.Type == DbmsType.Sage ? " " : " AS ";
if (Tables.Count > 1 || Joins.Count < 1)
{
- query += " FROM " + Tables.Concat(tableAliasOperator, false).Concat(",") + " " + Joins.BuildJoins("");
+ query += $" FROM {Tables.Concat(tableAliasOperator, false).Concat(",")} {Joins.BuildJoins("")}";
}
else if (Tables.Count == 1)
{
- // Table name is bracketed with multiple joins...
- query += " FROM " + Joins.BuildJoins(Tables.Concat(tableAliasOperator, false)[0]);
+ // Single Table name is bracketed with multiple joins.
+ query += $" FROM {Joins.BuildJoins(Tables.Concat(tableAliasOperator, false)[0])}";
}
query.TrimEnd(' ');
@@ -732,24 +738,24 @@ namespace Sarand.Net.Standard.Base.Dbas
// Filters.
String filter = Filters.Concat(" AND ", "(", ")", true, true);
// Jan2019 Not required: if (Filters.Count > 1) filter = "(" + filter + ")";
- if (!filter.IsEmpty()) query += " WHERE " + filter;
+ if (!filter.IsEmpty()) query += $" WHERE {filter}";
// Groupings.
- String groupByData = GroupBy.Concat(",", "", "", true, true);
- if (!groupByData.IsEmpty()) query += " GROUP BY " + groupByData;
+ String groupByClause = GroupBy.Concat(",", "", "", true, true);
+ if (!groupByClause.IsEmpty()) query += $" GROUP BY {groupByClause}";
// Sort sequence.
- String orderByData = OrderBy.Concat(",", "", "", true, true);
- if (!orderByData.IsEmpty()) query += " ORDER BY " + orderByData;
+ String orderByClause = OrderBy.Concat(",", "", "", true, true);
+ if (!orderByClause.IsEmpty()) query += $" ORDER BY {orderByClause}";
// Paging.
if (paging != null && paging.Paged)
{
// Must have an 'Order By' clause to use 'Offset ... Fetch Next ...'
- if (orderByData.IsEmpty())
+ if (orderByClause.IsEmpty())
throw new NotSupportedException("Query paging requires sort order to be specified");
if (DbGlobalDbms.Type == DbmsType.MsSql)
- query += " OFFSET " + ((paging.PageNo - 1) * paging.PageLength) + " ROWS FETCH NEXT " + paging.PageLength + " ROWS ONLY";
+ query += $" OFFSET {((paging.PageNo - 1) * paging.PageLength)} ROWS FETCH NEXT {paging.PageLength} ROWS ONLY";
else throw new NotSupportedException($"Query paging not supported for {DbGlobalDbms.Type}");
}
@@ -757,7 +763,7 @@ namespace Sarand.Net.Standard.Base.Dbas
#if DEBUG
bool bDisplayDebugMsg = false;
if (bDisplayDebugMsg)
- SaLogger.Debug("Query: " + query);
+ SaLogger.Debug($"Query: {query}");
#endif
//---------------------------------------------------------------------
diff --git a/SacsStandardBase/SacsStandardBase.csproj b/SacsStandardBase/SacsStandardBase.csproj
index 7006309..8b9afc3 100644
--- a/SacsStandardBase/SacsStandardBase.csproj
+++ b/SacsStandardBase/SacsStandardBase.csproj
@@ -7,11 +7,11 @@
-
-
-
+
+
+
-
+
diff --git a/SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeConsole_Dbas.cs b/SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeConsole_Dbas.cs
index 47c6fa3..4c02055 100644
--- a/SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeConsole_Dbas.cs
+++ b/SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeConsole_Dbas.cs
@@ -351,7 +351,7 @@ namespace Sarand.Net.Standard.Dbas.CodeTypes
//-------------------------------------------------------------------
// Get filtered codes, indexed by Code Type code.
- public override Dictionary> GetCodesByCodeType(SaCode.Params prmCode)
+ public override Dictionary> GetCodes(SaCode.Params prmCode)
{
ClearErrorState();
@@ -367,7 +367,7 @@ namespace Sarand.Net.Standard.Dbas.CodeTypes
// Convert Code Type identity from Id to code and sort each list of codes appropriately.
return ConvertCodeTypeIdentityAndSortCodes(codesByCodeTypeId, codeTypes);
}
- public override async Task>> GetCodesByCodeTypeAsync(SaCode.Params prmCode)
+ public override async Task>> GetCodesAsync(SaCode.Params prmCode)
{
ClearErrorState();
diff --git a/SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeMgr_Dbas.cs b/SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeMgr_Dbas.cs
index 973d601..a999c73 100644
--- a/SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeMgr_Dbas.cs
+++ b/SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeMgr_Dbas.cs
@@ -470,7 +470,7 @@ namespace Sarand.Net.Standard.Dbas.CodeTypes
private long GetCodeTypeCount(String filter)
{
ClearErrorState();
- return Database.GetRowCount(TableName_CodeType + " As " + aliasCodeType, filter);
+ return Database.GetRowCount($"{TableName_CodeType} As {aliasCodeType}", filter);
}
//-------------------------------------------------------------------
@@ -1030,7 +1030,7 @@ namespace Sarand.Net.Standard.Dbas.CodeTypes
private long GetCodeCount(String filter)
{
ClearErrorState();
- return Database.GetRowCount(TableName_Code + " As " + aliasCode, filter);
+ return Database.GetRowCount($"{TableName_Code} As {aliasCode}", filter);
}
public override long GetCodeCount(SaCode.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceDataItems.cs b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceDataItems.cs
index 596d695..219035f 100644
--- a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceDataItems.cs
+++ b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceDataItems.cs
@@ -497,7 +497,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces
private long GetInterfaceDataItemCount(String filter)
{
ClearErrorState();
- return Database.GetRowCount(TableName_InterfaceDataItem + " As " + aliasInterfaceDataItem, filter);
+ return Database.GetRowCount($"{TableName_InterfaceDataItem} As {aliasInterfaceDataItem}", filter);
}
public override long GetInterfaceDataItemCount(SaInterfaceDataItem.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessMessages.cs b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessMessages.cs
index 41085a6..1a2325d 100644
--- a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessMessages.cs
+++ b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessMessages.cs
@@ -383,7 +383,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces
private long GetInterfaceProcessMessageCount(String filter)
{
ClearErrorState();
- return Database.GetRowCount(TableName_InterfaceProcessMessage + " As " + aliasInterfaceProcessMessage, filter);
+ return Database.GetRowCount($"{TableName_InterfaceProcessMessage} As {aliasInterfaceProcessMessage}", filter);
}
public override long GetInterfaceProcessMessageCount(SaInterfaceProcessMessage.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcesses.cs b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcesses.cs
index 39a8d00..bf3aa2a 100644
--- a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcesses.cs
+++ b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcesses.cs
@@ -621,7 +621,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces
private long GetInterfaceProcessCount(String filter)
{
ClearErrorState();
- return Database.GetRowCount(TableName_InterfaceProcess + " As " + aliasInterfaceProcess, filter);
+ return Database.GetRowCount($"{TableName_InterfaceProcess} As {aliasInterfaceProcess}", filter);
}
public override long GetInterfaceProcessCount(SaInterfaceProcess.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-Interfaces.cs b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-Interfaces.cs
index eed06e4..bac060d 100644
--- a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-Interfaces.cs
+++ b/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-Interfaces.cs
@@ -456,7 +456,7 @@ namespace Sarand.Net.Standard.Dbas.Interfaces
private long GetInterfaceCount (String filter)
{
ClearErrorState();
- return Database.GetRowCount(TableName_Interface + " As " + aliasInterface, filter);
+ return Database.GetRowCount($"{TableName_Interface} As {aliasInterface}", filter);
}
public override long GetInterfaceCount (SaInterface.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/ItemData/SaItemDataMgr_Dbas.cs b/SacsStandardDbas/Dbas/ItemData/SaItemDataMgr_Dbas.cs
index 16b34c8..6cd856c 100644
--- a/SacsStandardDbas/Dbas/ItemData/SaItemDataMgr_Dbas.cs
+++ b/SacsStandardDbas/Dbas/ItemData/SaItemDataMgr_Dbas.cs
@@ -486,7 +486,7 @@ namespace Sarand.Net.Standard.Dbas.ItemData
private long GetItemDataCount(String filter)
{
ClearErrorState();
- return Database.GetRowCount(SaItemDataDbDfn.GetTableName(SaItemDataDbDfn.TableIdx.SaItemData) + " As " + aliasItemData, filter);
+ return Database.GetRowCount($"{SaItemDataDbDfn.GetTableName(SaItemDataDbDfn.TableIdx.SaItemData)} As {aliasItemData}", filter);
}
public override long GetItemDataCount(SaItemData.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/ItemDocs/SaItemDocMgr_Dbas.cs b/SacsStandardDbas/Dbas/ItemDocs/SaItemDocMgr_Dbas.cs
index ceabac0..9295532 100644
--- a/SacsStandardDbas/Dbas/ItemDocs/SaItemDocMgr_Dbas.cs
+++ b/SacsStandardDbas/Dbas/ItemDocs/SaItemDocMgr_Dbas.cs
@@ -522,7 +522,7 @@ namespace Sarand.Net.Standard.Dbas.ItemDocs
private long GetItemDocCount (String filter)
{
ClearErrorState();
- return Database.GetRowCount(SaItemDocsDbDfn.GetTableName(SaItemDocsDbDfn.TableIdx.SaItemDoc) + " As " + aliasItemDoc, filter);
+ return Database.GetRowCount($"{SaItemDocsDbDfn.GetTableName(SaItemDocsDbDfn.TableIdx.SaItemDoc)} As {aliasItemDoc}", filter);
}
public override long GetItemDocCount (SaItemDoc.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/ItemOptions/SaItemOptionMgr_Dbas.cs b/SacsStandardDbas/Dbas/ItemOptions/SaItemOptionMgr_Dbas.cs
index 46ec93c..93e3daa 100644
--- a/SacsStandardDbas/Dbas/ItemOptions/SaItemOptionMgr_Dbas.cs
+++ b/SacsStandardDbas/Dbas/ItemOptions/SaItemOptionMgr_Dbas.cs
@@ -475,7 +475,7 @@ namespace Sarand.Net.Standard.Dbas.ItemOptions
private long GetItemOptionCount (String filter)
{
ClearErrorState();
- return Database.GetRowCount(SaItemOptionDbDfn.GetTableName(SaItemOptionDbDfn.TableIdx.SaItemOption) + " As " + aliasItemOption, filter);
+ return Database.GetRowCount($"{SaItemOptionDbDfn.GetTableName(SaItemOptionDbDfn.TableIdx.SaItemOption)} As {aliasItemOption}", filter);
}
public override long GetItemOptionCount (SaItemOption.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Currency.cs b/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Currency.cs
index 6aeff76..ee8a886 100644
--- a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Currency.cs
+++ b/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Currency.cs
@@ -412,7 +412,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
private long GetCurrencyCount(String filter)
{
ClearErrorState();
- return Database.GetRowCount(ReferenceDataConsole.TableName_Currency + " As " + aliasCurrency, filter);
+ return Database.GetRowCount($"{ReferenceDataConsole.TableName_Currency} As {aliasCurrency}", filter);
}
public override long GetCurrencyCount(SaCurrency.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Language.cs b/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Language.cs
index 4a004b1..353aa7d 100644
--- a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Language.cs
+++ b/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Language.cs
@@ -423,7 +423,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
private long GetLanguageCount(String filter)
{
ClearErrorState();
- return Database.GetRowCount(ReferenceDataConsole.TableName_Language + " As " + aliasLanguage, filter);
+ return Database.GetRowCount($"{ReferenceDataConsole.TableName_Language} As {aliasLanguage}", filter);
}
public override long GetLanguageCount(SaLanguage.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Region.cs b/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Region.cs
index 2d78c5b..0543f3b 100644
--- a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Region.cs
+++ b/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Region.cs
@@ -400,7 +400,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
private long GetRegionCount(String filter)
{
ClearErrorState();
- return Database.GetRowCount(ReferenceDataConsole.TableName_Region + " As " + aliasRegion, filter);
+ return Database.GetRowCount($"{ReferenceDataConsole.TableName_Region} As {aliasRegion}", filter);
}
public override long GetRegionCount(SaRegion.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-TaxCode.cs b/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-TaxCode.cs
index 4b6a1fe..5318aa8 100644
--- a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-TaxCode.cs
+++ b/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-TaxCode.cs
@@ -442,7 +442,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
private long GetTaxCodeCount(String filter)
{
ClearErrorState();
- return Database.GetRowCount(ReferenceDataConsole.TableName_TaxCode + " As " + aliasTaxCode, filter);
+ return Database.GetRowCount($"{ReferenceDataConsole.TableName_TaxCode} As {aliasTaxCode}", filter);
}
public override long GetTaxCodeCount(SaTaxCode.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-UnitMeasure.cs b/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-UnitMeasure.cs
index dc08826..9d48bb2 100644
--- a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-UnitMeasure.cs
+++ b/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-UnitMeasure.cs
@@ -443,7 +443,7 @@ namespace Sarand.Net.Standard.Dbas.ReferenceData
private long GetUnitMeasureCount(String filter)
{
ClearErrorState();
- return Database.GetRowCount(ReferenceDataConsole.TableName_UnitMeasure + " As " + aliasUnitMeasure, filter);
+ return Database.GetRowCount($"{ReferenceDataConsole.TableName_UnitMeasure} As {aliasUnitMeasure}", filter);
}
public override long GetUnitMeasureCount(SaUnitMeasure.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityItem.cs b/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityItem.cs
index 4a5f4b3..b0d3767 100644
--- a/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityItem.cs
+++ b/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityItem.cs
@@ -529,7 +529,7 @@ namespace Sarand.Net.Standard.Dbas.Security
private long GetSecurityItemCount(String filter)
{
ClearErrorState();
- return Database.GetRowCount(TableName_SecItem + " As " + aliasSecurityItem, filter);
+ return Database.GetRowCount($"{TableName_SecItem} As {aliasSecurityItem}", filter);
}
public override long GetSecurityItemCount(SaSecurityItem.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityLink.cs b/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityLink.cs
index 249208b..0fff859 100644
--- a/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityLink.cs
+++ b/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityLink.cs
@@ -389,7 +389,7 @@ namespace Sarand.Net.Standard.Dbas.Security
private long GetSecurityLinkCount(String filter)
{
ClearErrorState();
- return Database.GetRowCount(TableName_SecLink + " As " + aliasSecurityLink, filter);
+ return Database.GetRowCount($"{TableName_SecLink} As {aliasSecurityLink}", filter);
}
public override long GetSecurityLinkCount(SaSecurityLink.Params prm)
{
diff --git a/SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogMgr_Dbas.cs b/SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogMgr_Dbas.cs
index cb572f8..c08ef6c 100644
--- a/SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogMgr_Dbas.cs
+++ b/SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogMgr_Dbas.cs
@@ -549,7 +549,7 @@ namespace Sarand.Net.Standard.Dbas.UpdateLog
private long GetUpdateLogEntryCount (String filter)
{
ClearErrorState();
- return Database.GetRowCount(SaUpdateLogDbDfn.GetTableName(SaUpdateLogDbDfn.TableIdx.SaAttrUpdate) + " As " + aliasUpdateLog, filter);
+ return Database.GetRowCount($"{SaUpdateLogDbDfn.GetTableName(SaUpdateLogDbDfn.TableIdx.SaAttrUpdate)} As {aliasUpdateLog}", filter);
}
public override long GetLogEntryCount (SaUpdateLogEntry.Params prm)
{
diff --git a/SacsStandardProc/SacsStandardProc.csproj b/SacsStandardProc/SacsStandardProc.csproj
index c3edb22..491f14d 100644
--- a/SacsStandardProc/SacsStandardProc.csproj
+++ b/SacsStandardProc/SacsStandardProc.csproj
@@ -10,8 +10,8 @@
-
-
+
+