diff --git a/AGENTS.md b/AGENTS.md index 42921d3..3abffa7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,7 +2,7 @@ ## Project Structure & Module Organization -`SaCommonVS.sln` contains the supported shared Sarand libraries. `SacsStandardBase` provides core types and utilities; `SacsStandardDbas` provides database support; `SacsStandardProc` provides process and file-processing support; `SacsCoreWeb` provides ASP.NET components; and `SacsStandardAccounts` provides accounting integrations. Supported mobile code is in `SacsMobileMaui`. The retained `SacsMobileXamarin` source is isolated in `SaCommonVS.LegacyXamarin.sln` for reference and is excluded from normal builds and the .NET 10 migration; see `docs/legacy-xamarin.md`. Tests live in `SacsCoreUnitTests` and generally mirror the corresponding source area under `Standard`. +`SaCommonVS.sln` contains the supported shared Sarand libraries. `SacsStandardBase` provides core types and utilities, while `SacsBusinessBase` contains paired business objects; `SacsStandardDbas` provides database support, while `SacsBusinessDbas` contains their database implementations. `SacsStandardProc` provides process and file-processing support; `SacsCoreWeb` provides ASP.NET components; and `SacsStandardAccounts` provides accounting integrations. Supported mobile code is in `SacsMobileMaui`. The retained `SacsMobileXamarin` source is isolated in `SaCommonVS.LegacyXamarin.sln` for reference and is excluded from normal builds and the .NET 10 migration; see `docs/legacy-xamarin.md`. Tests live in `SacsCoreUnitTests` and generally mirror the corresponding source area under `Standard`. These projects are consumed by sibling workspaces, including `..\..\BusinessMgr\Workspace`, `..\..\PippinApps\Repositories\Sandtrap`, and `..\..\PippinApps\Repositories\Sandalwood`. Preserve the relative layout because downstream solutions use direct project references. diff --git a/SaCommonVS.sln b/SaCommonVS.sln index d899eee..af5230a 100644 --- a/SaCommonVS.sln +++ b/SaCommonVS.sln @@ -26,48 +26,152 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SacsMobileMauiTests", "Sacs EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SacsMobileMauiTestHost", "SacsMobileMauiTestHost\SacsMobileMauiTestHost.csproj", "{52B726C9-13B2-49DF-9352-90563709259B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SacsBusinessBase", "SacsBusinessBase\SacsBusinessBase.csproj", "{C3DC486F-F869-48B1-B220-4D5FE7D83809}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SacsBusinessDbas", "SacsBusinessDbas\SacsBusinessDbas.csproj", "{4235BC0B-474D-4146-9361-DE3C9E5E64DF}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {3A8EE4B3-2335-420B-9619-D1622AF511FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3A8EE4B3-2335-420B-9619-D1622AF511FA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3A8EE4B3-2335-420B-9619-D1622AF511FA}.Debug|x64.ActiveCfg = Debug|Any CPU + {3A8EE4B3-2335-420B-9619-D1622AF511FA}.Debug|x64.Build.0 = Debug|Any CPU + {3A8EE4B3-2335-420B-9619-D1622AF511FA}.Debug|x86.ActiveCfg = Debug|Any CPU + {3A8EE4B3-2335-420B-9619-D1622AF511FA}.Debug|x86.Build.0 = Debug|Any CPU {3A8EE4B3-2335-420B-9619-D1622AF511FA}.Release|Any CPU.ActiveCfg = Release|Any CPU {3A8EE4B3-2335-420B-9619-D1622AF511FA}.Release|Any CPU.Build.0 = Release|Any CPU + {3A8EE4B3-2335-420B-9619-D1622AF511FA}.Release|x64.ActiveCfg = Release|Any CPU + {3A8EE4B3-2335-420B-9619-D1622AF511FA}.Release|x64.Build.0 = Release|Any CPU + {3A8EE4B3-2335-420B-9619-D1622AF511FA}.Release|x86.ActiveCfg = Release|Any CPU + {3A8EE4B3-2335-420B-9619-D1622AF511FA}.Release|x86.Build.0 = Release|Any CPU {14768EB5-6FA5-4F62-9347-44A667A760C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {14768EB5-6FA5-4F62-9347-44A667A760C1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {14768EB5-6FA5-4F62-9347-44A667A760C1}.Debug|x64.ActiveCfg = Debug|Any CPU + {14768EB5-6FA5-4F62-9347-44A667A760C1}.Debug|x64.Build.0 = Debug|Any CPU + {14768EB5-6FA5-4F62-9347-44A667A760C1}.Debug|x86.ActiveCfg = Debug|Any CPU + {14768EB5-6FA5-4F62-9347-44A667A760C1}.Debug|x86.Build.0 = Debug|Any CPU {14768EB5-6FA5-4F62-9347-44A667A760C1}.Release|Any CPU.ActiveCfg = Release|Any CPU {14768EB5-6FA5-4F62-9347-44A667A760C1}.Release|Any CPU.Build.0 = Release|Any CPU + {14768EB5-6FA5-4F62-9347-44A667A760C1}.Release|x64.ActiveCfg = Release|Any CPU + {14768EB5-6FA5-4F62-9347-44A667A760C1}.Release|x64.Build.0 = Release|Any CPU + {14768EB5-6FA5-4F62-9347-44A667A760C1}.Release|x86.ActiveCfg = Release|Any CPU + {14768EB5-6FA5-4F62-9347-44A667A760C1}.Release|x86.Build.0 = Release|Any CPU {AE8FCC39-D13D-4E32-995E-C69352F9F95E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AE8FCC39-D13D-4E32-995E-C69352F9F95E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AE8FCC39-D13D-4E32-995E-C69352F9F95E}.Debug|x64.ActiveCfg = Debug|Any CPU + {AE8FCC39-D13D-4E32-995E-C69352F9F95E}.Debug|x64.Build.0 = Debug|Any CPU + {AE8FCC39-D13D-4E32-995E-C69352F9F95E}.Debug|x86.ActiveCfg = Debug|Any CPU + {AE8FCC39-D13D-4E32-995E-C69352F9F95E}.Debug|x86.Build.0 = Debug|Any CPU {AE8FCC39-D13D-4E32-995E-C69352F9F95E}.Release|Any CPU.ActiveCfg = Release|Any CPU {AE8FCC39-D13D-4E32-995E-C69352F9F95E}.Release|Any CPU.Build.0 = Release|Any CPU + {AE8FCC39-D13D-4E32-995E-C69352F9F95E}.Release|x64.ActiveCfg = Release|Any CPU + {AE8FCC39-D13D-4E32-995E-C69352F9F95E}.Release|x64.Build.0 = Release|Any CPU + {AE8FCC39-D13D-4E32-995E-C69352F9F95E}.Release|x86.ActiveCfg = Release|Any CPU + {AE8FCC39-D13D-4E32-995E-C69352F9F95E}.Release|x86.Build.0 = Release|Any CPU {70F1302F-E8F2-49CB-A09D-889DA59681DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {70F1302F-E8F2-49CB-A09D-889DA59681DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {70F1302F-E8F2-49CB-A09D-889DA59681DD}.Debug|x64.ActiveCfg = Debug|Any CPU + {70F1302F-E8F2-49CB-A09D-889DA59681DD}.Debug|x64.Build.0 = Debug|Any CPU + {70F1302F-E8F2-49CB-A09D-889DA59681DD}.Debug|x86.ActiveCfg = Debug|Any CPU + {70F1302F-E8F2-49CB-A09D-889DA59681DD}.Debug|x86.Build.0 = Debug|Any CPU {70F1302F-E8F2-49CB-A09D-889DA59681DD}.Release|Any CPU.ActiveCfg = Release|Any CPU {70F1302F-E8F2-49CB-A09D-889DA59681DD}.Release|Any CPU.Build.0 = Release|Any CPU + {70F1302F-E8F2-49CB-A09D-889DA59681DD}.Release|x64.ActiveCfg = Release|Any CPU + {70F1302F-E8F2-49CB-A09D-889DA59681DD}.Release|x64.Build.0 = Release|Any CPU + {70F1302F-E8F2-49CB-A09D-889DA59681DD}.Release|x86.ActiveCfg = Release|Any CPU + {70F1302F-E8F2-49CB-A09D-889DA59681DD}.Release|x86.Build.0 = Release|Any CPU {C62999E2-1947-4EB7-82D2-A0EDB67D2F10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C62999E2-1947-4EB7-82D2-A0EDB67D2F10}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C62999E2-1947-4EB7-82D2-A0EDB67D2F10}.Debug|x64.ActiveCfg = Debug|Any CPU + {C62999E2-1947-4EB7-82D2-A0EDB67D2F10}.Debug|x64.Build.0 = Debug|Any CPU + {C62999E2-1947-4EB7-82D2-A0EDB67D2F10}.Debug|x86.ActiveCfg = Debug|Any CPU + {C62999E2-1947-4EB7-82D2-A0EDB67D2F10}.Debug|x86.Build.0 = Debug|Any CPU {C62999E2-1947-4EB7-82D2-A0EDB67D2F10}.Release|Any CPU.ActiveCfg = Release|Any CPU {C62999E2-1947-4EB7-82D2-A0EDB67D2F10}.Release|Any CPU.Build.0 = Release|Any CPU + {C62999E2-1947-4EB7-82D2-A0EDB67D2F10}.Release|x64.ActiveCfg = Release|Any CPU + {C62999E2-1947-4EB7-82D2-A0EDB67D2F10}.Release|x64.Build.0 = Release|Any CPU + {C62999E2-1947-4EB7-82D2-A0EDB67D2F10}.Release|x86.ActiveCfg = Release|Any CPU + {C62999E2-1947-4EB7-82D2-A0EDB67D2F10}.Release|x86.Build.0 = Release|Any CPU {3988EE9F-FFCD-481A-AF5E-AA7E5DB5A415}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3988EE9F-FFCD-481A-AF5E-AA7E5DB5A415}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3988EE9F-FFCD-481A-AF5E-AA7E5DB5A415}.Debug|x64.ActiveCfg = Debug|Any CPU + {3988EE9F-FFCD-481A-AF5E-AA7E5DB5A415}.Debug|x64.Build.0 = Debug|Any CPU + {3988EE9F-FFCD-481A-AF5E-AA7E5DB5A415}.Debug|x86.ActiveCfg = Debug|Any CPU + {3988EE9F-FFCD-481A-AF5E-AA7E5DB5A415}.Debug|x86.Build.0 = Debug|Any CPU {3988EE9F-FFCD-481A-AF5E-AA7E5DB5A415}.Release|Any CPU.ActiveCfg = Release|Any CPU {3988EE9F-FFCD-481A-AF5E-AA7E5DB5A415}.Release|Any CPU.Build.0 = Release|Any CPU + {3988EE9F-FFCD-481A-AF5E-AA7E5DB5A415}.Release|x64.ActiveCfg = Release|Any CPU + {3988EE9F-FFCD-481A-AF5E-AA7E5DB5A415}.Release|x64.Build.0 = Release|Any CPU + {3988EE9F-FFCD-481A-AF5E-AA7E5DB5A415}.Release|x86.ActiveCfg = Release|Any CPU + {3988EE9F-FFCD-481A-AF5E-AA7E5DB5A415}.Release|x86.Build.0 = Release|Any CPU {F167BCF8-8B99-4103-A710-D4B8FD5518A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F167BCF8-8B99-4103-A710-D4B8FD5518A7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F167BCF8-8B99-4103-A710-D4B8FD5518A7}.Debug|x64.ActiveCfg = Debug|Any CPU + {F167BCF8-8B99-4103-A710-D4B8FD5518A7}.Debug|x64.Build.0 = Debug|Any CPU + {F167BCF8-8B99-4103-A710-D4B8FD5518A7}.Debug|x86.ActiveCfg = Debug|Any CPU + {F167BCF8-8B99-4103-A710-D4B8FD5518A7}.Debug|x86.Build.0 = Debug|Any CPU {F167BCF8-8B99-4103-A710-D4B8FD5518A7}.Release|Any CPU.ActiveCfg = Release|Any CPU {F167BCF8-8B99-4103-A710-D4B8FD5518A7}.Release|Any CPU.Build.0 = Release|Any CPU + {F167BCF8-8B99-4103-A710-D4B8FD5518A7}.Release|x64.ActiveCfg = Release|Any CPU + {F167BCF8-8B99-4103-A710-D4B8FD5518A7}.Release|x64.Build.0 = Release|Any CPU + {F167BCF8-8B99-4103-A710-D4B8FD5518A7}.Release|x86.ActiveCfg = Release|Any CPU + {F167BCF8-8B99-4103-A710-D4B8FD5518A7}.Release|x86.Build.0 = Release|Any CPU {D7B6206D-6D7B-4A67-9F32-B09FCD6E8EAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D7B6206D-6D7B-4A67-9F32-B09FCD6E8EAA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D7B6206D-6D7B-4A67-9F32-B09FCD6E8EAA}.Debug|x64.ActiveCfg = Debug|Any CPU + {D7B6206D-6D7B-4A67-9F32-B09FCD6E8EAA}.Debug|x64.Build.0 = Debug|Any CPU + {D7B6206D-6D7B-4A67-9F32-B09FCD6E8EAA}.Debug|x86.ActiveCfg = Debug|Any CPU + {D7B6206D-6D7B-4A67-9F32-B09FCD6E8EAA}.Debug|x86.Build.0 = Debug|Any CPU {D7B6206D-6D7B-4A67-9F32-B09FCD6E8EAA}.Release|Any CPU.ActiveCfg = Release|Any CPU {D7B6206D-6D7B-4A67-9F32-B09FCD6E8EAA}.Release|Any CPU.Build.0 = Release|Any CPU + {D7B6206D-6D7B-4A67-9F32-B09FCD6E8EAA}.Release|x64.ActiveCfg = Release|Any CPU + {D7B6206D-6D7B-4A67-9F32-B09FCD6E8EAA}.Release|x64.Build.0 = Release|Any CPU + {D7B6206D-6D7B-4A67-9F32-B09FCD6E8EAA}.Release|x86.ActiveCfg = Release|Any CPU + {D7B6206D-6D7B-4A67-9F32-B09FCD6E8EAA}.Release|x86.Build.0 = Release|Any CPU {52B726C9-13B2-49DF-9352-90563709259B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {52B726C9-13B2-49DF-9352-90563709259B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {52B726C9-13B2-49DF-9352-90563709259B}.Debug|x64.ActiveCfg = Debug|Any CPU + {52B726C9-13B2-49DF-9352-90563709259B}.Debug|x64.Build.0 = Debug|Any CPU + {52B726C9-13B2-49DF-9352-90563709259B}.Debug|x86.ActiveCfg = Debug|Any CPU + {52B726C9-13B2-49DF-9352-90563709259B}.Debug|x86.Build.0 = Debug|Any CPU {52B726C9-13B2-49DF-9352-90563709259B}.Release|Any CPU.ActiveCfg = Release|Any CPU {52B726C9-13B2-49DF-9352-90563709259B}.Release|Any CPU.Build.0 = Release|Any CPU + {52B726C9-13B2-49DF-9352-90563709259B}.Release|x64.ActiveCfg = Release|Any CPU + {52B726C9-13B2-49DF-9352-90563709259B}.Release|x64.Build.0 = Release|Any CPU + {52B726C9-13B2-49DF-9352-90563709259B}.Release|x86.ActiveCfg = Release|Any CPU + {52B726C9-13B2-49DF-9352-90563709259B}.Release|x86.Build.0 = Release|Any CPU + {C3DC486F-F869-48B1-B220-4D5FE7D83809}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C3DC486F-F869-48B1-B220-4D5FE7D83809}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C3DC486F-F869-48B1-B220-4D5FE7D83809}.Debug|x64.ActiveCfg = Debug|Any CPU + {C3DC486F-F869-48B1-B220-4D5FE7D83809}.Debug|x64.Build.0 = Debug|Any CPU + {C3DC486F-F869-48B1-B220-4D5FE7D83809}.Debug|x86.ActiveCfg = Debug|Any CPU + {C3DC486F-F869-48B1-B220-4D5FE7D83809}.Debug|x86.Build.0 = Debug|Any CPU + {C3DC486F-F869-48B1-B220-4D5FE7D83809}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C3DC486F-F869-48B1-B220-4D5FE7D83809}.Release|Any CPU.Build.0 = Release|Any CPU + {C3DC486F-F869-48B1-B220-4D5FE7D83809}.Release|x64.ActiveCfg = Release|Any CPU + {C3DC486F-F869-48B1-B220-4D5FE7D83809}.Release|x64.Build.0 = Release|Any CPU + {C3DC486F-F869-48B1-B220-4D5FE7D83809}.Release|x86.ActiveCfg = Release|Any CPU + {C3DC486F-F869-48B1-B220-4D5FE7D83809}.Release|x86.Build.0 = Release|Any CPU + {4235BC0B-474D-4146-9361-DE3C9E5E64DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4235BC0B-474D-4146-9361-DE3C9E5E64DF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4235BC0B-474D-4146-9361-DE3C9E5E64DF}.Debug|x64.ActiveCfg = Debug|Any CPU + {4235BC0B-474D-4146-9361-DE3C9E5E64DF}.Debug|x64.Build.0 = Debug|Any CPU + {4235BC0B-474D-4146-9361-DE3C9E5E64DF}.Debug|x86.ActiveCfg = Debug|Any CPU + {4235BC0B-474D-4146-9361-DE3C9E5E64DF}.Debug|x86.Build.0 = Debug|Any CPU + {4235BC0B-474D-4146-9361-DE3C9E5E64DF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4235BC0B-474D-4146-9361-DE3C9E5E64DF}.Release|Any CPU.Build.0 = Release|Any CPU + {4235BC0B-474D-4146-9361-DE3C9E5E64DF}.Release|x64.ActiveCfg = Release|Any CPU + {4235BC0B-474D-4146-9361-DE3C9E5E64DF}.Release|x64.Build.0 = Release|Any CPU + {4235BC0B-474D-4146-9361-DE3C9E5E64DF}.Release|x86.ActiveCfg = Release|Any CPU + {4235BC0B-474D-4146-9361-DE3C9E5E64DF}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/SacsStandardBase/Base/CodeTypes/SaCode.cs b/SacsBusinessBase/Base/CodeTypes/SaCode.cs similarity index 100% rename from SacsStandardBase/Base/CodeTypes/SaCode.cs rename to SacsBusinessBase/Base/CodeTypes/SaCode.cs diff --git a/SacsStandardBase/Base/CodeTypes/SaCodeDfn.cs b/SacsBusinessBase/Base/CodeTypes/SaCodeDfn.cs similarity index 100% rename from SacsStandardBase/Base/CodeTypes/SaCodeDfn.cs rename to SacsBusinessBase/Base/CodeTypes/SaCodeDfn.cs diff --git a/SacsStandardBase/Base/CodeTypes/SaCodeType.cs b/SacsBusinessBase/Base/CodeTypes/SaCodeType.cs similarity index 100% rename from SacsStandardBase/Base/CodeTypes/SaCodeType.cs rename to SacsBusinessBase/Base/CodeTypes/SaCodeType.cs diff --git a/SacsStandardBase/Base/CodeTypes/SaCodeTypeConsole.cs b/SacsBusinessBase/Base/CodeTypes/SaCodeTypeConsole.cs similarity index 100% rename from SacsStandardBase/Base/CodeTypes/SaCodeTypeConsole.cs rename to SacsBusinessBase/Base/CodeTypes/SaCodeTypeConsole.cs diff --git a/SacsStandardBase/Base/CodeTypes/SaCodeTypeDbDfn.cs b/SacsBusinessBase/Base/CodeTypes/SaCodeTypeDbDfn.cs similarity index 100% rename from SacsStandardBase/Base/CodeTypes/SaCodeTypeDbDfn.cs rename to SacsBusinessBase/Base/CodeTypes/SaCodeTypeDbDfn.cs diff --git a/SacsStandardBase/Base/CodeTypes/SaCodeTypeDfn.cs b/SacsBusinessBase/Base/CodeTypes/SaCodeTypeDfn.cs similarity index 100% rename from SacsStandardBase/Base/CodeTypes/SaCodeTypeDfn.cs rename to SacsBusinessBase/Base/CodeTypes/SaCodeTypeDfn.cs diff --git a/SacsStandardBase/Base/CodeTypes/SaCodeTypeMgr.cs b/SacsBusinessBase/Base/CodeTypes/SaCodeTypeMgr.cs similarity index 100% rename from SacsStandardBase/Base/CodeTypes/SaCodeTypeMgr.cs rename to SacsBusinessBase/Base/CodeTypes/SaCodeTypeMgr.cs diff --git a/SacsStandardBase/Base/Diary/SaDiaryConsole.cs b/SacsBusinessBase/Base/Diary/SaDiaryConsole.cs similarity index 100% rename from SacsStandardBase/Base/Diary/SaDiaryConsole.cs rename to SacsBusinessBase/Base/Diary/SaDiaryConsole.cs diff --git a/SacsStandardBase/Base/Interfaces/SaInterface.cs b/SacsBusinessBase/Base/Interfaces/SaInterface.cs similarity index 100% rename from SacsStandardBase/Base/Interfaces/SaInterface.cs rename to SacsBusinessBase/Base/Interfaces/SaInterface.cs diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceConsole.cs b/SacsBusinessBase/Base/Interfaces/SaInterfaceConsole.cs similarity index 100% rename from SacsStandardBase/Base/Interfaces/SaInterfaceConsole.cs rename to SacsBusinessBase/Base/Interfaces/SaInterfaceConsole.cs diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceDataItem.cs b/SacsBusinessBase/Base/Interfaces/SaInterfaceDataItem.cs similarity index 100% rename from SacsStandardBase/Base/Interfaces/SaInterfaceDataItem.cs rename to SacsBusinessBase/Base/Interfaces/SaInterfaceDataItem.cs diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceDbDfn.cs b/SacsBusinessBase/Base/Interfaces/SaInterfaceDbDfn.cs similarity index 100% rename from SacsStandardBase/Base/Interfaces/SaInterfaceDbDfn.cs rename to SacsBusinessBase/Base/Interfaces/SaInterfaceDbDfn.cs diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceMgr-InterfaceDataItems.cs b/SacsBusinessBase/Base/Interfaces/SaInterfaceMgr-InterfaceDataItems.cs similarity index 100% rename from SacsStandardBase/Base/Interfaces/SaInterfaceMgr-InterfaceDataItems.cs rename to SacsBusinessBase/Base/Interfaces/SaInterfaceMgr-InterfaceDataItems.cs diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceMgr-InterfaceProcessDataItems.cs b/SacsBusinessBase/Base/Interfaces/SaInterfaceMgr-InterfaceProcessDataItems.cs similarity index 100% rename from SacsStandardBase/Base/Interfaces/SaInterfaceMgr-InterfaceProcessDataItems.cs rename to SacsBusinessBase/Base/Interfaces/SaInterfaceMgr-InterfaceProcessDataItems.cs diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceMgr-InterfaceProcessMessages.cs b/SacsBusinessBase/Base/Interfaces/SaInterfaceMgr-InterfaceProcessMessages.cs similarity index 100% rename from SacsStandardBase/Base/Interfaces/SaInterfaceMgr-InterfaceProcessMessages.cs rename to SacsBusinessBase/Base/Interfaces/SaInterfaceMgr-InterfaceProcessMessages.cs diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceMgr-InterfaceProcesses.cs b/SacsBusinessBase/Base/Interfaces/SaInterfaceMgr-InterfaceProcesses.cs similarity index 100% rename from SacsStandardBase/Base/Interfaces/SaInterfaceMgr-InterfaceProcesses.cs rename to SacsBusinessBase/Base/Interfaces/SaInterfaceMgr-InterfaceProcesses.cs diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceMgr-Interfaces.cs b/SacsBusinessBase/Base/Interfaces/SaInterfaceMgr-Interfaces.cs similarity index 100% rename from SacsStandardBase/Base/Interfaces/SaInterfaceMgr-Interfaces.cs rename to SacsBusinessBase/Base/Interfaces/SaInterfaceMgr-Interfaces.cs diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceMgr.cs b/SacsBusinessBase/Base/Interfaces/SaInterfaceMgr.cs similarity index 100% rename from SacsStandardBase/Base/Interfaces/SaInterfaceMgr.cs rename to SacsBusinessBase/Base/Interfaces/SaInterfaceMgr.cs diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceProcess.cs b/SacsBusinessBase/Base/Interfaces/SaInterfaceProcess.cs similarity index 100% rename from SacsStandardBase/Base/Interfaces/SaInterfaceProcess.cs rename to SacsBusinessBase/Base/Interfaces/SaInterfaceProcess.cs diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceProcessDataItem.cs b/SacsBusinessBase/Base/Interfaces/SaInterfaceProcessDataItem.cs similarity index 100% rename from SacsStandardBase/Base/Interfaces/SaInterfaceProcessDataItem.cs rename to SacsBusinessBase/Base/Interfaces/SaInterfaceProcessDataItem.cs diff --git a/SacsStandardBase/Base/Interfaces/SaInterfaceProcessMessage.cs b/SacsBusinessBase/Base/Interfaces/SaInterfaceProcessMessage.cs similarity index 100% rename from SacsStandardBase/Base/Interfaces/SaInterfaceProcessMessage.cs rename to SacsBusinessBase/Base/Interfaces/SaInterfaceProcessMessage.cs diff --git a/SacsStandardBase/Base/ItemData/SaItemData.cs b/SacsBusinessBase/Base/ItemData/SaItemData.cs similarity index 100% rename from SacsStandardBase/Base/ItemData/SaItemData.cs rename to SacsBusinessBase/Base/ItemData/SaItemData.cs diff --git a/SacsStandardBase/Base/ItemData/SaItemDataConsole.cs b/SacsBusinessBase/Base/ItemData/SaItemDataConsole.cs similarity index 100% rename from SacsStandardBase/Base/ItemData/SaItemDataConsole.cs rename to SacsBusinessBase/Base/ItemData/SaItemDataConsole.cs diff --git a/SacsStandardBase/Base/ItemData/SaItemDataDbDfn.cs b/SacsBusinessBase/Base/ItemData/SaItemDataDbDfn.cs similarity index 100% rename from SacsStandardBase/Base/ItemData/SaItemDataDbDfn.cs rename to SacsBusinessBase/Base/ItemData/SaItemDataDbDfn.cs diff --git a/SacsStandardBase/Base/ItemData/SaItemDataMgr.cs b/SacsBusinessBase/Base/ItemData/SaItemDataMgr.cs similarity index 100% rename from SacsStandardBase/Base/ItemData/SaItemDataMgr.cs rename to SacsBusinessBase/Base/ItemData/SaItemDataMgr.cs diff --git a/SacsStandardBase/Base/ItemDocs/SaItemDoc.cs b/SacsBusinessBase/Base/ItemDocs/SaItemDoc.cs similarity index 100% rename from SacsStandardBase/Base/ItemDocs/SaItemDoc.cs rename to SacsBusinessBase/Base/ItemDocs/SaItemDoc.cs diff --git a/SacsStandardBase/Base/ItemDocs/SaItemDocConsole.cs b/SacsBusinessBase/Base/ItemDocs/SaItemDocConsole.cs similarity index 100% rename from SacsStandardBase/Base/ItemDocs/SaItemDocConsole.cs rename to SacsBusinessBase/Base/ItemDocs/SaItemDocConsole.cs diff --git a/SacsStandardBase/Base/ItemDocs/SaItemDocMgr.cs b/SacsBusinessBase/Base/ItemDocs/SaItemDocMgr.cs similarity index 100% rename from SacsStandardBase/Base/ItemDocs/SaItemDocMgr.cs rename to SacsBusinessBase/Base/ItemDocs/SaItemDocMgr.cs diff --git a/SacsStandardBase/Base/ItemDocs/SaItemDocsDbDfn.cs b/SacsBusinessBase/Base/ItemDocs/SaItemDocsDbDfn.cs similarity index 100% rename from SacsStandardBase/Base/ItemDocs/SaItemDocsDbDfn.cs rename to SacsBusinessBase/Base/ItemDocs/SaItemDocsDbDfn.cs diff --git a/SacsStandardBase/Base/ItemOptions/SaItemOption.cs b/SacsBusinessBase/Base/ItemOptions/SaItemOption.cs similarity index 100% rename from SacsStandardBase/Base/ItemOptions/SaItemOption.cs rename to SacsBusinessBase/Base/ItemOptions/SaItemOption.cs diff --git a/SacsStandardBase/Base/ItemOptions/SaItemOptionConsole.cs b/SacsBusinessBase/Base/ItemOptions/SaItemOptionConsole.cs similarity index 100% rename from SacsStandardBase/Base/ItemOptions/SaItemOptionConsole.cs rename to SacsBusinessBase/Base/ItemOptions/SaItemOptionConsole.cs diff --git a/SacsStandardBase/Base/ItemOptions/SaItemOptionDbDfn.cs b/SacsBusinessBase/Base/ItemOptions/SaItemOptionDbDfn.cs similarity index 100% rename from SacsStandardBase/Base/ItemOptions/SaItemOptionDbDfn.cs rename to SacsBusinessBase/Base/ItemOptions/SaItemOptionDbDfn.cs diff --git a/SacsStandardBase/Base/ItemOptions/SaItemOptionDfn.cs b/SacsBusinessBase/Base/ItemOptions/SaItemOptionDfn.cs similarity index 100% rename from SacsStandardBase/Base/ItemOptions/SaItemOptionDfn.cs rename to SacsBusinessBase/Base/ItemOptions/SaItemOptionDfn.cs diff --git a/SacsStandardBase/Base/ItemOptions/SaItemOptionMgr.cs b/SacsBusinessBase/Base/ItemOptions/SaItemOptionMgr.cs similarity index 100% rename from SacsStandardBase/Base/ItemOptions/SaItemOptionMgr.cs rename to SacsBusinessBase/Base/ItemOptions/SaItemOptionMgr.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaCurrency.cs b/SacsBusinessBase/Base/ReferenceData/SaCurrency.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaCurrency.cs rename to SacsBusinessBase/Base/ReferenceData/SaCurrency.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaLanguage.cs b/SacsBusinessBase/Base/ReferenceData/SaLanguage.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaLanguage.cs rename to SacsBusinessBase/Base/ReferenceData/SaLanguage.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Currency.cs b/SacsBusinessBase/Base/ReferenceData/SaReferenceDataConsole-Currency.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Currency.cs rename to SacsBusinessBase/Base/ReferenceData/SaReferenceDataConsole-Currency.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Language.cs b/SacsBusinessBase/Base/ReferenceData/SaReferenceDataConsole-Language.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Language.cs rename to SacsBusinessBase/Base/ReferenceData/SaReferenceDataConsole-Language.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Region.cs b/SacsBusinessBase/Base/ReferenceData/SaReferenceDataConsole-Region.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-Region.cs rename to SacsBusinessBase/Base/ReferenceData/SaReferenceDataConsole-Region.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-TaxCode.cs b/SacsBusinessBase/Base/ReferenceData/SaReferenceDataConsole-TaxCode.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-TaxCode.cs rename to SacsBusinessBase/Base/ReferenceData/SaReferenceDataConsole-TaxCode.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-UnitMeasure.cs b/SacsBusinessBase/Base/ReferenceData/SaReferenceDataConsole-UnitMeasure.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole-UnitMeasure.cs rename to SacsBusinessBase/Base/ReferenceData/SaReferenceDataConsole-UnitMeasure.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole.cs b/SacsBusinessBase/Base/ReferenceData/SaReferenceDataConsole.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaReferenceDataConsole.cs rename to SacsBusinessBase/Base/ReferenceData/SaReferenceDataConsole.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataDbDfn.cs b/SacsBusinessBase/Base/ReferenceData/SaReferenceDataDbDfn.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaReferenceDataDbDfn.cs rename to SacsBusinessBase/Base/ReferenceData/SaReferenceDataDbDfn.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataMgr.cs b/SacsBusinessBase/Base/ReferenceData/SaReferenceDataMgr.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaReferenceDataMgr.cs rename to SacsBusinessBase/Base/ReferenceData/SaReferenceDataMgr.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataMgr_Currency.cs b/SacsBusinessBase/Base/ReferenceData/SaReferenceDataMgr_Currency.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaReferenceDataMgr_Currency.cs rename to SacsBusinessBase/Base/ReferenceData/SaReferenceDataMgr_Currency.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataMgr_Language.cs b/SacsBusinessBase/Base/ReferenceData/SaReferenceDataMgr_Language.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaReferenceDataMgr_Language.cs rename to SacsBusinessBase/Base/ReferenceData/SaReferenceDataMgr_Language.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataMgr_Region.cs b/SacsBusinessBase/Base/ReferenceData/SaReferenceDataMgr_Region.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaReferenceDataMgr_Region.cs rename to SacsBusinessBase/Base/ReferenceData/SaReferenceDataMgr_Region.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataMgr_TaxCode.cs b/SacsBusinessBase/Base/ReferenceData/SaReferenceDataMgr_TaxCode.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaReferenceDataMgr_TaxCode.cs rename to SacsBusinessBase/Base/ReferenceData/SaReferenceDataMgr_TaxCode.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaReferenceDataMgr_UnitMeasure.cs b/SacsBusinessBase/Base/ReferenceData/SaReferenceDataMgr_UnitMeasure.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaReferenceDataMgr_UnitMeasure.cs rename to SacsBusinessBase/Base/ReferenceData/SaReferenceDataMgr_UnitMeasure.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaRegion.cs b/SacsBusinessBase/Base/ReferenceData/SaRegion.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaRegion.cs rename to SacsBusinessBase/Base/ReferenceData/SaRegion.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaTaxCode.cs b/SacsBusinessBase/Base/ReferenceData/SaTaxCode.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaTaxCode.cs rename to SacsBusinessBase/Base/ReferenceData/SaTaxCode.cs diff --git a/SacsStandardBase/Base/ReferenceData/SaUnitMeasure.cs b/SacsBusinessBase/Base/ReferenceData/SaUnitMeasure.cs similarity index 100% rename from SacsStandardBase/Base/ReferenceData/SaUnitMeasure.cs rename to SacsBusinessBase/Base/ReferenceData/SaUnitMeasure.cs diff --git a/SacsStandardBase/Base/Security/SaSecurityConsole.cs b/SacsBusinessBase/Base/Security/SaSecurityConsole.cs similarity index 100% rename from SacsStandardBase/Base/Security/SaSecurityConsole.cs rename to SacsBusinessBase/Base/Security/SaSecurityConsole.cs diff --git a/SacsStandardBase/Base/Security/SaSecurityDbDfn.cs b/SacsBusinessBase/Base/Security/SaSecurityDbDfn.cs similarity index 100% rename from SacsStandardBase/Base/Security/SaSecurityDbDfn.cs rename to SacsBusinessBase/Base/Security/SaSecurityDbDfn.cs diff --git a/SacsStandardBase/Base/Security/SaSecurityItem.cs b/SacsBusinessBase/Base/Security/SaSecurityItem.cs similarity index 100% rename from SacsStandardBase/Base/Security/SaSecurityItem.cs rename to SacsBusinessBase/Base/Security/SaSecurityItem.cs diff --git a/SacsStandardBase/Base/Security/SaSecurityLink.cs b/SacsBusinessBase/Base/Security/SaSecurityLink.cs similarity index 100% rename from SacsStandardBase/Base/Security/SaSecurityLink.cs rename to SacsBusinessBase/Base/Security/SaSecurityLink.cs diff --git a/SacsStandardBase/Base/Security/SaSecurityMgr-SecurityItem.cs b/SacsBusinessBase/Base/Security/SaSecurityMgr-SecurityItem.cs similarity index 100% rename from SacsStandardBase/Base/Security/SaSecurityMgr-SecurityItem.cs rename to SacsBusinessBase/Base/Security/SaSecurityMgr-SecurityItem.cs diff --git a/SacsStandardBase/Base/Security/SaSecurityMgr-SecurityLink.cs b/SacsBusinessBase/Base/Security/SaSecurityMgr-SecurityLink.cs similarity index 100% rename from SacsStandardBase/Base/Security/SaSecurityMgr-SecurityLink.cs rename to SacsBusinessBase/Base/Security/SaSecurityMgr-SecurityLink.cs diff --git a/SacsStandardBase/Base/Security/SaSecurityMgr.cs b/SacsBusinessBase/Base/Security/SaSecurityMgr.cs similarity index 100% rename from SacsStandardBase/Base/Security/SaSecurityMgr.cs rename to SacsBusinessBase/Base/Security/SaSecurityMgr.cs diff --git a/SacsStandardBase/Base/Security/SaSecurityProfile.cs b/SacsBusinessBase/Base/Security/SaSecurityProfile.cs similarity index 100% rename from SacsStandardBase/Base/Security/SaSecurityProfile.cs rename to SacsBusinessBase/Base/Security/SaSecurityProfile.cs diff --git a/SacsStandardBase/Base/Security/SaSecurityRight.cs b/SacsBusinessBase/Base/Security/SaSecurityRight.cs similarity index 100% rename from SacsStandardBase/Base/Security/SaSecurityRight.cs rename to SacsBusinessBase/Base/Security/SaSecurityRight.cs diff --git a/SacsStandardBase/Base/UpdateLog/SaUpdateLogConsole.cs b/SacsBusinessBase/Base/UpdateLog/SaUpdateLogConsole.cs similarity index 100% rename from SacsStandardBase/Base/UpdateLog/SaUpdateLogConsole.cs rename to SacsBusinessBase/Base/UpdateLog/SaUpdateLogConsole.cs diff --git a/SacsStandardBase/Base/UpdateLog/SaUpdateLogDbDfn.cs b/SacsBusinessBase/Base/UpdateLog/SaUpdateLogDbDfn.cs similarity index 100% rename from SacsStandardBase/Base/UpdateLog/SaUpdateLogDbDfn.cs rename to SacsBusinessBase/Base/UpdateLog/SaUpdateLogDbDfn.cs diff --git a/SacsStandardBase/Base/UpdateLog/SaUpdateLogEntry.cs b/SacsBusinessBase/Base/UpdateLog/SaUpdateLogEntry.cs similarity index 100% rename from SacsStandardBase/Base/UpdateLog/SaUpdateLogEntry.cs rename to SacsBusinessBase/Base/UpdateLog/SaUpdateLogEntry.cs diff --git a/SacsStandardBase/Base/UpdateLog/SaUpdateLogItemMonitor.cs b/SacsBusinessBase/Base/UpdateLog/SaUpdateLogItemMonitor.cs similarity index 100% rename from SacsStandardBase/Base/UpdateLog/SaUpdateLogItemMonitor.cs rename to SacsBusinessBase/Base/UpdateLog/SaUpdateLogItemMonitor.cs diff --git a/SacsStandardBase/Base/UpdateLog/SaUpdateLogMgr.cs b/SacsBusinessBase/Base/UpdateLog/SaUpdateLogMgr.cs similarity index 100% rename from SacsStandardBase/Base/UpdateLog/SaUpdateLogMgr.cs rename to SacsBusinessBase/Base/UpdateLog/SaUpdateLogMgr.cs diff --git a/SacsBusinessBase/SacsBusinessBase.csproj b/SacsBusinessBase/SacsBusinessBase.csproj new file mode 100644 index 0000000..d46c3e3 --- /dev/null +++ b/SacsBusinessBase/SacsBusinessBase.csproj @@ -0,0 +1,12 @@ + + + + net10.0 + Sarand.Net.Standard + + + + + + + diff --git a/SacsStandardDbas/Dbas/CodeTypes/Internal/SaCodeType_Db.cs b/SacsBusinessDbas/Dbas/CodeTypes/Internal/SaCodeType_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/CodeTypes/Internal/SaCodeType_Db.cs rename to SacsBusinessDbas/Dbas/CodeTypes/Internal/SaCodeType_Db.cs diff --git a/SacsStandardDbas/Dbas/CodeTypes/Internal/SaCode_Db.cs b/SacsBusinessDbas/Dbas/CodeTypes/Internal/SaCode_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/CodeTypes/Internal/SaCode_Db.cs rename to SacsBusinessDbas/Dbas/CodeTypes/Internal/SaCode_Db.cs diff --git a/SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeConsole_Dbas.cs b/SacsBusinessDbas/Dbas/CodeTypes/SaCodeTypeConsole_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeConsole_Dbas.cs rename to SacsBusinessDbas/Dbas/CodeTypes/SaCodeTypeConsole_Dbas.cs diff --git a/SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeDbDfnGenerator.cs b/SacsBusinessDbas/Dbas/CodeTypes/SaCodeTypeDbDfnGenerator.cs similarity index 100% rename from SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeDbDfnGenerator.cs rename to SacsBusinessDbas/Dbas/CodeTypes/SaCodeTypeDbDfnGenerator.cs diff --git a/SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeInternal.cs b/SacsBusinessDbas/Dbas/CodeTypes/SaCodeTypeInternal.cs similarity index 100% rename from SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeInternal.cs rename to SacsBusinessDbas/Dbas/CodeTypes/SaCodeTypeInternal.cs diff --git a/SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeMgr_Dbas.cs b/SacsBusinessDbas/Dbas/CodeTypes/SaCodeTypeMgr_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/CodeTypes/SaCodeTypeMgr_Dbas.cs rename to SacsBusinessDbas/Dbas/CodeTypes/SaCodeTypeMgr_Dbas.cs diff --git a/SacsStandardDbas/Dbas/CodeTypes/SaCodeType_Dbas.cs b/SacsBusinessDbas/Dbas/CodeTypes/SaCodeType_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/CodeTypes/SaCodeType_Dbas.cs rename to SacsBusinessDbas/Dbas/CodeTypes/SaCodeType_Dbas.cs diff --git a/SacsStandardDbas/Dbas/CodeTypes/SaCode_Dbas.cs b/SacsBusinessDbas/Dbas/CodeTypes/SaCode_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/CodeTypes/SaCode_Dbas.cs rename to SacsBusinessDbas/Dbas/CodeTypes/SaCode_Dbas.cs diff --git a/SacsStandardDbas/Dbas/Diary/SaDiaryConsole_Dbas.cs b/SacsBusinessDbas/Dbas/Diary/SaDiaryConsole_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/Diary/SaDiaryConsole_Dbas.cs rename to SacsBusinessDbas/Dbas/Diary/SaDiaryConsole_Dbas.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/Internal/SaInterfaceDataItem_Db.cs b/SacsBusinessDbas/Dbas/Interfaces/Internal/SaInterfaceDataItem_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/Internal/SaInterfaceDataItem_Db.cs rename to SacsBusinessDbas/Dbas/Interfaces/Internal/SaInterfaceDataItem_Db.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/Internal/SaInterfaceProcessDataItem_Db.cs b/SacsBusinessDbas/Dbas/Interfaces/Internal/SaInterfaceProcessDataItem_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/Internal/SaInterfaceProcessDataItem_Db.cs rename to SacsBusinessDbas/Dbas/Interfaces/Internal/SaInterfaceProcessDataItem_Db.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/Internal/SaInterfaceProcessMessage_Db.cs b/SacsBusinessDbas/Dbas/Interfaces/Internal/SaInterfaceProcessMessage_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/Internal/SaInterfaceProcessMessage_Db.cs rename to SacsBusinessDbas/Dbas/Interfaces/Internal/SaInterfaceProcessMessage_Db.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/Internal/SaInterfaceProcess_Db.cs b/SacsBusinessDbas/Dbas/Interfaces/Internal/SaInterfaceProcess_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/Internal/SaInterfaceProcess_Db.cs rename to SacsBusinessDbas/Dbas/Interfaces/Internal/SaInterfaceProcess_Db.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/Internal/SaInterface_Db.cs b/SacsBusinessDbas/Dbas/Interfaces/Internal/SaInterface_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/Internal/SaInterface_Db.cs rename to SacsBusinessDbas/Dbas/Interfaces/Internal/SaInterface_Db.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceConsole_Dbas.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterfaceConsole_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterfaceConsole_Dbas.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterfaceConsole_Dbas.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceDataItem_Dbas.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterfaceDataItem_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterfaceDataItem_Dbas.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterfaceDataItem_Dbas.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceDbDfnGenerator.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterfaceDbDfnGenerator.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterfaceDbDfnGenerator.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterfaceDbDfnGenerator.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceInternal.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterfaceInternal.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterfaceInternal.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterfaceInternal.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceDataItems.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceDataItems.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceDataItems.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceDataItems.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessDataItems.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessDataItems.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessDataItems.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessDataItems.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessMessages.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessMessages.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessMessages.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcessMessages.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcesses.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcesses.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcesses.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-InterfaceProcesses.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-Interfaces.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-Interfaces.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-Interfaces.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas-Interfaces.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterfaceMgr_Dbas.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceProcessMessage_Dbas.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterfaceProcessMessage_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterfaceProcessMessage_Dbas.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterfaceProcessMessage_Dbas.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceProcess_Db_Local.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterfaceProcess_Db_Local.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterfaceProcess_Db_Local.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterfaceProcess_Db_Local.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterfaceProcess_Dbas.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterfaceProcess_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterfaceProcess_Dbas.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterfaceProcess_Dbas.cs diff --git a/SacsStandardDbas/Dbas/Interfaces/SaInterface_Dbas.cs b/SacsBusinessDbas/Dbas/Interfaces/SaInterface_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/Interfaces/SaInterface_Dbas.cs rename to SacsBusinessDbas/Dbas/Interfaces/SaInterface_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ItemData/Internal/SaItemData_Db.cs b/SacsBusinessDbas/Dbas/ItemData/Internal/SaItemData_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemData/Internal/SaItemData_Db.cs rename to SacsBusinessDbas/Dbas/ItemData/Internal/SaItemData_Db.cs diff --git a/SacsStandardDbas/Dbas/ItemData/SaItemDataConsole_Dbas.cs b/SacsBusinessDbas/Dbas/ItemData/SaItemDataConsole_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemData/SaItemDataConsole_Dbas.cs rename to SacsBusinessDbas/Dbas/ItemData/SaItemDataConsole_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ItemData/SaItemDataDbDfnGenerator.cs b/SacsBusinessDbas/Dbas/ItemData/SaItemDataDbDfnGenerator.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemData/SaItemDataDbDfnGenerator.cs rename to SacsBusinessDbas/Dbas/ItemData/SaItemDataDbDfnGenerator.cs diff --git a/SacsStandardDbas/Dbas/ItemData/SaItemDataMgr_Dbas.cs b/SacsBusinessDbas/Dbas/ItemData/SaItemDataMgr_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemData/SaItemDataMgr_Dbas.cs rename to SacsBusinessDbas/Dbas/ItemData/SaItemDataMgr_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ItemData/SaItemData_Dbas.cs b/SacsBusinessDbas/Dbas/ItemData/SaItemData_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemData/SaItemData_Dbas.cs rename to SacsBusinessDbas/Dbas/ItemData/SaItemData_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ItemDocs/Internal/SaItemDoc_Db.cs b/SacsBusinessDbas/Dbas/ItemDocs/Internal/SaItemDoc_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemDocs/Internal/SaItemDoc_Db.cs rename to SacsBusinessDbas/Dbas/ItemDocs/Internal/SaItemDoc_Db.cs diff --git a/SacsStandardDbas/Dbas/ItemDocs/SaItemDocConsole_Dbas.cs b/SacsBusinessDbas/Dbas/ItemDocs/SaItemDocConsole_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemDocs/SaItemDocConsole_Dbas.cs rename to SacsBusinessDbas/Dbas/ItemDocs/SaItemDocConsole_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ItemDocs/SaItemDocMgr_Dbas.cs b/SacsBusinessDbas/Dbas/ItemDocs/SaItemDocMgr_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemDocs/SaItemDocMgr_Dbas.cs rename to SacsBusinessDbas/Dbas/ItemDocs/SaItemDocMgr_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ItemDocs/SaItemDoc_Dbas.cs b/SacsBusinessDbas/Dbas/ItemDocs/SaItemDoc_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemDocs/SaItemDoc_Dbas.cs rename to SacsBusinessDbas/Dbas/ItemDocs/SaItemDoc_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ItemDocs/SaItemDocsDbDfnGenerator.cs b/SacsBusinessDbas/Dbas/ItemDocs/SaItemDocsDbDfnGenerator.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemDocs/SaItemDocsDbDfnGenerator.cs rename to SacsBusinessDbas/Dbas/ItemDocs/SaItemDocsDbDfnGenerator.cs diff --git a/SacsStandardDbas/Dbas/ItemOptions/Internal/SaItemOption_Db.cs b/SacsBusinessDbas/Dbas/ItemOptions/Internal/SaItemOption_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemOptions/Internal/SaItemOption_Db.cs rename to SacsBusinessDbas/Dbas/ItemOptions/Internal/SaItemOption_Db.cs diff --git a/SacsStandardDbas/Dbas/ItemOptions/SaItemOptionConsole_Dbas.cs b/SacsBusinessDbas/Dbas/ItemOptions/SaItemOptionConsole_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemOptions/SaItemOptionConsole_Dbas.cs rename to SacsBusinessDbas/Dbas/ItemOptions/SaItemOptionConsole_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ItemOptions/SaItemOptionInternal.cs b/SacsBusinessDbas/Dbas/ItemOptions/SaItemOptionInternal.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemOptions/SaItemOptionInternal.cs rename to SacsBusinessDbas/Dbas/ItemOptions/SaItemOptionInternal.cs diff --git a/SacsStandardDbas/Dbas/ItemOptions/SaItemOptionMgr_Dbas.cs b/SacsBusinessDbas/Dbas/ItemOptions/SaItemOptionMgr_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemOptions/SaItemOptionMgr_Dbas.cs rename to SacsBusinessDbas/Dbas/ItemOptions/SaItemOptionMgr_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ItemOptions/SaItemOption_Dbas.cs b/SacsBusinessDbas/Dbas/ItemOptions/SaItemOption_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemOptions/SaItemOption_Dbas.cs rename to SacsBusinessDbas/Dbas/ItemOptions/SaItemOption_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ItemOptions/SaItemOptionsDbDfnGenerator.cs b/SacsBusinessDbas/Dbas/ItemOptions/SaItemOptionsDbDfnGenerator.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemOptions/SaItemOptionsDbDfnGenerator.cs rename to SacsBusinessDbas/Dbas/ItemOptions/SaItemOptionsDbDfnGenerator.cs diff --git a/SacsStandardDbas/Dbas/ItemOptions/SaUpdateLogItemMonitor_ItemOption.cs b/SacsBusinessDbas/Dbas/ItemOptions/SaUpdateLogItemMonitor_ItemOption.cs similarity index 100% rename from SacsStandardDbas/Dbas/ItemOptions/SaUpdateLogItemMonitor_ItemOption.cs rename to SacsBusinessDbas/Dbas/ItemOptions/SaUpdateLogItemMonitor_ItemOption.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/Internal/Currency_Db.cs b/SacsBusinessDbas/Dbas/ReferenceData/Internal/Currency_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/Internal/Currency_Db.cs rename to SacsBusinessDbas/Dbas/ReferenceData/Internal/Currency_Db.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/Internal/Language_Db.cs b/SacsBusinessDbas/Dbas/ReferenceData/Internal/Language_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/Internal/Language_Db.cs rename to SacsBusinessDbas/Dbas/ReferenceData/Internal/Language_Db.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/Internal/Region_Db.cs b/SacsBusinessDbas/Dbas/ReferenceData/Internal/Region_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/Internal/Region_Db.cs rename to SacsBusinessDbas/Dbas/ReferenceData/Internal/Region_Db.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/Internal/TaxCode_Db.cs b/SacsBusinessDbas/Dbas/ReferenceData/Internal/TaxCode_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/Internal/TaxCode_Db.cs rename to SacsBusinessDbas/Dbas/ReferenceData/Internal/TaxCode_Db.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/Internal/UnitMeasure_Db.cs b/SacsBusinessDbas/Dbas/ReferenceData/Internal/UnitMeasure_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/Internal/UnitMeasure_Db.cs rename to SacsBusinessDbas/Dbas/ReferenceData/Internal/UnitMeasure_Db.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaCurrency_Dbas.cs b/SacsBusinessDbas/Dbas/ReferenceData/SaCurrency_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SaCurrency_Dbas.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SaCurrency_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaLanguage_Dbas.cs b/SacsBusinessDbas/Dbas/ReferenceData/SaLanguage_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SaLanguage_Dbas.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SaLanguage_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-Currency.cs b/SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-Currency.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-Currency.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-Currency.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-Language.cs b/SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-Language.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-Language.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-Language.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-Region.cs b/SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-Region.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-Region.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-Region.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-TaxCode.cs b/SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-TaxCode.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-TaxCode.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-TaxCode.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-UnitMeasure.cs b/SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-UnitMeasure.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-UnitMeasure.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas-UnitMeasure.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas.cs b/SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataConsole_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataDbDfnGenerator.cs b/SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataDbDfnGenerator.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataDbDfnGenerator.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataDbDfnGenerator.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataInternal.cs b/SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataInternal.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SaReferenceDataInternal.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SaReferenceDataInternal.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaRegion_Dbas.cs b/SacsBusinessDbas/Dbas/ReferenceData/SaRegion_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SaRegion_Dbas.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SaRegion_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaTaxCode_Dbas.cs b/SacsBusinessDbas/Dbas/ReferenceData/SaTaxCode_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SaTaxCode_Dbas.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SaTaxCode_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SaUnitMeasure_Dbas.cs b/SacsBusinessDbas/Dbas/ReferenceData/SaUnitMeasure_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SaUnitMeasure_Dbas.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SaUnitMeasure_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Currency.cs b/SacsBusinessDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Currency.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Currency.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Currency.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Language.cs b/SacsBusinessDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Language.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Language.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Language.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Region.cs b/SacsBusinessDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Region.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Region.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-Region.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-TaxCode.cs b/SacsBusinessDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-TaxCode.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-TaxCode.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-TaxCode.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-UnitMeasure.cs b/SacsBusinessDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-UnitMeasure.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-UnitMeasure.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas-UnitMeasure.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas.cs b/SacsBusinessDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas.cs rename to SacsBusinessDbas/Dbas/ReferenceData/SbmReferenceDataMgr_Dbas.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_Currency.cs b/SacsBusinessDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_Currency.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_Currency.cs rename to SacsBusinessDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_Currency.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_Language.cs b/SacsBusinessDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_Language.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_Language.cs rename to SacsBusinessDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_Language.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_ReferenceData.cs b/SacsBusinessDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_ReferenceData.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_ReferenceData.cs rename to SacsBusinessDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_ReferenceData.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_Region.cs b/SacsBusinessDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_Region.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_Region.cs rename to SacsBusinessDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_Region.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_TaxCode.cs b/SacsBusinessDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_TaxCode.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_TaxCode.cs rename to SacsBusinessDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_TaxCode.cs diff --git a/SacsStandardDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_UnitMeasure.cs b/SacsBusinessDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_UnitMeasure.cs similarity index 100% rename from SacsStandardDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_UnitMeasure.cs rename to SacsBusinessDbas/Dbas/ReferenceData/UpdateLog/SaUpdateLogItemMonitor_UnitMeasure.cs diff --git a/SacsStandardDbas/Dbas/Security/Internal/SaSecItem_Db.cs b/SacsBusinessDbas/Dbas/Security/Internal/SaSecItem_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/Security/Internal/SaSecItem_Db.cs rename to SacsBusinessDbas/Dbas/Security/Internal/SaSecItem_Db.cs diff --git a/SacsStandardDbas/Dbas/Security/Internal/SaSecLink_Db.cs b/SacsBusinessDbas/Dbas/Security/Internal/SaSecLink_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/Security/Internal/SaSecLink_Db.cs rename to SacsBusinessDbas/Dbas/Security/Internal/SaSecLink_Db.cs diff --git a/SacsStandardDbas/Dbas/Security/SaSecurityConsole_Dbas.cs b/SacsBusinessDbas/Dbas/Security/SaSecurityConsole_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/Security/SaSecurityConsole_Dbas.cs rename to SacsBusinessDbas/Dbas/Security/SaSecurityConsole_Dbas.cs diff --git a/SacsStandardDbas/Dbas/Security/SaSecurityDbDfnGenerator.cs b/SacsBusinessDbas/Dbas/Security/SaSecurityDbDfnGenerator.cs similarity index 100% rename from SacsStandardDbas/Dbas/Security/SaSecurityDbDfnGenerator.cs rename to SacsBusinessDbas/Dbas/Security/SaSecurityDbDfnGenerator.cs diff --git a/SacsStandardDbas/Dbas/Security/SaSecurityInternal.cs b/SacsBusinessDbas/Dbas/Security/SaSecurityInternal.cs similarity index 100% rename from SacsStandardDbas/Dbas/Security/SaSecurityInternal.cs rename to SacsBusinessDbas/Dbas/Security/SaSecurityInternal.cs diff --git a/SacsStandardDbas/Dbas/Security/SaSecurityItem_Dbas.cs b/SacsBusinessDbas/Dbas/Security/SaSecurityItem_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/Security/SaSecurityItem_Dbas.cs rename to SacsBusinessDbas/Dbas/Security/SaSecurityItem_Dbas.cs diff --git a/SacsStandardDbas/Dbas/Security/SaSecurityLink_Dbas.cs b/SacsBusinessDbas/Dbas/Security/SaSecurityLink_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/Security/SaSecurityLink_Dbas.cs rename to SacsBusinessDbas/Dbas/Security/SaSecurityLink_Dbas.cs diff --git a/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityItem.cs b/SacsBusinessDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityItem.cs similarity index 100% rename from SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityItem.cs rename to SacsBusinessDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityItem.cs diff --git a/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityLink.cs b/SacsBusinessDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityLink.cs similarity index 100% rename from SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityLink.cs rename to SacsBusinessDbas/Dbas/Security/SaSecurityMgr_Dbas-SecurityLink.cs diff --git a/SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas.cs b/SacsBusinessDbas/Dbas/Security/SaSecurityMgr_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/Security/SaSecurityMgr_Dbas.cs rename to SacsBusinessDbas/Dbas/Security/SaSecurityMgr_Dbas.cs diff --git a/SacsStandardDbas/Dbas/Security/SaUpdateLogItemMonitor_SecurityItem.cs b/SacsBusinessDbas/Dbas/Security/SaUpdateLogItemMonitor_SecurityItem.cs similarity index 100% rename from SacsStandardDbas/Dbas/Security/SaUpdateLogItemMonitor_SecurityItem.cs rename to SacsBusinessDbas/Dbas/Security/SaUpdateLogItemMonitor_SecurityItem.cs diff --git a/SacsStandardDbas/Dbas/Security/SaUpdateLogItemMonitor_SecurityLink.cs b/SacsBusinessDbas/Dbas/Security/SaUpdateLogItemMonitor_SecurityLink.cs similarity index 100% rename from SacsStandardDbas/Dbas/Security/SaUpdateLogItemMonitor_SecurityLink.cs rename to SacsBusinessDbas/Dbas/Security/SaUpdateLogItemMonitor_SecurityLink.cs diff --git a/SacsStandardDbas/Dbas/UpdateLog/Internal/SaAttrUpdate_Db.cs b/SacsBusinessDbas/Dbas/UpdateLog/Internal/SaAttrUpdate_Db.cs similarity index 100% rename from SacsStandardDbas/Dbas/UpdateLog/Internal/SaAttrUpdate_Db.cs rename to SacsBusinessDbas/Dbas/UpdateLog/Internal/SaAttrUpdate_Db.cs diff --git a/SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogConsole_Dbas.cs b/SacsBusinessDbas/Dbas/UpdateLog/SaUpdateLogConsole_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogConsole_Dbas.cs rename to SacsBusinessDbas/Dbas/UpdateLog/SaUpdateLogConsole_Dbas.cs diff --git a/SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogDbDfnGenerator.cs b/SacsBusinessDbas/Dbas/UpdateLog/SaUpdateLogDbDfnGenerator.cs similarity index 100% rename from SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogDbDfnGenerator.cs rename to SacsBusinessDbas/Dbas/UpdateLog/SaUpdateLogDbDfnGenerator.cs diff --git a/SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogEntry_Dbas.cs b/SacsBusinessDbas/Dbas/UpdateLog/SaUpdateLogEntry_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogEntry_Dbas.cs rename to SacsBusinessDbas/Dbas/UpdateLog/SaUpdateLogEntry_Dbas.cs diff --git a/SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogInternal.cs b/SacsBusinessDbas/Dbas/UpdateLog/SaUpdateLogInternal.cs similarity index 100% rename from SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogInternal.cs rename to SacsBusinessDbas/Dbas/UpdateLog/SaUpdateLogInternal.cs diff --git a/SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogMgr_Dbas.cs b/SacsBusinessDbas/Dbas/UpdateLog/SaUpdateLogMgr_Dbas.cs similarity index 100% rename from SacsStandardDbas/Dbas/UpdateLog/SaUpdateLogMgr_Dbas.cs rename to SacsBusinessDbas/Dbas/UpdateLog/SaUpdateLogMgr_Dbas.cs diff --git a/SacsBusinessDbas/SacsBusinessDbas.csproj b/SacsBusinessDbas/SacsBusinessDbas.csproj new file mode 100644 index 0000000..e2648b8 --- /dev/null +++ b/SacsBusinessDbas/SacsBusinessDbas.csproj @@ -0,0 +1,18 @@ + + + + net10.0 + Sarand.Net.Standard + + + + + + + + + + + + + diff --git a/SacsCoreWeb/SacsCoreWeb.csproj b/SacsCoreWeb/SacsCoreWeb.csproj index 36b28d7..ec5ea0c 100644 --- a/SacsCoreWeb/SacsCoreWeb.csproj +++ b/SacsCoreWeb/SacsCoreWeb.csproj @@ -11,6 +11,7 @@ + diff --git a/SacsStandardBase/Base/Dbas/DbUtil.cs b/SacsStandardBase/Base/Dbas/DbUtil.cs index 7b2b4eb..90b2490 100644 --- a/SacsStandardBase/Base/Dbas/DbUtil.cs +++ b/SacsStandardBase/Base/Dbas/DbUtil.cs @@ -1,10 +1,27 @@ -namespace Sarand.Net.Standard.Base.Dbas +using System; +using System.Collections.Generic; + +namespace Sarand.Net.Standard.Base.Dbas { - //======================================================================= public static class DbUtil { - //------------------------------------------------------------------- - //------------------------------------------------------------------- + // --- Data Members --- + private static readonly HashSet reservedWords = new HashSet(StringComparer.OrdinalIgnoreCase) + { + "ADD", "ALL", "ALTER", "AND", "ANY", "AS", "ASC", "AVG", "BEGIN", "BETWEEN", "BY", "CASE", "CAST", "COLUMN", "COMMIT", "CONSTRAINT", + "CONVERT", "COUNT", "CREATE", "CURRENCY", "DEFAULT", "DELETE", "DESC", "DISTINCT", "DROP", "ELSE", "END", "EXECUTE", "EXISTS", "FALSE", + "FROM", "GRANT", "GROUP", "HAVING", "IN", "INDEX", "INNER", "INSERT", "INTO", "IS", "JOIN", "KEY", "LEFT", "LIKE", "MAX", "MIN", "NOT", + "NULL", "ON", "OR", "ORDER", "OUTER", "OUTPUT", "PRIMARY", "PROCEDURE", "REVOKE", "ROLLBACK", "ROWCOUNT", "SELECT", "SET", "SQL", "SUM", + "TABLE", "THEN", "TRANSACTION", "TRUE", "UNION", "UNIQUE", "UPDATE", "USER", "VALUES", "VIEW", "WHEN", "WHERE" + }; + + // --- Reserved Word Handling --- + public static String DelimitReservedWord(String word) + { + if (String.IsNullOrEmpty(word) || !reservedWords.Contains(word)) return word; + return $"[{word}]"; + } + + // --- The End --- } - //======================================================================= -} +} \ No newline at end of file diff --git a/SacsStandardDbas/Dbas/Data/SacsDatabaseOdbc.cs b/SacsStandardDbas/Dbas/Data/SacsDatabaseOdbc.cs index 46b4f28..703c169 100644 --- a/SacsStandardDbas/Dbas/Data/SacsDatabaseOdbc.cs +++ b/SacsStandardDbas/Dbas/Data/SacsDatabaseOdbc.cs @@ -1,9 +1,8 @@ -using Microsoft.Data.SqlClient; +using Microsoft.Data.SqlClient; using Sarand.Net.Standard.Base.App; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Dbas; -using Sarand.Net.Standard.Base.Security; using Sarand.Net.Standard.Base.Utils; using Sarand.Net.Standard.Dbas.Base; using System; @@ -150,7 +149,7 @@ namespace Sarand.Net.Standard.Dbas.Data } public override int GetNextIdFromTable(String objectName, String idColumn = "Id") { - DataValue maxId = GetRowValue(SaSecurityDbDfn.DelimitReservedWord(objectName), $"Max({idColumn})", ""); + DataValue maxId = GetRowValue(DbUtil.DelimitReservedWord(objectName), $"Max({idColumn})", ""); if (maxId != null && maxId.GetDataType() != DataValue.DataType.Unknown) return Math.Max(0, (int)maxId.AsLong()) + 1; return 1; diff --git a/docs/component-reviews.md b/docs/component-reviews.md index d053637..dae1345 100644 --- a/docs/component-reviews.md +++ b/docs/component-reviews.md @@ -7,10 +7,11 @@ table td { } -Last updated: 2026-09-16 +Last updated: 2026-10-06 | Component | Scope | Status | Date reviewed | Next steps | Notes | |---|---|---|---|---|---| +| `SacsBusinessBase` and `SacsBusinessDbas` | Paired business object project extraction | Implemented; Common and BusinessMgr builds and unit tests pass | 2026-10-06 | Include these projects in downstream builds when consumers retarget to Common's current framework. | Moved `CodeTypes`, `Diary`, `Interfaces`, `ItemData`, `ItemDocs`, `ItemOptions`, `ReferenceData`, `Security`, and `UpdateLog` with their complete folder contents. Both projects target `net10.0` and retain root namespace `Sarand.Net.Standard`. `SacsDatabaseOdbc` now uses `DbUtil.DelimitReservedWord`, which removes the StandardDbas dependency on Base business code. BusinessMgr project references were updated. Common and BusinessMgr Debug builds pass; Common unit tests pass 185/185, BusinessMgr Control passes 15/15, and Portal passes 13/13. Sandalwood's Windows build succeeds. Sandtrap's Windows build reports a missing `SamThreadUtil.InvokeOnMainThread` API, outside the extracted code. The new database project package audit reports no vulnerable packages. Assembly identity changed, so consumers require rebuilt references. Saxonite remains outside this migration: its projects target `net6.0` while the shared Common libraries target `net10.0`. | | `SacsStandardBase/Base/Utils/AssemblyUtil.cs` | PE/COFF timestamp utility | Hardened and covered | 2026-09-16 | Retain the focused tests; use the non-throwing `TryGetBuildDateTime` API where an unavailable timestamp must be distinguished from `DateTime.MinValue`. | Exact primitive reads replace unchecked partial reads and marshaling. Five tests cover a known timestamp, invalid signature, truncated input, a loaded assembly, and null input. COFF timestamps are not presented as reliable physical build times for deterministic builds. Existing framework APIs already cover assembly identity, version, and metadata, so no duplicate convenience wrappers were added. | | `SaCommonVS.sln` | .NET 10 migration build and tests | Migration complete; passing with warnings | 2026-09-16 | Continue the staged package review with the remaining framework-aligned and separately tested major updates. | All supported projects target .NET 10 only. The completed package and utility updates pass the complete validation. The solution builds with zero errors and all 185 tests pass; BusinessMgr builds with 15 Control and 13 Portal tests passing. Xamarin remains isolated and unchanged. | | `SacsStandardBase/Base/Utils/ImageUtils.cs` | ImageSharp wrapper | Covered; package retained pending later functional review | 2026-09-16 | Leave ImageSharp 3.1.12 unchanged and revisit raster handling, licensing, and alternatives separately. | Five in-memory tests cover PNG and JPEG metadata, invalid and truncated input, SVG recognition, format-preserving encoding, proportional landscape and portrait resizing, no-upscale behavior, and invalid constraints. Later options are to license and upgrade to ImageSharp 4.1.2, retain a secure 3.x release, migrate to MIT-licensed SkiaSharp with its native assets and wrapper rewrite, or evaluate Magick.NET/ImageMagick for its broad format and processing support while accounting for native binaries and a heavier dependency footprint. This raster concern is distinct from BusinessMgr's Windows-only report printing. | diff --git a/docs/topics.md b/docs/topics.md index cffaa36..556eee7 100644 --- a/docs/topics.md +++ b/docs/topics.md @@ -7,7 +7,7 @@ table td { } -Last updated: 2026-09-16 +Last updated: 2026-10-06 ## Prioritised Topics to Be Actioned @@ -16,6 +16,7 @@ Last updated: 2026-09-16 | P2 | Externalise and rotate encryption keys | 2026-09-16 | Move the retained in-code application keys to protected configuration or a secret store, then add key identifiers and a rotation policy in a separately scoped change. | The agreed clean-break AES-GCM migration is complete and intentionally retains the existing key strings. This follow-up is defense-in-depth and requires an operational key-deployment decision. | | P3 | Review raster image handling and ImageSharp | 2026-09-16 | Retain ImageSharp 3.1.12 for now and revisit the wrapper, licensing, and alternatives as a separately scoped functional review. | Version 3.1.12 has no reported vulnerability and five focused tests cover the current narrow use. Later options are: obtain an eligible free or commercial licence and upgrade to ImageSharp 4.1.2; retain a supported secure 3.x release; migrate to MIT-licensed SkiaSharp, accepting native runtime assets and a wrapper rewrite; or evaluate Magick.NET/ImageMagick as a candidate with broad image-format and processing support but native binaries and a heavier dependency footprint. This review is separate from BusinessMgr's Windows printer integration. | | P3 | Define disposal and cross-thread status semantics | 2026-09-09 | Decide whether to add asynchronous disposal and a synchronized process-status snapshot. | Disposal currently requests cancellation without awaiting termination; several status properties are read across threads. | +| P3 | Review duplicated reserved-word delimiting logic | 2026-10-06 | Compare the `DbDfn` implementations, generated output, and `DbUtil` helper; decide whether to centralise the logic while preserving each caller's reserved-word list and configurable delimiter behavior. | Eight business database-definition classes duplicate equivalent logic. `DbUtil.DelimitReservedWord` uses a separate word list and fixed square brackets, so it is not a drop-in equivalent. | ## Project-Specific Trackers @@ -40,6 +41,7 @@ Last updated: 2026-09-16 | Topic | Date noted | Date started | Date completed | Outcome | |---|---|---|---|---| +| Extract paired business object projects | 2026-10-06 | 2026-10-06 | 2026-10-06 | Created `SacsBusinessBase` and `SacsBusinessDbas` and moved the complete `CodeTypes`, `Diary`, `Interfaces`, `ItemData`, `ItemDocs`, `ItemOptions`, `ReferenceData`, `Security`, and `UpdateLog` folders. Preserved namespaces and `net10.0`; added project references to Common's CodeTypes consumer and all BusinessMgr projects that referenced the original libraries. Moved reserved-word handling to `DbUtil` to remove the StandardDbas-to-Security dependency. Common and BusinessMgr Debug builds pass; Common unit tests pass 185/185, BusinessMgr Control passes 15/15, and Portal passes 13/13. The new database project package audit reports no vulnerable packages. Sandalwood's Windows build passes. Sandtrap's Windows build still fails on `SamThreadUtil.InvokeOnMainThread`, outside this extraction. | | Complete primary `SaProcess_Base` lifecycle protections | 2026-09-08 | 2026-09-08 | 2026-09-17 | A single lifecycle guard now rejects overlapping inline and asynchronous starts in either direction. A read-only interruption record preserves the first reason (manual request, cancellation request, or `OperationCanceledException`) until the next run resets it. `StopProcessAsync` now selects token cancellation for an asynchronous worker or a manual interruption request for an inline worker, then awaits completion. Cancellation is retained after asynchronous task-data cleanup, `OperationCanceledException` becomes cancellation rather than an error, and the async worker always runs its cleanup even if cancellation occurs before its delegate begins. Twelve focused tests cover successful execution, both overlap directions, pre-start cancellation, both stop modes, timeout retention, interruption reasons, cooperative cancellation, cancellation exceptions, and callback lock safety. No production `RunAsync()` call sites were found across Common, BusinessMgr, Sandtrap, or Sandalwood. Deferred work is limited to disposal/status semantics and derived-process cooperative polling. | | Replace legacy CBC encryption with authenticated encryption | 2026-09-08 | 2026-09-16 | 2026-09-16 | Implemented the `SACSENC2.` AES-GCM envelope with fresh nonces, 16-byte authentication tags, and purpose-bound associated data. Removed active CBC, fixed/session IVs, legacy reads, and plaintext fallback. Retained existing in-code keys by explicit decision. Thirty focused Common tests and BusinessMgr consumer tests cover the new behavior; see [`authenticated-encryption-migration.md`](authenticated-encryption-migration.md). | | Remove the obsolete PBKDF2 usage and establish encryption compatibility coverage | 2026-09-10 | 2026-09-16 | 2026-09-16 | Replaced the obsolete `Rfc2898DeriveBytes` constructor with static `Pbkdf2` using the same password, fixed salt, 300 iterations, SHA-256, and key length. Fixed legacy ciphertext proved derived-key and stored-data compatibility before the subsequent clean-break authenticated-encryption migration replaced that legacy format. Expanded direct coverage across both encryption helpers, corrected whitespace-only key acceptance, and disposed AES and transform resources. | diff --git a/eng/README.md b/eng/README.md index 2cd6e08..4257d49 100644 --- a/eng/README.md +++ b/eng/README.md @@ -10,4 +10,4 @@ Use `-SkipRestore` when packages are already restored. Use `-SkipDownstream` onl Use `-CollectCoverage` after changing the test platform or coverage collector. It runs an additional Common coverage pass, validates that a non-empty Cobertura report was produced, and passes the same option to downstream BusinessMgr validation. -The script suppresses .NET first-run setup and banners, builds serially to avoid excessive build-worker creation, runs the focused SQL/ODBC-provider and NPOI spreadsheet suites before the complete test project, stores test and optional coverage output under the ignored `TestResults/Validation` folder, audits the database- and NPOI-owning projects for vulnerable packages, checks the Git diff, and verifies working-tree line endings without modifying files. Its isolated `DOTNET_CLI_HOME` stores only CLI state; NuGet packages reuse `NUGET_PACKAGES` when already configured or the user's standard `.nuget/packages` cache. +The script suppresses .NET first-run setup and banners, builds serially to avoid excessive build-worker creation, runs the focused SQL/ODBC-provider and NPOI spreadsheet suites before the complete test project, stores test and optional coverage output under the ignored `TestResults/Validation` folder, audits the database- and NPOI-owning projects (`SacsStandardDbas`, `SacsBusinessDbas`, and `SacsStandardProc`) for vulnerable packages, checks the Git diff, and verifies working-tree line endings without modifying files. Its isolated `DOTNET_CLI_HOME` stores only CLI state; NuGet packages reuse `NUGET_PACKAGES` when already configured or the user's standard `.nuget/packages` cache. diff --git a/eng/validate.ps1 b/eng/validate.ps1 index 49a9b98..68cb5da 100644 --- a/eng/validate.ps1 +++ b/eng/validate.ps1 @@ -111,6 +111,7 @@ try Test-CoverageReport $coverageResultsPath } Invoke-External dotnet @('list', 'SacsStandardDbas\SacsStandardDbas.csproj', 'package', '--vulnerable', '--include-transitive') + Invoke-External dotnet @('list', 'SacsBusinessDbas\SacsBusinessDbas.csproj', 'package', '--vulnerable', '--include-transitive') Invoke-External dotnet @('list', 'SacsStandardProc\SacsStandardProc.csproj', 'package', '--vulnerable', '--include-transitive') Invoke-External git @('diff', '--check') Test-LineEndings