diff --git a/.vscode/launch.json b/.vscode/launch.json index 976f60e9..f92c39ec 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -52,7 +52,7 @@ "AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles", "AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles", "AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles", - "AYANOVA_SERVER_TEST_MODE": "true", + "AYANOVA_SERVER_TEST_MODE": "false", "AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small", "AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7", "AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\" diff --git a/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs b/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs index 4c66790f..c1f7ce2f 100644 --- a/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs +++ b/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs @@ -171,14 +171,14 @@ namespace AyaNova.DataList { //case DataListFilterComparisonOperator.Equality: //no specific addition on equals for nulls, let default handle it //case DataListFilterComparisonOperator.GreaterThan: - //no specific addition on greater than for nulls - //(nulls are going to be assumed to be always at the - //less than end of the scale) so let default handle it + //no specific addition on greater than for nulls + //(nulls are going to be assumed to be always at the + //less than end of the scale) so let default handle it //case DataListFilterComparisonOperator.GreaterThanOrEqualTo: - //no change on greater than for nulls - //(nulls are going to be assumed to be always at the - //less than end of the scale) let default case handle it - + //no change on greater than for nulls + //(nulls are going to be assumed to be always at the + //less than end of the scale) let default case handle it + case DataListFilterComparisonOperator.LessThan: sb.Append($"{SqlColumnNameToFilter} "); sb.Append("Is Null OR "); @@ -971,7 +971,12 @@ namespace AyaNova.DataList throw new System.ArgumentNullException("DataListSqlFilterCriteriaBuilder::TagDataFilterToColumnCriteria - NO tags were provided for filtering"); foreach (string s in normalizedTags) - sbTemp.Append($"'{s}',"); + { + //escape any pre-existing apostrophes + //i.e. "O'Flaherty's pub" + var cleaned = s.Replace("'", "''"); + sbTemp.Append($"'{cleaned}',"); + } PostgresTagArrayFragment = sbTemp.ToString().TrimEnd(','); PostgresTagArrayFragment += "::VARCHAR(255)]"; diff --git a/server/AyaNova/DataList/LoanUnitDataList.cs b/server/AyaNova/DataList/LoanUnitDataList.cs index fe82f67a..75b248dd 100644 --- a/server/AyaNova/DataList/LoanUnitDataList.cs +++ b/server/AyaNova/DataList/LoanUnitDataList.cs @@ -67,7 +67,7 @@ namespace AyaNova.DataList { FieldKey = "LoanUnitCurrentWorkOrderItemLoan", TKey = "LoanUnitCurrentWorkOrderItemLoan", - UiFieldDataType = (int)UiFieldDataType.Text, + UiFieldDataType = (int)UiFieldDataType.Integer, AType = (int)AyaType.WorkOrderItemLoan, SqlIdColumnName = "wil.id", SqlValueColumnName = "w.serial" diff --git a/server/AyaNova/DataList/PartInventoryRequestDataList.cs b/server/AyaNova/DataList/PartInventoryRequestDataList.cs index e7d65128..798daf67 100644 --- a/server/AyaNova/DataList/PartInventoryRequestDataList.cs +++ b/server/AyaNova/DataList/PartInventoryRequestDataList.cs @@ -111,7 +111,7 @@ namespace AyaNova.DataList { TKey = "PurchaseOrder", FieldKey = "WorkOrderItemPartRequestPurchaseOrder", - UiFieldDataType = (int)UiFieldDataType.Text, + UiFieldDataType = (int)UiFieldDataType.Integer, AType = (int)AyaType.PurchaseOrder, SqlIdColumnName = "apurchaseorder.id", SqlValueColumnName = "apurchaseorder.serial" diff --git a/server/AyaNova/DataList/ServiceRequestDataList.cs b/server/AyaNova/DataList/ServiceRequestDataList.cs index 9c0410b7..92e8b170 100644 --- a/server/AyaNova/DataList/ServiceRequestDataList.cs +++ b/server/AyaNova/DataList/ServiceRequestDataList.cs @@ -80,7 +80,7 @@ namespace AyaNova.DataList { FieldKey = "WorkOrder", TKey = "WorkOrder", - UiFieldDataType = (int)UiFieldDataType.Text, + UiFieldDataType = (int)UiFieldDataType.Integer, AType = (int)AyaType.WorkOrderItem, SqlIdColumnName = "wi.id", SqlValueColumnName = "w.serial" diff --git a/server/AyaNova/DataList/UnitMeterReadingDataList.cs b/server/AyaNova/DataList/UnitMeterReadingDataList.cs index ac53dad5..9a967b86 100644 --- a/server/AyaNova/DataList/UnitMeterReadingDataList.cs +++ b/server/AyaNova/DataList/UnitMeterReadingDataList.cs @@ -67,7 +67,7 @@ namespace AyaNova.DataList TKey = "UnitMeterReadingWorkOrderItemID", FieldKey = "UnitMeterReadingWorkOrderItemID", AType = (int)AyaType.WorkOrderItemUnit, - UiFieldDataType = (int)UiFieldDataType.Text, + UiFieldDataType = (int)UiFieldDataType.Integer, SqlIdColumnName = "aworkorderitemunit.id", SqlValueColumnName = "aworkorder.serial", IsRowId = false diff --git a/server/AyaNova/DataList/WorkOrderDataList.cs b/server/AyaNova/DataList/WorkOrderDataList.cs index 809b94c1..511658ef 100644 --- a/server/AyaNova/DataList/WorkOrderDataList.cs +++ b/server/AyaNova/DataList/WorkOrderDataList.cs @@ -60,7 +60,7 @@ namespace AyaNova.DataList { FieldKey = "WorkOrderFromPMID", TKey = "WorkOrderFromPMID", - UiFieldDataType = (int)UiFieldDataType.Text, + UiFieldDataType = (int)UiFieldDataType.Integer, AType = (int)AyaType.PM, SqlIdColumnName = "apm.id", SqlValueColumnName = "apm.serial" @@ -70,7 +70,7 @@ namespace AyaNova.DataList { FieldKey = "WorkOrderFromQuoteID", TKey = "WorkOrderFromQuoteID", - UiFieldDataType = (int)UiFieldDataType.Text, + UiFieldDataType = (int)UiFieldDataType.Integer, AType = (int)AyaType.Quote, SqlIdColumnName = "aquote.id", SqlValueColumnName = "aquote.serial" diff --git a/server/AyaNova/DataList/WorkOrderItemPartRequestDataList.cs b/server/AyaNova/DataList/WorkOrderItemPartRequestDataList.cs index 13826d38..7bfb31ab 100644 --- a/server/AyaNova/DataList/WorkOrderItemPartRequestDataList.cs +++ b/server/AyaNova/DataList/WorkOrderItemPartRequestDataList.cs @@ -104,7 +104,7 @@ namespace AyaNova.DataList { TKey = "PurchaseOrder", FieldKey = "WorkOrderItemPartRequestPurchaseOrder", - UiFieldDataType = (int)UiFieldDataType.Text, + UiFieldDataType = (int)UiFieldDataType.Integer, AType = (int)AyaType.PurchaseOrder, SqlIdColumnName = "apurchaseorder.id", SqlValueColumnName = "apurchaseorder.serial" diff --git a/server/AyaNova/PickList/LoanUnitPickList.cs b/server/AyaNova/PickList/LoanUnitPickList.cs index ac9d1301..9ba51b34 100644 --- a/server/AyaNova/PickList/LoanUnitPickList.cs +++ b/server/AyaNova/PickList/LoanUnitPickList.cs @@ -52,7 +52,7 @@ namespace AyaNova.PickList { TKey = "LoanUnitSerial", FieldKey = "LoanUnitSerial", - ColumnDataType = UiFieldDataType.Integer, + ColumnDataType = UiFieldDataType.Text, SqlValueColumnName = "aloanunit.serial" });