Compare commits
344 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2b4cad4234 | |||
| 6411d247b4 | |||
| 6f621a29df | |||
| 780c2f42eb | |||
| d3b2b9e329 | |||
| a8f1ff26be | |||
| f43647cd8d | |||
| 65e3b9bbbc | |||
| 8bf4afba99 | |||
| a84c50adb0 | |||
| 39363279d7 | |||
| 4db476b01f | |||
| cf2a7e8c26 | |||
| f953976c53 | |||
| 6f5f44de8e | |||
| c455a2347f | |||
| edca6ca957 | |||
| 0e7e0aaed0 | |||
| 8525d81201 | |||
| 12b85c2572 | |||
| 1cdefe6af8 | |||
| a6c743d8b6 | |||
| 59249c189a | |||
| c865420e95 | |||
| a9acd2ca69 | |||
| e416f5c3d4 | |||
| fabfeb7a08 | |||
| 1508a3dbbe | |||
| 82d9ceed85 | |||
| 22a7aa4477 | |||
| d9c59a05a5 | |||
| f4c7799859 | |||
| e8201e9099 | |||
| 879e515188 | |||
| fc3e4e7372 | |||
| 6c9e5f403f | |||
| 9a2b7fbefe | |||
| 301d597dff | |||
| aaf27bbea7 | |||
| 7521e64053 | |||
| 09fc6e601c | |||
| 46148de703 | |||
| c2d1d20730 | |||
| f28649c58a | |||
| 3acf0fd545 | |||
| 26a9feaf36 | |||
| ae81204ea6 | |||
| 6789b0403e | |||
| 653504843e | |||
| 2062754086 | |||
| 7087118de8 | |||
| d05768c7eb | |||
| 7fe2bb284b | |||
| 87f9e25692 | |||
| e7d821bb68 | |||
| 451275fbce | |||
| b024f32740 | |||
| 0dfdbb67a4 | |||
| 13e17a28ae | |||
| da7cfb9668 | |||
| 863cb3d3a9 | |||
| 0b21a06a45 | |||
| e4beba61e2 | |||
| 6d020b1201 | |||
| c7005ec513 | |||
| 593ebfce5e | |||
| 39a534b727 | |||
| 9a68a597ec | |||
| d4cf7eebd2 | |||
| 35eab707a4 | |||
| c1a427f3a9 | |||
| e2e6bc48a0 | |||
| c0b444d210 | |||
| 2b30e7e8bb | |||
| 0ff38c19a4 | |||
| ce4a42265e | |||
| acf43e8f43 | |||
| 9a111d2b8a | |||
| 0742741b91 | |||
| a66da619d8 | |||
| 412f538867 | |||
| 1f16e654ab | |||
| 46b940f9a5 | |||
| 0f9f5e0d9f | |||
| 52f1bd94ef | |||
| f3bfe84fe3 | |||
| 99f1936e87 | |||
| 29b8b2982d | |||
| 0723f607ab | |||
| 479f652514 | |||
| 9720ecf32e | |||
| 51ffd61a6c | |||
| 105e29f577 | |||
| 5ce82b0e19 | |||
| 3cfb050874 | |||
| f900437399 | |||
| 2707f9e023 | |||
| fb38958765 | |||
| bccbc9c079 | |||
| be16a428f7 | |||
| 54e707ff08 | |||
| d8388b2746 | |||
| ae21e4ba55 | |||
| 58359adc9b | |||
| 7f1a6ffc5f | |||
| f317c9fd23 | |||
| b62a5c4c13 | |||
| 4b41ed6dde | |||
| 366e6adc94 | |||
| e3fc22a553 | |||
| 2dc5d2758e | |||
| 92c83da129 | |||
| 4c21b97bc9 | |||
| 3c4b697292 | |||
| 9e75f7424f | |||
| d83bf57b0a | |||
| 29762cd69c | |||
| da13dbc417 | |||
| 328673f192 | |||
| 050e698eed | |||
| d6085b56ab | |||
| fee246f3fe | |||
| 3977b5398f | |||
| 0b04856907 | |||
| ddb9bf4347 | |||
| 4328747e3e | |||
| 7a3d9bb81c | |||
| 194208fd89 | |||
| 8d3166dbe9 | |||
| bdf4b6b8bd | |||
| 79e1d71ce4 | |||
| b45a91e194 | |||
| fccc1372ea | |||
| 24e3b63980 | |||
| bd51f368b1 | |||
| e405942d03 | |||
| 7ac353e8c6 | |||
| 2bd50a4bc6 | |||
| 19b4b8ccf0 | |||
| 266ee95b1b | |||
| f76c88d65d | |||
| 25c6ba7fd2 | |||
| 0c6c2ac78e | |||
| b0e6f410f6 | |||
| dec92ec530 | |||
| 7909d68b29 | |||
| 3eafecd756 | |||
| c7128e19a8 | |||
| d9d0ee9e28 | |||
| 3ba155eb99 | |||
| efc0f0ebb1 | |||
| db29fc6274 | |||
| fc66013385 | |||
| 33de4d3616 | |||
| f3143573be | |||
| c762b4e74b | |||
| e0d2323f5d | |||
| d039202670 | |||
| 4d58189581 | |||
| e455bb217e | |||
| 10dde714e2 | |||
| c031fe76ba | |||
| 82fc76b11f | |||
| 42b30e1941 | |||
| ed163d7af2 | |||
| e16135fbc8 | |||
| 110b473f60 | |||
| d6c32c34fd | |||
| a17a586ddb | |||
| d144d94a25 | |||
| fb9874bbf2 | |||
| 3c923ecf97 | |||
| a577ef73aa | |||
| 1a91e26889 | |||
| 45c2f9bb45 | |||
| 678c01a668 | |||
| 009dca4f75 | |||
| ac397783be | |||
| 8530434732 | |||
| a692e1edb4 | |||
| ab197081d3 | |||
| 29b9fcb3a9 | |||
| 1f2a89e6f0 | |||
| 9fe3f55843 | |||
| 1f792414ff | |||
| f1a1abd01c | |||
| 0be708298d | |||
| 30168c4b2f | |||
| 93fb00f578 | |||
| 14f0a59735 | |||
| 2fda59f6f0 | |||
| b0e1dcee8a | |||
| d8abf28daa | |||
| 2e40246d1f | |||
| 1e6efc742f | |||
| c1db6ca7af | |||
| 29765b910c | |||
| 742243a535 | |||
| 4b5c8b2252 | |||
| c80e6dbf48 | |||
| c071537424 | |||
| f91edeee5e | |||
| 190495b7db | |||
| 27f9277f6b | |||
| 7ef594326d | |||
| 53e69c0b78 | |||
| fe03d05930 | |||
| e6914a4844 | |||
| 0685c93139 | |||
| f91920790e | |||
| 2020eb6345 | |||
| e2028e0a4f | |||
| 60b054670d | |||
| 019d92c270 | |||
| e5bc914931 | |||
| ca7c964eb1 | |||
| d45bbf6584 | |||
| c736cbc801 | |||
| 946397bede | |||
| f1d4c26764 | |||
| 0e6faace39 | |||
| 12d1090540 | |||
| 869ec0ef1c | |||
| a59e256c98 | |||
| 67b8d15334 | |||
| bea6909bee | |||
| 60ecb70e38 | |||
| a154539950 | |||
| 3b3a02580e | |||
| 2a18895363 | |||
| 6cf54dc715 | |||
| 02f0150d09 | |||
| d4cfe83a9e | |||
| 23bf2f0b65 | |||
| ae68fe976d | |||
| 3f839c17f1 | |||
| 9d0c18c3b8 | |||
| 4c1d09942f | |||
| 32b5a94a51 | |||
| 17201d746f | |||
| 4cef12e37f | |||
| 0e1c22f96b | |||
| 3124f08474 | |||
| f8441f933f | |||
| e987a80d29 | |||
| c5d3ee3504 | |||
| 8c957edad8 | |||
| 84144b4beb | |||
| 151224bc56 | |||
| b2b3ed53e1 | |||
| 29112f8f48 | |||
| 320d2626fb | |||
| 00868a24c0 | |||
| db89b3d0d3 | |||
| a288ed6a5b | |||
| 9388ad6493 | |||
| ec58c870ea | |||
| 4916dd42ff | |||
| 4aa21de3b7 | |||
| 1b4c4d7cb8 | |||
| 10cecc4139 | |||
| 1cc55a6057 | |||
| 669b5b36f1 | |||
| 252f07cb29 | |||
| 07eacd022e | |||
| 72a880fb11 | |||
| 0d5e3b6698 | |||
| a205f4f77e | |||
| 40193db94f | |||
| 1d5e80df53 | |||
| 9f8ce27816 | |||
| 7b4b3294f0 | |||
| 85ea97634e | |||
| 72627f8128 | |||
| 912af1e60e | |||
| fd40a6906f | |||
| 2b97d85014 | |||
| 3081e8a908 | |||
| 0b58359db7 | |||
| d4f26def6f | |||
| 1ec15d956d | |||
| d2de5f4657 | |||
| 3b311a8ce1 | |||
| 95ed44155b | |||
| 8d9ddaa4a0 | |||
| b375148943 | |||
| 58f130e059 | |||
| 2310fa020a | |||
| 2c1bf139c9 | |||
| e3b9c6e0e7 | |||
| e73766589d | |||
| f59d4c9876 | |||
| b629b5ce1f | |||
| cb51e3f7fc | |||
| 5593ddc7fc | |||
| edaa834a9c | |||
| 490011bae5 | |||
| cc9e69efda | |||
| 7b72561b8f | |||
| 0d47f1ae7c | |||
| 35ba495030 | |||
| 274f0ed3ae | |||
| 0b3fb477dd | |||
| dc63e7677d | |||
| 66e8eae0f1 | |||
| 3964eddd45 | |||
| b1d69ba8f8 | |||
| 93ffb43953 | |||
| fc5c4f6abd | |||
| 36e3c59114 | |||
| d587ee3a45 | |||
| 99d64bdb60 | |||
| 0214ebec10 | |||
| e52d64bd08 | |||
| 349cce9462 | |||
| e5f0d7976a | |||
| 273fa4fc0c | |||
| 0813e3b2d2 | |||
| b55d30654f | |||
| ea228a9691 | |||
| a6f42b827e | |||
| 5b74509348 | |||
| 0404435ec3 | |||
| f5181dd4f3 | |||
| 870cf85e3f | |||
| 3ec1511aec | |||
| 9989c7767e | |||
| 7c5adc9012 | |||
| 0f61efdf58 | |||
| 3079068c62 | |||
| f70814d444 | |||
| afaa9a5516 | |||
| 8195f63702 | |||
| ac6695e7b0 | |||
| 2e05e8cac6 | |||
| 9e1946c636 | |||
| d560cf97d9 | |||
| 6a1e5ff3f3 | |||
| 5d656f2dce | |||
| 179d358604 | |||
| 26f64d1ecf | |||
| 8897c3cc3b | |||
| 2588ef155c | |||
| ae634079f9 |
+76
-15
@@ -11,8 +11,6 @@ variables:
|
|||||||
NUGET_PATH: 'C:\Tools\nuget.exe'
|
NUGET_PATH: 'C:\Tools\nuget.exe'
|
||||||
DEST: 'install'
|
DEST: 'install'
|
||||||
|
|
||||||
# nota: cer creazione rules: https://docs.gitlab.com/ee/ci/jobs/job_control.html#common-if-clauses-for-rules
|
|
||||||
|
|
||||||
# helper x fix pacchetti nuget da repo locale nexus.steamware.net
|
# helper x fix pacchetti nuget da repo locale nexus.steamware.net
|
||||||
.nuget-fix: &nuget-fix
|
.nuget-fix: &nuget-fix
|
||||||
- |
|
- |
|
||||||
@@ -47,19 +45,6 @@ variables:
|
|||||||
dotnet nuget list source
|
dotnet nuget list source
|
||||||
|
|
||||||
|
|
||||||
## helper x fix appsettings config nei casi installer / office
|
|
||||||
#.appsettings-fix: &appsettings-fix
|
|
||||||
# - |
|
|
||||||
# echo "esecuzione FIX appsettings.json"
|
|
||||||
# $srcFile="$env:APP_NAME/appsettings.Production-install.json"
|
|
||||||
# $dstFile="$env:APP_NAME/appsettings.Production.json"
|
|
||||||
# if (($env:DEST -ne 'install')) {
|
|
||||||
# $srcFile="$env:APP_NAME/appsettings.Production-office.json"
|
|
||||||
# }
|
|
||||||
# echo "Copy-Item -Path $srcFile -Destination $dstFile -force"
|
|
||||||
# Copy-Item -Path $srcFile -Destination $dstFile -force
|
|
||||||
# echo "Completata copia file appsettings.json corretto"
|
|
||||||
|
|
||||||
# helper creazione hash files x IIS
|
# helper creazione hash files x IIS
|
||||||
.hashBuild: &hashBuild
|
.hashBuild: &hashBuild
|
||||||
- |
|
- |
|
||||||
@@ -185,6 +170,44 @@ Lux.API:build:
|
|||||||
- echo $CI_COMMIT_BRANCH
|
- echo $CI_COMMIT_BRANCH
|
||||||
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
|
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
|
||||||
|
|
||||||
|
Lux.RepMan:build:
|
||||||
|
stage: build
|
||||||
|
tags:
|
||||||
|
- win
|
||||||
|
variables:
|
||||||
|
APP_NAME: Lux.Report.Manager
|
||||||
|
SOL_NAME: Lux.Report
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'develop'
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'main'
|
||||||
|
- if: $CI_COMMIT_BRANCH =~ /^feature\/Lux.API.+/
|
||||||
|
when: always
|
||||||
|
before_script:
|
||||||
|
- *nuget-fix
|
||||||
|
- dotnet restore "$env:SOL_NAME.sln"
|
||||||
|
script:
|
||||||
|
- echo $CI_COMMIT_BRANCH
|
||||||
|
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
|
||||||
|
|
||||||
|
Lux.RepSrv:build:
|
||||||
|
stage: build
|
||||||
|
tags:
|
||||||
|
- win
|
||||||
|
variables:
|
||||||
|
APP_NAME: Lux.Report.Server
|
||||||
|
SOL_NAME: Lux.Report
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'develop'
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'main'
|
||||||
|
- if: $CI_COMMIT_BRANCH =~ /^feature\/Lux.API.+/
|
||||||
|
when: always
|
||||||
|
before_script:
|
||||||
|
- *nuget-fix
|
||||||
|
- dotnet restore "$env:SOL_NAME.sln"
|
||||||
|
script:
|
||||||
|
- echo $CI_COMMIT_BRANCH
|
||||||
|
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
|
||||||
|
|
||||||
# --------------------------------
|
# --------------------------------
|
||||||
# DEPLOY develop (IIS01 + beta nuget)
|
# DEPLOY develop (IIS01 + beta nuget)
|
||||||
# --------------------------------
|
# --------------------------------
|
||||||
@@ -226,6 +249,44 @@ Lux.API:IIS01:deploy:
|
|||||||
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
|
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
|
||||||
- dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
|
- dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
|
||||||
|
|
||||||
|
Lux.RepMan:IIS01:deploy:
|
||||||
|
stage: deploy
|
||||||
|
tags:
|
||||||
|
- win
|
||||||
|
variables:
|
||||||
|
APP_NAME: Lux.Report.Manager
|
||||||
|
SOL_NAME: Lux.Report
|
||||||
|
before_script:
|
||||||
|
- *nuget-fix
|
||||||
|
- dotnet restore "$env:SOL_NAME.sln"
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'develop'
|
||||||
|
- if: $CI_COMMIT_BRANCH =~ /^feature\/Lux.API.+/
|
||||||
|
when: always
|
||||||
|
needs: ["Lux.RepMan:build"]
|
||||||
|
script:
|
||||||
|
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
|
||||||
|
- dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
|
||||||
|
|
||||||
|
Lux.RepSrv:IIS01:deploy:
|
||||||
|
stage: deploy
|
||||||
|
tags:
|
||||||
|
- win
|
||||||
|
variables:
|
||||||
|
APP_NAME: Lux.Report.Server
|
||||||
|
SOL_NAME: Lux.Report
|
||||||
|
before_script:
|
||||||
|
- *nuget-fix
|
||||||
|
- dotnet restore "$env:SOL_NAME.sln"
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_BRANCH == 'develop'
|
||||||
|
- if: $CI_COMMIT_BRANCH =~ /^feature\/Lux.API.+/
|
||||||
|
when: always
|
||||||
|
needs: ["Lux.RepSrv:build"]
|
||||||
|
script:
|
||||||
|
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
|
||||||
|
- dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
|
||||||
|
|
||||||
EgwCoreLib.Lux.Core:SDK:deploy:
|
EgwCoreLib.Lux.Core:SDK:deploy:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
tags:
|
tags:
|
||||||
|
|||||||
+18
-12
@@ -8,11 +8,17 @@
|
|||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
</PackageVersion>
|
</PackageVersion>
|
||||||
<PackageVersion Include="Egw.Lux.WebWindow.Base" Version="3.1.3.916" />
|
<PackageVersion Include="DevExpress.AspNetCore.Reporting" Version="25.2.5" />
|
||||||
<PackageVersion Include="Egw.Lux.WebWindowComplex" Version="3.1.3.916" />
|
<PackageVersion Include="DevExpress.Blazor" Version="25.2.5" />
|
||||||
|
<PackageVersion Include="DevExpress.Blazor.Reporting.JSBasedControls" Version="25.2.5" />
|
||||||
|
<PackageVersion Include="DevExpress.Blazor.Reporting.Viewer" Version="25.2.5" />
|
||||||
|
<PackageVersion Include="Microsoft.CodeAnalysis" Version="5.3.0" />
|
||||||
|
<PackageVersion Include="Microsoft.Data.Sqlite" Version="10.0.5" />
|
||||||
|
<PackageVersion Include="Egw.Lux.WebWindow.Base" Version="3.1.5.1509" />
|
||||||
|
<PackageVersion Include="Egw.Lux.WebWindowComplex" Version="3.1.5.1509" />
|
||||||
<PackageVersion Include="Egw.Window.Data" Version="2.8.1.2611" />
|
<PackageVersion Include="Egw.Window.Data" Version="2.8.1.2611" />
|
||||||
<PackageVersion Include="EgwCoreLib.Razor" Version="1.5.2511.312" />
|
<PackageVersion Include="EgwCoreLib.Razor" Version="1.5.2605.511" />
|
||||||
<PackageVersion Include="EgwCoreLib.Utils" Version="1.5.2511.312" />
|
<PackageVersion Include="EgwCoreLib.Utils" Version="1.5.2605.511" />
|
||||||
<PackageVersion Include="EgwMultiEngineManager.Data" Version="3.1.1.2" />
|
<PackageVersion Include="EgwMultiEngineManager.Data" Version="3.1.1.2" />
|
||||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.23" />
|
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.23" />
|
||||||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="8.0.23" />
|
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="8.0.23" />
|
||||||
@@ -29,16 +35,16 @@
|
|||||||
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.12" />
|
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.12" />
|
||||||
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="9.0.12" />
|
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="9.0.12" />
|
||||||
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
|
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
|
||||||
<PackageVersion Include="NLog" Version="6.0.7" />
|
<PackageVersion Include="NLog" Version="6.1.2" />
|
||||||
<PackageVersion Include="NLog.Targets.OpenTelemetryProtocol" Version="1.2.6" />
|
<PackageVersion Include="NLog.Targets.OpenTelemetryProtocol" Version="1.2.7" />
|
||||||
<PackageVersion Include="NLog.Web.AspNetCore" Version="6.1.0" />
|
<PackageVersion Include="NLog.Web.AspNetCore" Version="6.1.2" />
|
||||||
<PackageVersion Include="OpenTelemetry.Api" Version="1.15.0" />
|
<PackageVersion Include="OpenTelemetry.Api" Version="1.15.0" />
|
||||||
<PackageVersion Include="OpenTelemetry.Exporter.Console" Version="1.15.0" />
|
<PackageVersion Include="OpenTelemetry.Exporter.Console" Version="1.15.3" />
|
||||||
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.15.0" />
|
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.15.3" />
|
||||||
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.15.0" />
|
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.15.3" />
|
||||||
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.15.0" />
|
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.15.2" />
|
||||||
<PackageVersion Include="OpenTelemetry.Instrumentation.EntityFrameworkCore" Version="1.15.0-beta.1" />
|
<PackageVersion Include="OpenTelemetry.Instrumentation.EntityFrameworkCore" Version="1.15.0-beta.1" />
|
||||||
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.15.0" />
|
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.15.1" />
|
||||||
<PackageVersion Include="OpenTelemetry.Instrumentation.StackExchangeRedis" Version="1.15.0-beta.1" />
|
<PackageVersion Include="OpenTelemetry.Instrumentation.StackExchangeRedis" Version="1.15.0-beta.1" />
|
||||||
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.3" />
|
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.3" />
|
||||||
<PackageVersion Include="Radzen.Blazor" Version="8.6.5" />
|
<PackageVersion Include="Radzen.Blazor" Version="8.6.5" />
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
namespace EgwCoreLib.Lux.Core
|
||||||
|
{
|
||||||
|
public static class CloneExtensions
|
||||||
|
{
|
||||||
|
#region Public Methods
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clone profondo tramite serializzazione/deserializzazione di obj generici
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="T"></typeparam>
|
||||||
|
/// <param name="obj"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static T DeepClone<T>(this T obj)
|
||||||
|
{
|
||||||
|
// Configurazione serializzatore JSON per risolvere errore di loop circolare
|
||||||
|
var JSSettings = new JsonSerializerSettings()
|
||||||
|
{
|
||||||
|
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
|
||||||
|
};
|
||||||
|
var json = JsonConvert.SerializeObject(obj, JSSettings);
|
||||||
|
return JsonConvert.DeserializeObject<T>(json)!;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Comparatore statico tra entità
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="T"></typeparam>
|
||||||
|
/// <param name="original"></param>
|
||||||
|
/// <param name="edited"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static bool IsChanged<T>(T original, T edited) => !EqualityComparer<T>.Default.Equals(original, edited);
|
||||||
|
|
||||||
|
#endregion Public Methods
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
//// <Auto-Generated>
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
//// <Auto-Generated>
|
|
||||||
//// This is here so CodeMaid doesn't reorganize this document
|
//// This is here so CodeMaid doesn't reorganize this document
|
||||||
//// </Auto-Generated>
|
//// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Core
|
namespace EgwCoreLib.Lux.Core
|
||||||
@@ -12,7 +6,7 @@ namespace EgwCoreLib.Lux.Core
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Configurazione costanti applicative
|
/// Configurazione costanti applicative
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class Constants
|
public class Const
|
||||||
{
|
{
|
||||||
|
|
||||||
// dati conf REDIS Cache
|
// dati conf REDIS Cache
|
||||||
@@ -1,12 +1,6 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Core
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core
|
|
||||||
{
|
{
|
||||||
public class DtUtils
|
public class DateTimeUtils
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Formattazione dataora fissa come HH:mm:ss
|
/// Formattazione dataora fissa come HH:mm:ss
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
namespace EgwCoreLib.Lux.Core.Dto
|
||||||
|
{
|
||||||
|
public class ParamConfigDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Nome parametro
|
||||||
|
/// </summary>
|
||||||
|
public string Name { get; set; } = "fix";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Tipo parametro:
|
||||||
|
/// - fix (fisso)
|
||||||
|
/// - url (prende da URL QueryString)
|
||||||
|
/// </summary>
|
||||||
|
public string Type { get; set; } = "fix";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Per recuperare da ingresso (es URL)
|
||||||
|
/// </summary>
|
||||||
|
public string vIN { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Valore out (da passare come apram x report)
|
||||||
|
/// </summary>
|
||||||
|
public string vOUT { get; set; } = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,6 +4,19 @@
|
|||||||
{
|
{
|
||||||
#region Public Enums
|
#region Public Enums
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Stato compilazione offerta
|
||||||
|
/// </summary>
|
||||||
|
public enum CompileStep
|
||||||
|
{
|
||||||
|
Draft = 0,
|
||||||
|
Header = 1,
|
||||||
|
General,
|
||||||
|
Rows,
|
||||||
|
Delivery,
|
||||||
|
FinalCheck
|
||||||
|
}
|
||||||
|
|
||||||
public enum DisplayMode
|
public enum DisplayMode
|
||||||
{
|
{
|
||||||
Standard,
|
Standard,
|
||||||
@@ -44,6 +57,27 @@
|
|||||||
JobCycle
|
JobCycle
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Tipologia immagine
|
||||||
|
/// </summary>
|
||||||
|
public enum ImageType
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Non definita (da calcolare...)
|
||||||
|
/// </summary>
|
||||||
|
ND = 0,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Calcolata (es JWD, BTL)
|
||||||
|
/// </summary>
|
||||||
|
Calculated,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Fissa (tipicamente prodotto da rivendita/servizio)
|
||||||
|
/// </summary>
|
||||||
|
Fixed
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tipologia item (classe/natura articolo)
|
/// Tipologia item (classe/natura articolo)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -77,25 +111,6 @@
|
|||||||
BomAlt
|
BomAlt
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Tipologia immagine
|
|
||||||
/// </summary>
|
|
||||||
public enum ImageType
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Non definita (da calcolare...)
|
|
||||||
/// </summary>
|
|
||||||
ND = 0,
|
|
||||||
/// <summary>
|
|
||||||
/// Calcolata (es JWD, BTL)
|
|
||||||
/// </summary>
|
|
||||||
Calculated,
|
|
||||||
/// <summary>
|
|
||||||
/// Fissa (tipicamente prodotto da rivendita/servizio)
|
|
||||||
/// </summary>
|
|
||||||
Fixed
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tipologia item per Source (modalità costruzione)
|
/// Tipologia item per Source (modalità costruzione)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -147,6 +162,9 @@
|
|||||||
Lost
|
Lost
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Status ordini cliente
|
||||||
|
/// </summary>
|
||||||
public enum OrderStates
|
public enum OrderStates
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -195,6 +213,39 @@
|
|||||||
Closed
|
Closed
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum BuyOrderStates
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Ordine acquisto creato da BOM di 1/+ ordini
|
||||||
|
/// </summary>
|
||||||
|
Created,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Richiesta quotazione fornitori
|
||||||
|
/// </summary>
|
||||||
|
Requested,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Assegnato a supplier (e inviato)
|
||||||
|
/// </summary>
|
||||||
|
Assigned,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Parzialmente ricevuto
|
||||||
|
/// </summary>
|
||||||
|
Partial,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Completato poiché ho ricevuto Merce (e DDT)
|
||||||
|
/// </summary>
|
||||||
|
Completed,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Ordine chiuso (con fatturazione)
|
||||||
|
/// </summary>
|
||||||
|
Closed
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Enum risultati verifica lavorabilità part (e tempo)
|
/// Enum risultati verifica lavorabilità part (e tempo)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -205,6 +256,34 @@
|
|||||||
MACHINABLE = 1,
|
MACHINABLE = 1,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Tipo di code del Prod
|
||||||
|
/// </summary>
|
||||||
|
public enum ProdQueueType
|
||||||
|
{
|
||||||
|
waiting,
|
||||||
|
running,
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Modalità raggruppamento (giornalieri, orari...)
|
||||||
|
/// </summary>
|
||||||
|
public enum RuidGroupMode
|
||||||
|
{
|
||||||
|
Day,
|
||||||
|
Hour
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Tipo di dati raggruppamento gestiti
|
||||||
|
/// </summary>
|
||||||
|
public enum RuidTagMode
|
||||||
|
{
|
||||||
|
Envir,
|
||||||
|
Mode
|
||||||
|
}
|
||||||
|
|
||||||
#endregion Public Enums
|
#endregion Public Enums
|
||||||
|
|
||||||
#if false
|
#if false
|
||||||
|
|||||||
@@ -1,11 +1,4 @@
|
|||||||
using NLog;
|
namespace EgwCoreLib.Lux.Core
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core
|
|
||||||
{
|
{
|
||||||
public class FileUtils
|
public class FileUtils
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
namespace EgwCoreLib.Lux.Core.Generic
|
||||||
|
{
|
||||||
|
public class EditStepDto
|
||||||
|
{
|
||||||
|
public Enums.CompileStep SrcStep { get; set; }
|
||||||
|
public bool Changed { get; set; } = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Core.Generic
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.Generic
|
|
||||||
{
|
{
|
||||||
public class EventDto
|
public class EventDto
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Core.Generic
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.Generic
|
|
||||||
{
|
{
|
||||||
public class GroupDetailDTO
|
public class GroupDetailDTO
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Core.Generic
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.Generic
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Definizione di item raw x calcolo lavorazioni
|
/// Definizione di item raw x calcolo lavorazioni
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
using System;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.Generic
|
namespace EgwCoreLib.Lux.Core.Generic
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Core.Generic
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.Generic
|
|
||||||
{
|
{
|
||||||
public class TaskHistDTO
|
public class TaskHistDTO
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
global using Newtonsoft.Json;
|
||||||
|
global using NLog;
|
||||||
@@ -1,9 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Core.RestPayload;
|
using EgwCoreLib.Lux.Core.RestPayload;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.MachineCalc
|
namespace EgwCoreLib.Lux.Core.MachineCalc
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using Newtonsoft.Json;
|
namespace EgwCoreLib.Lux.Core
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Generico dizionario parametri con funzione ricerca valore (SE presente)
|
/// Generico dizionario parametri con funzione ricerca valore (SE presente)
|
||||||
@@ -77,6 +75,11 @@ namespace EgwCoreLib.Lux.Core
|
|||||||
|
|
||||||
#endregion Public Methods
|
#endregion Public Methods
|
||||||
|
|
||||||
|
public Dictionary<string, string> DictReadOnly
|
||||||
|
{
|
||||||
|
get => DictVals;
|
||||||
|
}
|
||||||
|
|
||||||
#region Private Properties
|
#region Private Properties
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -0,0 +1,60 @@
|
|||||||
|
public class ParamDictFlex<TValue>
|
||||||
|
{
|
||||||
|
private Dictionary<string, TValue> DictVals { get; set; } = new Dictionary<string, TValue>();
|
||||||
|
|
||||||
|
// Costruttore da stringa JSON (TValue è un tipo concreto serializzabile)
|
||||||
|
public ParamDictFlex(string rawVal)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(rawVal))
|
||||||
|
{
|
||||||
|
DictVals = new Dictionary<string, TValue>();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
DictVals = JsonConvert.DeserializeObject<Dictionary<string, TValue>>(rawVal)
|
||||||
|
?? new Dictionary<string, TValue>();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Costruttore da dizionario
|
||||||
|
public ParamDictFlex(Dictionary<string, TValue> newDict)
|
||||||
|
{
|
||||||
|
DictVals = newDict ?? new Dictionary<string, TValue>();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Versione serializzata del dizionario
|
||||||
|
public string Serialized
|
||||||
|
{
|
||||||
|
get => JsonConvert.SerializeObject(DictVals);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Recupera valore; ritorna default(TValue) se la chiave non esiste
|
||||||
|
public TValue GetVal(string reqKey)
|
||||||
|
{
|
||||||
|
if (reqKey is null) throw new ArgumentNullException(nameof(reqKey));
|
||||||
|
return DictVals.TryGetValue(reqKey, out var val) ? val : default!;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Imposta valore (aggiunge o aggiorna)
|
||||||
|
public void SetVal(string key, TValue val)
|
||||||
|
{
|
||||||
|
if (key is null) throw new ArgumentNullException(nameof(key));
|
||||||
|
DictVals[key] = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Rimuove chiave
|
||||||
|
public bool Remove(string key)
|
||||||
|
{
|
||||||
|
if (key is null) throw new ArgumentNullException(nameof(key));
|
||||||
|
return DictVals.Remove(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Controlla esistenza chiave
|
||||||
|
public bool ContainsKey(string key)
|
||||||
|
{
|
||||||
|
if (key is null) throw new ArgumentNullException(nameof(key));
|
||||||
|
return DictVals.ContainsKey(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Espone una copia di sola lettura del dizionario
|
||||||
|
public IReadOnlyDictionary<string, TValue> AsReadOnly() => new Dictionary<string, TValue>(DictVals);
|
||||||
|
}
|
||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Core
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core
|
|
||||||
{
|
{
|
||||||
public class PubSubEventArgs : EventArgs
|
public class PubSubEventArgs : EventArgs
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Core.RestPayload
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.RestPayload
|
|
||||||
{
|
{
|
||||||
public class BomDTO
|
public class BomDTO
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
using System;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.RestPayload
|
namespace EgwCoreLib.Lux.Core.RestPayload
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
using Newtonsoft.Json.Converters;
|
namespace EgwCoreLib.Lux.Core.RestPayload
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Text.Json.Serialization;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.RestPayload
|
|
||||||
{
|
{
|
||||||
public class CalcRequestDTO
|
public class CalcRequestDTO
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Core.RestPayload
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.RestPayload
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Classe DTO x richieste di stima lavorazioni
|
/// Classe DTO x richieste di stima lavorazioni
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
// <Auto-Generated>
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Core.RestPayload
|
namespace EgwCoreLib.Lux.Core.RestPayload
|
||||||
|
|||||||
@@ -1,11 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Core.RestPayload
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Reflection.PortableExecutable;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.RestPayload
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Classe per deserializzazione risposta stima lavorabilità e tempi x macchina
|
/// Classe per deserializzazione risposta stima lavorabilità e tempi x macchina
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Core.RestPayload
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.RestPayload
|
|
||||||
{
|
{
|
||||||
public class NestingReqPayloadDTO
|
public class NestingReqPayloadDTO
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
using System;
|
using static EgwCoreLib.Lux.Core.Enums;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using static EgwCoreLib.Lux.Core.Enums;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.RestPayload
|
namespace EgwCoreLib.Lux.Core.RestPayload
|
||||||
{
|
{
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
// <Auto-Generated>
|
// <Auto-Generated>
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Cost
|
namespace EgwCoreLib.Lux.Core.RestPayload
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Dati di dettaglio per Tempi / Costi di uno step (
|
/// Dati di dettaglio per Tempi / Costi di uno step (
|
||||||
@@ -1,12 +1,4 @@
|
|||||||
using Newtonsoft.Json;
|
namespace EgwCoreLib.Lux.Core.RestPayload
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Reflection.PortableExecutable;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.RestPayload
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Classe per definizione WorkLoad in dettaglio x un dato task (POR tipicamente)
|
/// Classe per definizione WorkLoad in dettaglio x un dato task (POR tipicamente)
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Core.Stats
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.Stats
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Classe per trasferimento dati RT da redis
|
/// Classe per trasferimento dati RT da redis
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Core.Stats
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.Stats
|
|
||||||
{
|
{
|
||||||
public class StatsRangeDto
|
public class StatsRangeDto
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Core.Stats
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Core.Stats
|
|
||||||
{
|
{
|
||||||
public class StatsRealtimeDto
|
public class StatsRealtimeDto
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,13 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.Data.DbModel.Admin;
|
namespace EgwCoreLib.Lux.Data
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data
|
|
||||||
{
|
{
|
||||||
public partial class AdminContext : DbContext
|
public partial class AdminContext : DbContext
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Core.Generic;
|
using EgwCoreLib.Lux.Core.Generic;
|
||||||
using EgwMultiEngineManager.Data;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.Controllers
|
namespace EgwCoreLib.Lux.Data.Controllers
|
||||||
{
|
{
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,17 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Config;
|
namespace EgwCoreLib.Lux.Data
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Cost;
|
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Items;
|
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Production;
|
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Sales;
|
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Stats;
|
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Stock;
|
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Task;
|
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Utils;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using NLog;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data
|
|
||||||
{
|
{
|
||||||
public partial class DataLayerContext : DbContext
|
public partial class DataLayerContext : DbContext
|
||||||
{
|
{
|
||||||
@@ -56,7 +43,14 @@ namespace EgwCoreLib.Lux.Data
|
|||||||
public virtual DbSet<TagsModel> DbSetTags { get; set; }
|
public virtual DbSet<TagsModel> DbSetTags { get; set; }
|
||||||
public virtual DbSet<CustomerModel> DbSetCustomer { get; set; }
|
public virtual DbSet<CustomerModel> DbSetCustomer { get; set; }
|
||||||
public virtual DbSet<DealerModel> DbSetDealer { get; set; }
|
public virtual DbSet<DealerModel> DbSetDealer { get; set; }
|
||||||
|
|
||||||
public virtual DbSet<SupplierModel> DbSetSupplier { get; set; }
|
public virtual DbSet<SupplierModel> DbSetSupplier { get; set; }
|
||||||
|
public virtual DbSet<SupplierQualifyModel> DbSetSupplierQualify { get; set; }
|
||||||
|
public virtual DbSet<BuyOrderModel> DbSetBuyOrder { get; set; }
|
||||||
|
public virtual DbSet<BuyOrderRowModel> DbSetBuyOrderRow { get; set; }
|
||||||
|
public virtual DbSet<MatReqModel> DbSetMaterialReq { get; set; }
|
||||||
|
public virtual DbSet<BuyOrderRow2MatReqModel> DbSetBuyOrdRow2MatReq { get; set; }
|
||||||
|
|
||||||
public virtual DbSet<OfferModel> DbSetOffer { get; set; }
|
public virtual DbSet<OfferModel> DbSetOffer { get; set; }
|
||||||
public virtual DbSet<OfferRowModel> DbSetOfferRow { get; set; }
|
public virtual DbSet<OfferRowModel> DbSetOfferRow { get; set; }
|
||||||
public virtual DbSet<OrderModel> DbSetOrder { get; set; }
|
public virtual DbSet<OrderModel> DbSetOrder { get; set; }
|
||||||
@@ -136,6 +130,13 @@ namespace EgwCoreLib.Lux.Data
|
|||||||
modelBuilder.Entity<JobStepTagModel>()
|
modelBuilder.Entity<JobStepTagModel>()
|
||||||
.HasKey(jst => new { jst.JobStepID, jst.CodTag });
|
.HasKey(jst => new { jst.JobStepID, jst.CodTag });
|
||||||
|
|
||||||
|
// area Buy
|
||||||
|
modelBuilder.Entity<SupplierQualifyModel>()
|
||||||
|
.HasKey(sq => new { sq.SupplierID, sq.CodGroup });
|
||||||
|
modelBuilder.Entity<BuyOrderRow2MatReqModel>()
|
||||||
|
.HasKey(bm => new { bm.BuyOrderRowID, bm.MatReqID });
|
||||||
|
|
||||||
|
|
||||||
modelBuilder.Entity<ProductionItem2ODLModel>()
|
modelBuilder.Entity<ProductionItem2ODLModel>()
|
||||||
.HasKey(x => new { x.ProdItemID, x.ProdODLID });
|
.HasKey(x => new { x.ProdItemID, x.ProdODLID });
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,121 @@
|
|||||||
|
using EgwCoreLib.Lux.Data.Repository.Report;
|
||||||
|
using EgwCoreLib.Lux.Data.Repository.Supplier;
|
||||||
|
using EgwCoreLib.Lux.Data.Services.Catalog;
|
||||||
|
using EgwCoreLib.Lux.Data.Services.Config;
|
||||||
|
using EgwCoreLib.Lux.Data.Services.Cost;
|
||||||
|
using EgwCoreLib.Lux.Data.Services.General;
|
||||||
|
using EgwCoreLib.Lux.Data.Services.Internal;
|
||||||
|
using EgwCoreLib.Lux.Data.Services.Items;
|
||||||
|
using EgwCoreLib.Lux.Data.Services.Job;
|
||||||
|
using EgwCoreLib.Lux.Data.Services.Production;
|
||||||
|
using EgwCoreLib.Lux.Data.Services.Report;
|
||||||
|
using EgwCoreLib.Lux.Data.Services.Sales;
|
||||||
|
using EgwCoreLib.Lux.Data.Services.Supplier;
|
||||||
|
using EgwCoreLib.Lux.Data.Services.Utils;
|
||||||
|
using EgwCoreLib.Lux.Data.Services.Warehouse;
|
||||||
|
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||||
|
|
||||||
|
namespace EgwCoreLib.Lux.Data
|
||||||
|
{
|
||||||
|
public static class DataServiceCollectionExtensions
|
||||||
|
{
|
||||||
|
public static IServiceCollection AddLuxData(this IServiceCollection services, string connectionString)
|
||||||
|
{
|
||||||
|
//// DbContextFactory: preferibile in Blazor Server e scenari concorrenti
|
||||||
|
//services.AddDbContextFactory<DataLayerContext>(options =>
|
||||||
|
// options.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString)));
|
||||||
|
|
||||||
|
// servizi preliminari
|
||||||
|
//services.TryAddSingleton<IConnectionMultiplexer>(redisConn);
|
||||||
|
services.TryAddSingleton<IRedisService, RedisService>();
|
||||||
|
services.TryAddSingleton<IRedisSubscriptionManager, RedisSubscriptionManager>();
|
||||||
|
|
||||||
|
// Repository Scoped
|
||||||
|
services.TryAddScoped<IBuyOrderRepository, BuyOrderRepository>();
|
||||||
|
services.TryAddScoped<IConfGlassRepository, ConfGlassRepository>();
|
||||||
|
services.TryAddScoped<IConfProfileRepository, ConfProfileRepository>();
|
||||||
|
services.TryAddScoped<IConfWoodRepository, ConfWoodRepository>();
|
||||||
|
services.TryAddScoped<ICostDriverRepository, CostDriverRepository>();
|
||||||
|
services.TryAddScoped<ICustomerRepository, CustomerRepository>();
|
||||||
|
services.TryAddScoped<IDealerRepository, DealerRepository>();
|
||||||
|
services.TryAddScoped<IEnvirParamRepository, EnvirParamRepository>();
|
||||||
|
services.TryAddScoped<IGenClassRepository, GenClassRepository>();
|
||||||
|
services.TryAddScoped<IGenValRepository, GenValRepository>();
|
||||||
|
services.TryAddScoped<IItemGroupRepository, ItemGroupRepository>();
|
||||||
|
services.TryAddScoped<IItemRepository, ItemRepository>();
|
||||||
|
services.TryAddScoped<IJobStepRepository, JobStepRepository>();
|
||||||
|
services.TryAddScoped<IJobTaskRepository, JobTaskRepository>();
|
||||||
|
services.TryAddScoped<IMatReqRepository, MatReqRepository>();
|
||||||
|
services.TryAddScoped<IOfferRepository, OfferRepository>();
|
||||||
|
services.TryAddScoped<IOfferRowRepository, OfferRowRepository>();
|
||||||
|
services.TryAddScoped<IOrderRepository, OrderRepository>();
|
||||||
|
services.TryAddScoped<IOrderRowRepository, OrderRowRepository>();
|
||||||
|
services.TryAddScoped<IPhaseRepository, PhaseRepository>();
|
||||||
|
services.TryAddScoped<IProductionBatchRepository, ProductionBatchRepository>();
|
||||||
|
services.TryAddScoped<IProductionGroupRepository, ProductionGroupRepository>();
|
||||||
|
services.TryAddScoped<IProductionItemRepository, ProductionItemRepository>();
|
||||||
|
services.TryAddScoped<IProductionOdlRepository, ProductionOdlRepository>();
|
||||||
|
services.TryAddScoped<IProductionPlantRepository, ProductionPlantRepository>();
|
||||||
|
services.TryAddScoped<IResourceRepository, ResourceRepository>();
|
||||||
|
services.TryAddScoped<IReportRepository, ReportRepository>();
|
||||||
|
services.TryAddScoped<ISellingItemRepository, SellingItemRepository>();
|
||||||
|
services.TryAddScoped<IStatsAggrRepository, StatsAggrRepository>();
|
||||||
|
services.TryAddScoped<IStatsDetailRepository, StatsDetailRepository>();
|
||||||
|
services.TryAddScoped<ITagRepository, TagRepository>();
|
||||||
|
services.TryAddScoped<ITemplateRepository, TemplateRepository>();
|
||||||
|
services.TryAddScoped<ITemplateRowRepository, TemplateRowRepository>();
|
||||||
|
|
||||||
|
// Servizi Scoped
|
||||||
|
services.TryAddScoped<IBuyOrderService, BuyOrderService>();
|
||||||
|
services.TryAddScoped<IConfGlassService, ConfGlassService>();
|
||||||
|
services.TryAddScoped<IConfProfileService, ConfProfileService>();
|
||||||
|
services.TryAddScoped<IConfWoodService, ConfWoodService>();
|
||||||
|
services.TryAddScoped<ICostDriverService, CostDriverService>();
|
||||||
|
services.TryAddScoped<ICustomerService, CustomerService>();
|
||||||
|
services.TryAddScoped<IDealerService, DealerService>();
|
||||||
|
services.TryAddScoped<IEnvirParamService, EnvirParamService>();
|
||||||
|
services.TryAddScoped<IGenClassService, GenClassService>();
|
||||||
|
services.TryAddScoped<IGenValService, GenValService>();
|
||||||
|
services.TryAddScoped<IItemService, ItemService>();
|
||||||
|
services.TryAddScoped<IItemGroupService, ItemGroupService>();
|
||||||
|
services.TryAddScoped<IJobStepService, JobStepService>();
|
||||||
|
services.TryAddScoped<IJobTaskService, JobTaskService>();
|
||||||
|
services.TryAddScoped<IMatReqService, MatReqService>();
|
||||||
|
services.TryAddScoped<IOfferService, OfferService>();
|
||||||
|
services.TryAddScoped<IOfferRowService, OfferRowService>();
|
||||||
|
services.TryAddScoped<IOrderService, OrderService>();
|
||||||
|
services.TryAddScoped<IOrderRowService, OrderRowService>();
|
||||||
|
services.TryAddScoped<IPhaseService, PhaseService>();
|
||||||
|
services.TryAddScoped<IProductionGroupService, ProductionGroupService>();
|
||||||
|
services.TryAddScoped<IProductionItemService, ProductionItemService>();
|
||||||
|
services.TryAddScoped<IProductionBatchService, ProductionBatchService>();
|
||||||
|
services.TryAddScoped<IProductionOdlService, ProductionOdlService>();
|
||||||
|
services.TryAddScoped<IProductionPlantService, ProductionPlantService>();
|
||||||
|
services.TryAddScoped<IResourceService, ResourceService>();
|
||||||
|
services.TryAddScoped<IReportService, ReportService>();
|
||||||
|
services.TryAddScoped<ISellingItemService, SellingItemService>();
|
||||||
|
services.TryAddScoped<IStatsAggrService, StatsAggrService>();
|
||||||
|
services.TryAddScoped<IStatsDetailService, StatsDetailService>();
|
||||||
|
services.TryAddScoped<ITagService, TagService>();
|
||||||
|
services.TryAddScoped<ITemplateService, TemplateService>();
|
||||||
|
services.TryAddScoped<ITemplateRowService, TemplateRowService>();
|
||||||
|
|
||||||
|
// Facade / DataLayerService
|
||||||
|
services.TryAddScoped<IDataLayerServices, DataLayerServices>();
|
||||||
|
services.TryAddScoped<ICalcRuidService, CalcRuidService>();
|
||||||
|
//builder.Services.AddSingleton<DataLayerServices>();
|
||||||
|
//services.TryAddScoped<IDataLayerServices, DataLayerServices>();
|
||||||
|
|
||||||
|
// aggiunta servizi finali Singleton...
|
||||||
|
services.TryAddSingleton<IImageCacheService, ImageCacheService>();
|
||||||
|
services.TryAddSingleton<IConfigDataService, ConfigDataService>();
|
||||||
|
services.TryAddSingleton<ICalcRequestService, CalcRequestService>();
|
||||||
|
services.TryAddSingleton<IFileService, FileService>();
|
||||||
|
services.TryAddSingleton<IProdService, ProdService>();
|
||||||
|
//services.TryAddSingleton<CalcRequestService>();
|
||||||
|
|
||||||
|
|
||||||
|
return services;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,12 +1,4 @@
|
|||||||
using Microsoft.EntityFrameworkCore;
|
namespace EgwCoreLib.Lux.Data
|
||||||
using NLog;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data
|
|
||||||
{
|
{
|
||||||
public class DbAdmin : IDisposable
|
public class DbAdmin : IDisposable
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
using Microsoft.EntityFrameworkCore;
|
namespace EgwCoreLib.Lux.Data
|
||||||
using NLog;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data
|
|
||||||
{
|
{
|
||||||
public class DbConfig
|
public class DbConfig
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,11 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Data.Data.DbModel.Admin
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.Data.DbModel.Admin
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tabella dei USER di MySql
|
/// Tabella dei USER di MySql
|
||||||
|
|||||||
+1
-5
@@ -1,8 +1,4 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
namespace EgwCoreLib.Lux.Data.DbModel.Catalog
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using static EgwCoreLib.Lux.Core.Enums;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Classe dei template di oggetti gestiti
|
/// Classe dei template di oggetti gestiti
|
||||||
+37
-22
@@ -1,12 +1,7 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Items;
|
// <Auto-Generated>
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using static EgwCoreLib.Lux.Core.Enums;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
namespace EgwCoreLib.Lux.Data.DbModel.Catalog
|
||||||
{
|
{
|
||||||
[Table("sales_template_row")]
|
[Table("sales_template_row")]
|
||||||
public class TemplateRowModel
|
public class TemplateRowModel
|
||||||
@@ -49,15 +44,14 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
[NotMapped]
|
[NotMapped]
|
||||||
public string TemplateRowDtx
|
public string TemplateRowDtx
|
||||||
{
|
{
|
||||||
get => $"TLR.{TemplateRowID:X12}";
|
get => CodeUid(TemplateRowID);
|
||||||
//get => $"TLR.{Inserted:yy}.{TemplateRowID:X8}";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Restituisce UID da impiegare x immagine
|
/// Restituisce URL da impiegare x immagine
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[NotMapped]
|
[NotMapped]
|
||||||
public string ImgUID
|
public string ImgUrl
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
@@ -65,7 +59,7 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
switch (ImgType)
|
switch (ImgType)
|
||||||
{
|
{
|
||||||
case ImageType.Calculated:
|
case ImageType.Calculated:
|
||||||
answ = ImgUrl(TemplateRowID);
|
answ = CodeUid(TemplateRowID);
|
||||||
break;
|
break;
|
||||||
case ImageType.Fixed:
|
case ImageType.Fixed:
|
||||||
answ = FileName;
|
answ = FileName;
|
||||||
@@ -78,14 +72,25 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
answ = ImgUrl(TemplateRowID);
|
answ = CodeUid(TemplateRowID);
|
||||||
}
|
}
|
||||||
|
answ = $"static/{answ}";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return answ;
|
return answ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// URL Immagine calcolato
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string CodeUid(int id)
|
||||||
|
{
|
||||||
|
return $"TLR.{id:X12}";
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tipo immagine da visualizzare
|
/// Tipo immagine da visualizzare
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -199,6 +204,24 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public long FileSize { get; set; } = 0;
|
public long FileSize { get; set; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Definisce se sia calcolabile, dato il tipo SellingItem
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public bool CalcEnabled
|
||||||
|
{
|
||||||
|
get => ImgType == ImageType.Calculated;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Definisce presenza file
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public bool HasFile
|
||||||
|
{
|
||||||
|
get => !string.IsNullOrEmpty(FileName) && FileSize > 0 || (CalcEnabled && Envir != Constants.EXECENVIRONMENTS.WINDOW);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// BOM serializzata per la produzione dell'item
|
/// BOM serializzata per la produzione dell'item
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -281,14 +304,6 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
[ForeignKey("SellingItemID")]
|
[ForeignKey("SellingItemID")]
|
||||||
public virtual SellingItemModel? SellingItemNav { get; set; }
|
public virtual SellingItemModel? SellingItemNav { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// URL Immagine calcolato
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="id"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static string ImgUrl(int id)
|
|
||||||
{
|
|
||||||
return $"TLR.{id:X12}";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,4 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
// <Auto-Generated>
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Config
|
namespace EgwCoreLib.Lux.Data.DbModel.Config
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
using System;
|
// <Auto-Generated>
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Config
|
namespace EgwCoreLib.Lux.Data.DbModel.Config
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
using System;
|
// <Auto-Generated>
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Config
|
namespace EgwCoreLib.Lux.Data.DbModel.Config
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
using System;
|
// <Auto-Generated>
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Config
|
namespace EgwCoreLib.Lux.Data.DbModel.Config
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
using System;
|
// <Auto-Generated>
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Config
|
namespace EgwCoreLib.Lux.Data.DbModel.Config
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
using System;
|
// <Auto-Generated>
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Cost
|
namespace EgwCoreLib.Lux.Data.DbModel.Cost
|
||||||
|
|||||||
@@ -1,14 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Sales;
|
// <Auto-Generated>
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Task;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Cost
|
namespace EgwCoreLib.Lux.Data.DbModel.Cost
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Data.DbModel.Items
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Items
|
|
||||||
{ // <Auto-Generated>
|
{ // <Auto-Generated>
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
namespace EgwCoreLib.Lux.Data.DbModel.Items
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using static EgwCoreLib.Lux.Core.Enums;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Items
|
|
||||||
{
|
{
|
||||||
// <Auto-Generated>
|
// <Auto-Generated>
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Task;
|
namespace EgwCoreLib.Lux.Data.DbModel.Items
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using static EgwCoreLib.Lux.Core.Enums;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Items
|
|
||||||
{
|
{
|
||||||
// <Auto-Generated>
|
// <Auto-Generated>
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
@@ -90,12 +85,54 @@ namespace EgwCoreLib.Lux.Data.DbModel.Items
|
|||||||
public ImageType ImgType { get; set; } = ImageType.ND;
|
public ImageType ImgType { get; set; } = ImageType.ND;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Restituisce UID da impiegare x immagine
|
/// URL Immagine calcolato
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string CodeUid(int id)
|
||||||
|
{
|
||||||
|
return $"SP.{id:X12}";
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce Url da impiegare x immagine
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[NotMapped]
|
[NotMapped]
|
||||||
public string ImgUID
|
public string ImgUID
|
||||||
{
|
{
|
||||||
get => ImgType == ImageType.Fixed ? FileName : ImgUrl(SellingItemID);
|
get => ImgType == ImageType.Fixed ? FileName : CodeUid(SellingItemID);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Definisce se sia calcolabile, dato il tipo SellingItem
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public bool CalcEnabled
|
||||||
|
{
|
||||||
|
get => ImgType == ImageType.Calculated;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce Url immagine già calcolato (da sistemare!!!)
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public string ImgUrl
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
string answ = "empty.svg";
|
||||||
|
string fType = Envir == Constants.EXECENVIRONMENTS.WINDOW ? "svg" : "png";
|
||||||
|
if (CalcEnabled)
|
||||||
|
{
|
||||||
|
string rndImg = $"{DateTime.Now:HHmmssfff}";
|
||||||
|
answ = $"cache/{ImgUID}-{rndImg}.{fType}?env={Envir}";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
answ = $"static/{ImgUID}";
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if false
|
#if false
|
||||||
@@ -126,20 +163,18 @@ namespace EgwCoreLib.Lux.Data.DbModel.Items
|
|||||||
get => false;
|
get => false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[NotMapped]
|
||||||
|
public bool HasBOM
|
||||||
|
{
|
||||||
|
get => SourceType == ItemSourceType.Jwd || SourceType == ItemSourceType.FileBTL;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Navigazione Job/Cicli
|
/// Navigazione Job/Cicli
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ForeignKey("JobID")]
|
[ForeignKey("JobID")]
|
||||||
public virtual JobTaskModel JobNav { get; set; } = null!;
|
public virtual JobTaskModel JobNav { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// URL Immagine calcolato
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="id"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static string ImgUrl(int id)
|
|
||||||
{
|
|
||||||
return $"SP.{id:X12}";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-11
@@ -1,16 +1,7 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Cost;
|
// <Auto-Generated>
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Task
|
namespace EgwCoreLib.Lux.Data.DbModel.Job
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Configurazione JobDriver abilitati per un Job e relativi coefficienti di conversione verso CostDriver
|
/// Configurazione JobDriver abilitati per un Job e relativi coefficienti di conversione verso CostDriver
|
||||||
+1
-10
@@ -1,13 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Cost;
|
namespace EgwCoreLib.Lux.Data.DbModel.Job
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Task
|
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Definizione driver di calcolo dall'Engine x la stima del CostDriver equivalente tempi/costi
|
/// Definizione driver di calcolo dall'Engine x la stima del CostDriver equivalente tempi/costi
|
||||||
+2
-6
@@ -1,11 +1,7 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Items;
|
// <Auto-Generated>
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Task
|
namespace EgwCoreLib.Lux.Data.DbModel.Job
|
||||||
{
|
{
|
||||||
[Table("task_job_step_item")]
|
[Table("task_job_step_item")]
|
||||||
public class JobStepItemModel
|
public class JobStepItemModel
|
||||||
+2
-8
@@ -1,13 +1,7 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Cost;
|
// <Auto-Generated>
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Task;
|
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Utils;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Task
|
namespace EgwCoreLib.Lux.Data.DbModel.Job
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Routing dei cicli di lavoro, con riferimento a risorse e fasi
|
/// Routing dei cicli di lavoro, con riferimento a risorse e fasi
|
||||||
+1
-9
@@ -1,12 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Utils;
|
namespace EgwCoreLib.Lux.Data.DbModel.Job
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Task
|
|
||||||
{
|
{
|
||||||
[Table("task_job_step_tag")]
|
[Table("task_job_step_tag")]
|
||||||
public class JobStepTagModel
|
public class JobStepTagModel
|
||||||
+2
-6
@@ -1,11 +1,7 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Utils;
|
// <Auto-Generated>
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Task
|
namespace EgwCoreLib.Lux.Data.DbModel.Job
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Definizione macro dei Cicli di Lavoro / Job
|
/// Definizione macro dei Cicli di Lavoro / Job
|
||||||
+1
-9
@@ -1,12 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Utils;
|
namespace EgwCoreLib.Lux.Data.DbModel.Job
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Task
|
|
||||||
{
|
{
|
||||||
[Table("task_job_task_tag")]
|
[Table("task_job_task_tag")]
|
||||||
public class JobTaskTagModel
|
public class JobTaskTagModel
|
||||||
+2
-10
@@ -1,15 +1,7 @@
|
|||||||
using System;
|
// <Auto-Generated>
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Task
|
namespace EgwCoreLib.Lux.Data.DbModel.Job
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Fase di lavorazione / ProductionStage
|
/// Fase di lavorazione / ProductionStage
|
||||||
@@ -1,7 +1,4 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
// <Auto-Generated>
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Production
|
namespace EgwCoreLib.Lux.Data.DbModel.Production
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Core.Generic;
|
using EgwCoreLib.Lux.Core.Generic;
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Sales;
|
|
||||||
using Newtonsoft.Json;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using static EgwCoreLib.Lux.Core.Enums;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Production
|
namespace EgwCoreLib.Lux.Data.DbModel.Production
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,11 +1,4 @@
|
|||||||
using System;
|
// <Auto-Generated>
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Production
|
namespace EgwCoreLib.Lux.Data.DbModel.Production
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Sales;
|
// <Auto-Generated>
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Production
|
namespace EgwCoreLib.Lux.Data.DbModel.Production
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Cost;
|
using EgwCoreLib.Lux.Data.DbModel.Cost;
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Task;
|
using EgwCoreLib.Lux.Data.DbModel.Job;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|||||||
@@ -1,15 +1,5 @@
|
|||||||
using EgwCoreLib.Lux.Core.Generic;
|
using EgwCoreLib.Lux.Core.Generic;
|
||||||
using EgwCoreLib.Lux.Core.RestPayload;
|
using EgwCoreLib.Lux.Core.RestPayload;
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Cost;
|
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Task;
|
|
||||||
using Newtonsoft.Json;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
// <Auto-Generated>
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
|
|||||||
@@ -1,14 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Cost;
|
// <Auto-Generated>
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Sales;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Production
|
namespace EgwCoreLib.Lux.Data.DbModel.Production
|
||||||
|
|||||||
@@ -0,0 +1,70 @@
|
|||||||
|
// <Auto-Generated>
|
||||||
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
|
// </Auto-Generated>
|
||||||
|
namespace EgwCoreLib.Lux.Data.DbModel.Report
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Classe dei report gestiti
|
||||||
|
/// </summary>
|
||||||
|
[Table("report_list")]
|
||||||
|
public class ReportModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// ID del record
|
||||||
|
/// </summary>
|
||||||
|
[Key]
|
||||||
|
public int ReportID { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Denominazione
|
||||||
|
/// </summary>
|
||||||
|
public string Name { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Descrizione
|
||||||
|
/// </summary>
|
||||||
|
public string Description { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Valore completo Json per recupero dati, con segnaposto con [[param_01]]
|
||||||
|
/// </summary>
|
||||||
|
public string JsonDSN { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Nome del report Active tra quelli nella folder
|
||||||
|
/// </summary>
|
||||||
|
public string ActRepFileName { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Conf dei parametri per il report
|
||||||
|
/// </summary>
|
||||||
|
public string ParamConfigRaw { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Conf relative ai file report
|
||||||
|
/// </summary>
|
||||||
|
public string FileConfDataRaw { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Elenco dei parametri da gestire x il ReportTemplate
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public List<ParamConfigDto> ParamConfig
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
List<ParamConfigDto> answ = new();
|
||||||
|
if (!string.IsNullOrEmpty(ParamConfigRaw) && ParamConfigRaw.Length > 2)
|
||||||
|
{
|
||||||
|
answ = JsonConvert.DeserializeObject<List<ParamConfigDto>>(ParamConfigRaw) ?? new();
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
string rawVal = JsonConvert.SerializeObject(value);
|
||||||
|
ParamConfigRaw = rawVal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,12 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|
||||||
{
|
{
|
||||||
// <Auto-Generated>
|
// <Auto-Generated>
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|
||||||
{
|
{
|
||||||
// <Auto-Generated>
|
// <Auto-Generated>
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
// <Auto-Generated>
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using static EgwCoreLib.Lux.Core.Enums;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
||||||
@@ -69,6 +65,27 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string DictPresel { get; set; } = "";
|
public string DictPresel { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Dizionario valorizzato dei parametri attivi
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public Dictionary<string, string> DictParameter
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
Dictionary<string, string> answ = new();
|
||||||
|
if (!string.IsNullOrEmpty(DictPresel))
|
||||||
|
{
|
||||||
|
answ = JsonConvert.DeserializeObject<Dictionary<string, string>>(DictPresel) ?? new Dictionary<string, string>();
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
//set
|
||||||
|
//{
|
||||||
|
// DictPresel = JsonConvert.SerializeObject(value);
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Validità Offerta
|
/// Validità Offerta
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Items;
|
// <Auto-Generated>
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using static EgwCoreLib.Lux.Core.Enums;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
||||||
@@ -50,10 +45,16 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// ID dell'articolo di vendita offerto
|
/// ID dell'articolo di vendita offerto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int SellingItemID { get; set; }
|
public int? SellingItemID { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Riferimento (opzionale9 al template da cui è derivato
|
/// Definisce se sia calcolabile, dato il tipo SellingItem
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public bool IsNote => SellingItemID == null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Riferimento (opzionale) al template da cui è derivato
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? TemplateRowID { get; set; } = null;
|
public int? TemplateRowID { get; set; } = null;
|
||||||
|
|
||||||
@@ -64,16 +65,15 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
public bool CalcEnabled
|
public bool CalcEnabled
|
||||||
{
|
{
|
||||||
get => ImgType == ImageType.Calculated;
|
get => ImgType == ImageType.Calculated;
|
||||||
#if false
|
|
||||||
{
|
|
||||||
bool answ = false;
|
|
||||||
if (SellingItemNav != null)
|
|
||||||
{
|
|
||||||
answ = SellingItemNav.SourceType == ItemSourceType.Jwd || SellingItemNav.SourceType == ItemSourceType.FileBTL;
|
|
||||||
}
|
}
|
||||||
return answ;
|
|
||||||
}
|
/// <summary>
|
||||||
#endif
|
/// Definisce presenza file
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public bool HasFile
|
||||||
|
{
|
||||||
|
get => !string.IsNullOrEmpty(FileName) && FileSize > 0 || (CalcEnabled && Envir != Constants.EXECENVIRONMENTS.WINDOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -103,13 +103,36 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
}
|
}
|
||||||
else if (SellingItemID > 0)
|
else if (SellingItemID > 0)
|
||||||
{
|
{
|
||||||
answ = SellingItemModel.ImgUrl(SellingItemID);
|
answ = SellingItemModel.CodeUid(SellingItemID ?? 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return answ;
|
return answ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce Url immagine già calcolato (da sistemare!!!)
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public string ImgUrl
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
string answ = "empty.svg";
|
||||||
|
string fType = Envir == Constants.EXECENVIRONMENTS.WINDOW ? "svg" : "png";
|
||||||
|
string rndImg = $"{DateTime.Now:HHmmssfff}";
|
||||||
|
if (CalcEnabled)
|
||||||
|
{
|
||||||
|
answ = $"cache/{ImgUID}-{rndImg}.{fType}?env={Envir}";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
answ = $"static/{ImgUID}";
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Quantità della risorsa
|
/// Quantità della risorsa
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -296,6 +319,35 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool AwaitPrice { get; set; } = false;
|
public bool AwaitPrice { get; set; } = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Dizionario serializzato delle preselezioni (pending, da applicare)
|
||||||
|
/// </summary>
|
||||||
|
public string DictPendPresRaw { get; set; } = "";
|
||||||
|
|
||||||
|
[NotMapped]
|
||||||
|
public bool HasPendReq
|
||||||
|
{
|
||||||
|
get => !string.IsNullOrEmpty(DictPendPresRaw) && DictPendingPresel.Count > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
[NotMapped]
|
||||||
|
public Dictionary<string, string> DictPendingPresel
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
Dictionary<string, string> answ = new();
|
||||||
|
if (!string.IsNullOrEmpty(DictPendPresRaw))
|
||||||
|
{
|
||||||
|
answ = JsonConvert.DeserializeObject<Dictionary<string, string>>(DictPendPresRaw) ?? new Dictionary<string, string>();
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
//set
|
||||||
|
//{
|
||||||
|
// DictPendPresRaw = JsonConvert.SerializeObject(value);
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Navigazione Offer
|
/// Navigazione Offer
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,11 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Core.Generic;
|
// <Auto-Generated>
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Production;
|
|
||||||
using Newtonsoft.Json;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using static EgwCoreLib.Lux.Core.Enums;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
||||||
@@ -91,7 +84,6 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime Modified { get; set; } = DateTime.Now;
|
public DateTime Modified { get; set; } = DateTime.Now;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DataOra richiesta per il completamento dell'ordine
|
/// DataOra richiesta per il completamento dell'ordine
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -107,6 +99,11 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string ConsNote { get; set; } = "";
|
public string ConsNote { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Valore serializzato info sui RawItem (es: lungh barra / qty barre)
|
||||||
|
/// </summary>
|
||||||
|
public string RawItemData { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Enum stato Ordine
|
/// Enum stato Ordine
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -199,6 +196,15 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
get => (TotalCost > 0 && TotalPrice > TotalCost) ? (TotalPrice - TotalCost) / TotalPrice : 0;
|
get => (TotalCost > 0 && TotalPrice > TotalCost) ? (TotalPrice - TotalCost) / TotalPrice : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Verifica se ci siano TUTTE le righe coperte da Fabbisogni (con o senza ordine...)
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public bool AllRowsWithReq
|
||||||
|
{
|
||||||
|
get => OrderRowNav != null && !OrderRowNav.Any(x => x.MatReqNav.Count == 0);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Navigazione Customer
|
/// Navigazione Customer
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Items;
|
// <Auto-Generated>
|
||||||
using EgwCoreLib.Lux.Data.DbModel.Production;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using static EgwCoreLib.Lux.Core.Enums;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
||||||
@@ -57,10 +51,10 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// ID dell'articolo di vendita Orderto
|
/// ID dell'articolo di vendita Orderto
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int SellingItemID { get; set; }
|
public int? SellingItemID { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Riferimento (opzionale9 al template da cui è derivato
|
/// Riferimento (opzionale) al template da cui è derivato
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? TemplateRowID { get; set; } = null;
|
public int? TemplateRowID { get; set; } = null;
|
||||||
|
|
||||||
@@ -152,16 +146,15 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
public bool CalcEnabled
|
public bool CalcEnabled
|
||||||
{
|
{
|
||||||
get => ImgType == ImageType.Calculated;
|
get => ImgType == ImageType.Calculated;
|
||||||
#if false
|
|
||||||
{
|
|
||||||
bool answ = false;
|
|
||||||
if (SellingItemNav != null)
|
|
||||||
{
|
|
||||||
answ = SellingItemNav.SourceType == ItemSourceType.Jwd || SellingItemNav.SourceType == ItemSourceType.FileBTL;
|
|
||||||
}
|
}
|
||||||
return answ;
|
|
||||||
}
|
/// <summary>
|
||||||
#endif
|
/// Definisce presenza file
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public bool HasFile
|
||||||
|
{
|
||||||
|
get => !string.IsNullOrEmpty(FileName) && FileSize > 0 || (CalcEnabled && Envir != Constants.EXECENVIRONMENTS.WINDOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -189,19 +182,42 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
if (TemplateRowID != null && TemplateRowID > 0)
|
if (TemplateRowID != null && TemplateRowID > 0)
|
||||||
{
|
{
|
||||||
//answ= $"TR.{TemplateRowID:X16}";
|
//answ= $"TR.{TemplateRowID:X16}";
|
||||||
answ = TemplateRowModel.ImgUrl(TemplateRowID ?? 0);
|
answ = TemplateRowModel.CodeUid(TemplateRowID ?? 0);
|
||||||
}
|
}
|
||||||
// altrimenti da selling item...
|
// altrimenti da selling item...
|
||||||
else if (SellingItemID > 0)
|
else if (SellingItemID > 0)
|
||||||
{
|
{
|
||||||
//answ = $"SP.{SellingItemID:X12}";
|
//answ = $"SP.{SellingItemID:X12}";
|
||||||
answ = SellingItemModel.ImgUrl(SellingItemID);
|
answ = SellingItemModel.CodeUid(SellingItemID ?? 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return answ;
|
return answ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Restituisce Url immagine già calcolato (da sistemare!!!)
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public string ImgUrl
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
string answ = "empty.svg";
|
||||||
|
string fType = Envir == Constants.EXECENVIRONMENTS.WINDOW ? "svg" : "png";
|
||||||
|
string rndImg = $"{DateTime.Now:HHmmssfff}";
|
||||||
|
if (CalcEnabled)
|
||||||
|
{
|
||||||
|
answ = $"cache/{ImgUID}-{rndImg}.{fType}?env={Envir}";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
answ = $"static/{ImgUID}";
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Valore serializzato della composizione articolo (in formato JWD x finestra)
|
/// Valore serializzato della composizione articolo (in formato JWD x finestra)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -228,6 +244,30 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string ItemBOM { get; set; } = "";
|
public string ItemBOM { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Lista BOM deserializzata
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public List<BomItemDTO> ListBOM
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
List<BomItemDTO> answ = new();
|
||||||
|
if (!string.IsNullOrEmpty(ItemBOM) && ItemBOM.Length > 2)
|
||||||
|
{
|
||||||
|
answ = JsonConvert.DeserializeObject<List<BomItemDTO>>(ItemBOM) ?? new();
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[NotMapped]
|
||||||
|
public bool HasMatReqRow
|
||||||
|
{
|
||||||
|
get => MatReqNav != null && MatReqNav.Count > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Lista dei Job Cost Drivers calcolati dall'engine (necessari x calcolo Steps)
|
/// Lista dei Job Cost Drivers calcolati dall'engine (necessari x calcolo Steps)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -273,6 +313,11 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string ProdEstimate { get; set; } = "";
|
public string ProdEstimate { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Valore serializzato info sui RawItem (es: lungh barra / qty barre)
|
||||||
|
/// </summary>
|
||||||
|
public string RawItemData { get; set; } = "";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Validazione dati BOM (Inteso come gruppi tutti trovati/esistenti)
|
/// Validazione dati BOM (Inteso come gruppi tutti trovati/esistenti)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -317,6 +362,35 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool AwaitPrice { get; set; } = false;
|
public bool AwaitPrice { get; set; } = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Dizionario serializzato delle preselezioni (pending, da applicare)
|
||||||
|
/// </summary>
|
||||||
|
public string DictPendPresRaw { get; set; } = "";
|
||||||
|
|
||||||
|
[NotMapped]
|
||||||
|
public bool HasPendReq
|
||||||
|
{
|
||||||
|
get => !string.IsNullOrEmpty(DictPendPresRaw) && DictPendingPresel.Count > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
[NotMapped]
|
||||||
|
public Dictionary<string, string> DictPendingPresel
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
Dictionary<string, string> answ = new();
|
||||||
|
if (!string.IsNullOrEmpty(DictPendPresRaw))
|
||||||
|
{
|
||||||
|
answ = JsonConvert.DeserializeObject<Dictionary<string, string>>(DictPendPresRaw) ?? new Dictionary<string, string>();
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
//set
|
||||||
|
//{
|
||||||
|
// DictPendPresRaw = JsonConvert.SerializeObject(value);
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Navigazione Order
|
/// Navigazione Order
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -339,5 +413,10 @@ namespace EgwCoreLib.Lux.Data.DbModel.Sales
|
|||||||
/// Navigazione alle righe ProdItem
|
/// Navigazione alle righe ProdItem
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual ICollection<ProductionItemModel> ProdItemNav { get; set; } = new List<ProductionItemModel>();
|
public virtual ICollection<ProductionItemModel> ProdItemNav { get; set; } = new List<ProductionItemModel>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Many-to-many verso associazione con MatReqNav
|
||||||
|
/// </summary>
|
||||||
|
public virtual ICollection<MatReqModel> MatReqNav { get; set; } = new List<MatReqModel>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
using System;
|
// <Auto-Generated>
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Stats
|
namespace EgwCoreLib.Lux.Data.DbModel.Stats
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
using System;
|
// <Auto-Generated>
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Stats
|
namespace EgwCoreLib.Lux.Data.DbModel.Stats
|
||||||
|
|||||||
@@ -1,13 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Utils;
|
namespace EgwCoreLib.Lux.Data.DbModel.Stock
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Stock
|
|
||||||
{
|
{
|
||||||
// <Auto-Generated>
|
// <Auto-Generated>
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
|
|||||||
@@ -1,13 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Items;
|
namespace EgwCoreLib.Lux.Data.DbModel.Stock
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Stock
|
|
||||||
{
|
{
|
||||||
// <Auto-Generated>
|
// <Auto-Generated>
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
|
|||||||
@@ -0,0 +1,92 @@
|
|||||||
|
namespace EgwCoreLib.Lux.Data.DbModel.Supplier
|
||||||
|
{
|
||||||
|
// <Auto-Generated>
|
||||||
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
|
// </Auto-Generated>
|
||||||
|
|
||||||
|
[Table("buy_order")]
|
||||||
|
public class BuyOrderModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// ID del record
|
||||||
|
/// </summary>
|
||||||
|
[Key]
|
||||||
|
public int BuyOrderID { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Anno rif Ordine Fornitore
|
||||||
|
/// </summary>
|
||||||
|
public int RefYear { get; set; } = DateTime.Today.Year;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Numero prog Ordine nell'anno (da calcolare)
|
||||||
|
/// </summary>
|
||||||
|
public int RefNum { get; set; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Indice revisione
|
||||||
|
/// </summary>
|
||||||
|
public int RefRev { get; set; } = 1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Codice calcolato Ordine ANNO.NUMERO.REV
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public string BuyOrderCode
|
||||||
|
{
|
||||||
|
get => $"BO.{RefYear:00}.{RefNum:00000}.{RefRev:00}";
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Descrizione generale
|
||||||
|
/// </summary>
|
||||||
|
public string Description { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Fornitore (quandoa ssegnato, altrimenti è quotazione)
|
||||||
|
/// </summary>
|
||||||
|
public int? SupplierID { get; set; } = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Ordine assegnato se ho un supplier definito
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public bool Assigned => SupplierID != null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DataOra inserimento
|
||||||
|
/// </summary>
|
||||||
|
public DateTime Inserted { get; set; } = DateTime.Now;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DataOra ultima modifica
|
||||||
|
/// </summary>
|
||||||
|
public DateTime Modified { get; set; } = DateTime.Now;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DataOra richiesta per il completamento dell'ordine di fornitura
|
||||||
|
/// </summary>
|
||||||
|
public DateTime DueDateReq { get; set; } = DateTime.Today.AddDays(30);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// note di consegna (opzionali)
|
||||||
|
/// </summary>
|
||||||
|
public string ConsNote { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Enum stato Ordine Acquisto
|
||||||
|
/// </summary>
|
||||||
|
public BuyOrderStates OrderState { get; set; } = BuyOrderStates.Created;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Navigazione Supplier
|
||||||
|
/// </summary>
|
||||||
|
[ForeignKey("SupplierID")]
|
||||||
|
public virtual SupplierModel? SupplierNav { get; set; } = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Navigazione alle righe Ordine Acquisto
|
||||||
|
/// </summary>
|
||||||
|
public virtual ICollection<BuyOrderRowModel> BuyOrderRowNav { get; set; } = new List<BuyOrderRowModel>();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
using EgwCoreLib.Lux.Data.DbModel.Warehouse;
|
||||||
|
|
||||||
|
namespace EgwCoreLib.Lux.Data.DbModel.Supplier
|
||||||
|
{
|
||||||
|
|
||||||
|
[Table("buy_order_row_2_mat_req")]
|
||||||
|
public class BuyOrderRow2MatReqModel
|
||||||
|
{
|
||||||
|
public int BuyOrderRowID { get; set; }
|
||||||
|
public int MatReqID { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Quantità richiesta
|
||||||
|
/// </summary>
|
||||||
|
public double Qty { get; set; } = 0;
|
||||||
|
|
||||||
|
[ForeignKey("BuyOrderRowID")]
|
||||||
|
public virtual BuyOrderRowModel BuyOrderRowNav { get; set; } = null!;
|
||||||
|
|
||||||
|
[ForeignKey("MatReqID")]
|
||||||
|
public virtual MatReqModel MatReqNav { get; set; } = null!;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
namespace EgwCoreLib.Lux.Data.DbModel.Supplier
|
||||||
|
{
|
||||||
|
// <Auto-Generated>
|
||||||
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
|
// </Auto-Generated>
|
||||||
|
|
||||||
|
[Table("buy_order_row")]
|
||||||
|
public class BuyOrderRowModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// ID del record
|
||||||
|
/// </summary>
|
||||||
|
[Key]
|
||||||
|
public int BuyOrderRowID { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ID Ordine di acquisto di riferimento
|
||||||
|
/// </summary>
|
||||||
|
public int BuyOrderID { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Riga Ordine (per ordinamento)
|
||||||
|
/// </summary>
|
||||||
|
public int RowNum { get; set; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ID dell'item richiesto (se disponibile)
|
||||||
|
/// </summary>
|
||||||
|
public int? ItemID { get; set; } = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Classificazione Item
|
||||||
|
/// </summary>
|
||||||
|
public string ClassCode { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Descrizione Item
|
||||||
|
/// </summary>
|
||||||
|
public string DescriptionCode { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Codice Item
|
||||||
|
/// </summary>
|
||||||
|
public string ItemCode { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Quantità articolo TOTALE
|
||||||
|
/// </summary>
|
||||||
|
public double TotQty
|
||||||
|
{
|
||||||
|
get => MatReqNav.Sum(x => x.Qty);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if false
|
||||||
|
/// <summary>
|
||||||
|
/// Quantità articolo TOTALE
|
||||||
|
/// </summary>
|
||||||
|
public double TotQty
|
||||||
|
{
|
||||||
|
get => DictOrderRowDetail.Sum(x => x.Value);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Dizionario serializzato di RigheOrdine + Qty
|
||||||
|
/// </summary>
|
||||||
|
public string OrderRowData { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Dizionario escplicito degli OrderRow esplosi rispetto a ItemId delle BOM
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public Dictionary<int, double> DictOrderRowDetail
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
Dictionary<int, double> answ = new();
|
||||||
|
if (!string.IsNullOrEmpty(OrderRowData) && OrderRowData.Count() > 2)
|
||||||
|
{
|
||||||
|
answ = JsonConvert.DeserializeObject<Dictionary<int, double>>(OrderRowData) ?? new();
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
OrderRowData = JsonConvert.SerializeObject(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Navigazione Ordine Acquisto
|
||||||
|
/// </summary>
|
||||||
|
[ForeignKey("BuyOrderID")]
|
||||||
|
public virtual BuyOrderModel? BuyOrderNav { get; set; } = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Navigazione Item
|
||||||
|
/// </summary>
|
||||||
|
[ForeignKey("ItemID")]
|
||||||
|
public virtual ItemModel? ItemNav { get; set; } = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Many-to-many verso associazione con MatReq
|
||||||
|
/// </summary>
|
||||||
|
public virtual ICollection<BuyOrderRow2MatReqModel> MatReqNav { get; set; } = new List<BuyOrderRow2MatReqModel>();
|
||||||
|
}
|
||||||
|
}
|
||||||
+4
-22
@@ -1,18 +1,10 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Data.DbModel.Supplier
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Items
|
|
||||||
{
|
{
|
||||||
// <Auto-Generated>
|
// <Auto-Generated>
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
|
|
||||||
[Table("item_supplier")]
|
[Table("buy_supplier")]
|
||||||
public class SupplierModel
|
public class SupplierModel
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -21,13 +13,6 @@ namespace EgwCoreLib.Lux.Data.DbModel.Items
|
|||||||
[Key]
|
[Key]
|
||||||
public int SupplierID { get; set; }
|
public int SupplierID { get; set; }
|
||||||
|
|
||||||
#if false
|
|
||||||
/// <summary>
|
|
||||||
/// Ruolo assocaito da anagrafica esterna
|
|
||||||
/// </summary>
|
|
||||||
public int RoleID { get; set; }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Denominazione se persona giuridica
|
/// Denominazione se persona giuridica
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -48,12 +33,9 @@ namespace EgwCoreLib.Lux.Data.DbModel.Items
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string VAT { get; set; } = "";
|
public string VAT { get; set; } = "";
|
||||||
|
|
||||||
#if false
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Navigazione al ruolo
|
/// Many-to-many with Qualifica Fornitori
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ForeignKey("RoleID")]
|
public virtual ICollection<SupplierQualifyModel> QualifNav { get; set; } = new List<SupplierQualifyModel>();
|
||||||
public virtual RoleModel RoleNav { get; set; } = null!;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
namespace EgwCoreLib.Lux.Data.DbModel.Supplier
|
||||||
|
{
|
||||||
|
[Table("buy_supplier_qualify")]
|
||||||
|
public class SupplierQualifyModel
|
||||||
|
{
|
||||||
|
public int SupplierID { get; set; }
|
||||||
|
public string CodGroup { get; set; } = "";
|
||||||
|
|
||||||
|
[ForeignKey("SupplierID")]
|
||||||
|
public virtual SupplierModel SupplierNav { get; set; } = null!;
|
||||||
|
|
||||||
|
[ForeignKey("CodGroup")]
|
||||||
|
public virtual ItemGroupModel GroupNav { get; set; } = null!;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,12 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Data.DbModel.Utils
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Utils
|
|
||||||
{
|
{
|
||||||
// <Auto-Generated>
|
// <Auto-Generated>
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
// <Auto-Generated>
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Utils
|
namespace EgwCoreLib.Lux.Data.DbModel.Utils
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
// <Auto-Generated>
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
|
|
||||||
// <Auto-Generated>
|
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Utils
|
namespace EgwCoreLib.Lux.Data.DbModel.Utils
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
using System;
|
namespace EgwCoreLib.Lux.Data.DbModel.Utils
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Utils
|
|
||||||
{ // <Auto-Generated>
|
{ // <Auto-Generated>
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
// </Auto-Generated>
|
// </Auto-Generated>
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using EgwCoreLib.Lux.Data.DbModel.Task;
|
namespace EgwCoreLib.Lux.Data.DbModel.Utils
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
|
|
||||||
namespace EgwCoreLib.Lux.Data.DbModel.Utils
|
|
||||||
{
|
{
|
||||||
// <Auto-Generated>
|
// <Auto-Generated>
|
||||||
// This is here so CodeMaid doesn't reorganize this document
|
// This is here so CodeMaid doesn't reorganize this document
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
namespace EgwCoreLib.Lux.Data.DbModel.Warehouse
|
||||||
|
{
|
||||||
|
[Table("warehouse_material_req")]
|
||||||
|
public class MatReqModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// ID del record
|
||||||
|
/// </summary>
|
||||||
|
[Key]
|
||||||
|
public int MatReqID { get; set; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Order cui è riferito
|
||||||
|
/// </summary>
|
||||||
|
public int? OrderID { get; set; } = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// OrderRow cui è riferito (vince su OrderID)
|
||||||
|
/// </summary>
|
||||||
|
public int? OrderRowID { get; set; } = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DataOra inserimento
|
||||||
|
/// </summary>
|
||||||
|
public DateTime Inserted { get; set; } = DateTime.Now;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ID dell'item richiesto
|
||||||
|
/// </summary>
|
||||||
|
public int? ItemID { get; set; } = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Quantità richiesta per Item (complessiva)
|
||||||
|
/// </summary>
|
||||||
|
public double TotQty { get; set; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Valore serializzato info sui RawItem (es: lungh barra / qty barre)
|
||||||
|
/// </summary>
|
||||||
|
public string RawItemData { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Cod gruppo articolo (per selezione omogenea alternative)
|
||||||
|
/// </summary>
|
||||||
|
public string CodGroup { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// CodArticolo (opzionale)
|
||||||
|
/// </summary>
|
||||||
|
public string ItemCode { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desdcrizione item ordinato
|
||||||
|
/// </summary>
|
||||||
|
public string Description { get; set; } = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Quantità Item finali relativi al fabbisogno
|
||||||
|
/// </summary>
|
||||||
|
public int NumItems { get; set; } = 1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Indica che è stato processato: generato un ordine di acquisto
|
||||||
|
/// </summary>
|
||||||
|
public bool Processed { get; set; } = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Navigazione Item Order
|
||||||
|
/// </summary>
|
||||||
|
[ForeignKey("OrderID")]
|
||||||
|
public virtual OrderModel? OrderNav { get; set; } = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Navigazione Item OrderRow
|
||||||
|
/// </summary>
|
||||||
|
[ForeignKey("OrderRowID")]
|
||||||
|
public virtual OrderRowModel? OrderRowNav { get; set; } = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Navigazione Item
|
||||||
|
/// </summary>
|
||||||
|
[ForeignKey("ItemID")]
|
||||||
|
public virtual ItemModel? ItemNav { get; set; } = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Many-to-many verso associazione con BuyOrderRow
|
||||||
|
/// </summary>
|
||||||
|
public virtual ICollection<BuyOrderRow2MatReqModel> BuyOrderRowNav { get; set; } = new List<BuyOrderRow2MatReqModel>();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
global using System.ComponentModel.DataAnnotations;
|
||||||
|
global using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
global using static EgwCoreLib.Lux.Core.Enums;
|
||||||
@@ -0,0 +1,146 @@
|
|||||||
|
namespace EgwCoreLib.Lux.Data.Domains
|
||||||
|
{
|
||||||
|
public static class BomCalculator
|
||||||
|
{
|
||||||
|
#region Public Methods
|
||||||
|
|
||||||
|
public static List<BomItemDTO> GetBomList(string itemBOM)
|
||||||
|
{
|
||||||
|
List<BomItemDTO> answ = new List<BomItemDTO>();
|
||||||
|
if (!string.IsNullOrEmpty(itemBOM) && itemBOM.Length > 2)
|
||||||
|
{
|
||||||
|
var bomList = JsonConvert.DeserializeObject<List<BomItemDTO>>(itemBOM);
|
||||||
|
if (bomList != null)
|
||||||
|
{
|
||||||
|
answ = bomList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return answ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Esegue completamento e la validazione dei dati BOM da lista articoli + gruppi,
|
||||||
|
/// validando i dati stessi
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="itemGroupList">Elenco ItemGroup da considerare</param>
|
||||||
|
/// <param name="bomGenList">Item di tipo BOM/BomAlt AMMESSI</param>
|
||||||
|
/// <param name="bomList">Lista BOM ricevuta da validare</param>
|
||||||
|
/// <param name="bomList">Lista BOM precedente da confrontare x scelta alternativi</param>
|
||||||
|
/// <param name="totCost">Costo netto componenti BOM calcolato</param>
|
||||||
|
/// <param name="totPrice">Prezzo complessivo calcolato (con aggiunta marginalità)</param>
|
||||||
|
/// <param name="totItemQty">Numero toale di item dello step BOM</param>
|
||||||
|
/// <param name="numGroupOk">Controllo coerenza calcoli sui gruppi list2upd</param>
|
||||||
|
/// <param name="numItemOk">Controllo coerenza calcoli su num list2upd</param>
|
||||||
|
public static void Validate(
|
||||||
|
List<ItemGroupModel> itemGroupList,
|
||||||
|
List<ItemModel> bomGenList,
|
||||||
|
ref List<BomItemDTO> bomList,
|
||||||
|
List<BomItemDTO>? bomListPrev,
|
||||||
|
ref double totCost,
|
||||||
|
ref double totPrice,
|
||||||
|
ref int totItemQty,
|
||||||
|
ref int numGroupOk,
|
||||||
|
ref int numItemOk)
|
||||||
|
{
|
||||||
|
double margin = 0;
|
||||||
|
// ciclo x ogni elemento della BOM, cercando x gruppo e ExtItemCode
|
||||||
|
foreach (var item in bomList)
|
||||||
|
{
|
||||||
|
// init del margine
|
||||||
|
margin = 0;
|
||||||
|
// verifico item group esistente...
|
||||||
|
if (itemGroupList.Where(x => x.CodGroup == item.ClassCode).Count() > 0)
|
||||||
|
{
|
||||||
|
numGroupOk++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2025.09.16: se il prezzo arriva dalla BOM calcolata uso quello...
|
||||||
|
if (item.Price > 0)
|
||||||
|
{
|
||||||
|
// resetto ItemID ma NON il prezzo
|
||||||
|
item.ItemID = 0;
|
||||||
|
// conto l'item
|
||||||
|
numItemOk++;
|
||||||
|
item.PriceEff = item.Price;
|
||||||
|
// dovrei recuperare margine da BOM... da rivedere, x ora cablato 20%...
|
||||||
|
margin = 0.2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/*************************************************
|
||||||
|
* Ricerca costo item:
|
||||||
|
* - se ho un itemID --> cerco record ESATTO e sostituisco descrizioni & co...
|
||||||
|
* - se non ho itemID --> cerco dati di selezione + qtyRange
|
||||||
|
*************************************************/
|
||||||
|
ItemModel? recCost = null;
|
||||||
|
bool selExact = item.ItemID > 0;
|
||||||
|
if (selExact)
|
||||||
|
{
|
||||||
|
recCost = bomGenList
|
||||||
|
.Where(x => x.ItemID == item.ItemID)
|
||||||
|
.FirstOrDefault();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
recCost = bomGenList
|
||||||
|
.Where(x => x.CodGroup == item.ClassCode
|
||||||
|
&& x.ItemIDParent == 0 // voglio NON sia un record CHILD
|
||||||
|
&& x.ExtItemCode == item.ItemCode
|
||||||
|
&& item.Qty >= x.QtyMin
|
||||||
|
&& item.Qty < x.QtyMax)
|
||||||
|
.OrderByDescending(x => x.Cost)
|
||||||
|
.FirstOrDefault();
|
||||||
|
// 2025.09.24: se ho un elenco item della BOM precedente
|
||||||
|
if (bomListPrev != null && bomListPrev.Count > 0 && recCost != null)
|
||||||
|
{
|
||||||
|
// ...cerco item trovato come PARENT di altri item
|
||||||
|
var listAlt = bomGenList.Where(x => x.ItemIDParent == recCost.ItemID).ToList();
|
||||||
|
|
||||||
|
// che cerco nella nella BOM precedente...
|
||||||
|
var result = listAlt
|
||||||
|
.Join(
|
||||||
|
bomListPrev,
|
||||||
|
l1 => l1.ItemID,
|
||||||
|
l2 => l2.ItemID,
|
||||||
|
(l1, l2) => l1)
|
||||||
|
.ToList();
|
||||||
|
// nel caso ne trovassi solo 1 uso quello al posto del recCost...
|
||||||
|
if (result.Count == 1)
|
||||||
|
{
|
||||||
|
recCost = result.FirstOrDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// se trovato valorizzo!
|
||||||
|
if (recCost != null)
|
||||||
|
{
|
||||||
|
numItemOk++;
|
||||||
|
item.ItemID = recCost.ItemID;
|
||||||
|
//item.PriceEff = recCost.BomCost * (1 + recCost.Margin);
|
||||||
|
item.PriceEff = recCost.Cost;
|
||||||
|
// se selezione esatta sovrascrivo altri valori
|
||||||
|
if (selExact)
|
||||||
|
{
|
||||||
|
item.ItemCode = recCost.ExtItemCode;
|
||||||
|
//item.DescriptionCode = recCost.Name;
|
||||||
|
}
|
||||||
|
margin = recCost.Margin;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item.ItemID = 0;
|
||||||
|
item.PriceEff = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ...e aggiorno totale
|
||||||
|
totCost += item.TotalCost;
|
||||||
|
// e prezzo totale compreso margine
|
||||||
|
totPrice += item.TotalCost * (1 + margin);
|
||||||
|
totItemQty += item.ItemQty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Methods
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -48,7 +48,6 @@
|
|||||||
<PackageReference Include="NLog" />
|
<PackageReference Include="NLog" />
|
||||||
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" />
|
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" />
|
||||||
<PackageReference Include="RestSharp" />
|
<PackageReference Include="RestSharp" />
|
||||||
<PackageReference Include="Scrutor" />
|
|
||||||
<PackageReference Include="StackExchange.Redis" />
|
<PackageReference Include="StackExchange.Redis" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
global using EgwCoreLib.Lux.Core.Dto;
|
||||||
|
global using EgwCoreLib.Lux.Core.RestPayload;
|
||||||
|
global using EgwCoreLib.Lux.Data.Data.DbModel.Admin;
|
||||||
|
global using EgwCoreLib.Lux.Data.DbModel.Catalog;
|
||||||
|
global using EgwCoreLib.Lux.Data.DbModel.Config;
|
||||||
|
global using EgwCoreLib.Lux.Data.DbModel.Cost;
|
||||||
|
global using EgwCoreLib.Lux.Data.DbModel.Items;
|
||||||
|
global using EgwCoreLib.Lux.Data.DbModel.Job;
|
||||||
|
global using EgwCoreLib.Lux.Data.DbModel.Production;
|
||||||
|
global using EgwCoreLib.Lux.Data.DbModel.Report;
|
||||||
|
global using EgwCoreLib.Lux.Data.DbModel.Sales;
|
||||||
|
global using EgwCoreLib.Lux.Data.DbModel.Stats;
|
||||||
|
global using EgwCoreLib.Lux.Data.DbModel.Stock;
|
||||||
|
global using EgwCoreLib.Lux.Data.DbModel.Supplier;
|
||||||
|
global using EgwCoreLib.Lux.Data.DbModel.Utils;
|
||||||
|
global using EgwCoreLib.Lux.Data.DbModel.Warehouse;
|
||||||
|
global using Microsoft.EntityFrameworkCore;
|
||||||
|
global using Microsoft.Extensions.Configuration;
|
||||||
|
global using Newtonsoft.Json;
|
||||||
|
global using NLog;
|
||||||
+4111
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,251 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace EgwCoreLib.Lux.Data.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class EnableSellItemNullable : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AlterColumn<int>(
|
||||||
|
name: "SellingItemID",
|
||||||
|
table: "sales_order_row",
|
||||||
|
type: "int",
|
||||||
|
nullable: true,
|
||||||
|
oldClrType: typeof(int),
|
||||||
|
oldType: "int");
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<int>(
|
||||||
|
name: "SellingItemID",
|
||||||
|
table: "sales_offer_row",
|
||||||
|
type: "int",
|
||||||
|
nullable: true,
|
||||||
|
oldClrType: typeof(int),
|
||||||
|
oldType: "int");
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 1,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 18, 7, 36, 8, 630, DateTimeKind.Local).AddTicks(2026) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 2,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 18, 7, 36, 8, 630, DateTimeKind.Local).AddTicks(2044) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 3,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 18, 7, 36, 8, 630, DateTimeKind.Local).AddTicks(2051) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 4,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 18, 7, 36, 8, 630, DateTimeKind.Local).AddTicks(2057) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 1,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 2,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 3,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 4,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 5,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 6,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 7,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 8,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 9,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 10,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AlterColumn<int>(
|
||||||
|
name: "SellingItemID",
|
||||||
|
table: "sales_order_row",
|
||||||
|
type: "int",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: 0,
|
||||||
|
oldClrType: typeof(int),
|
||||||
|
oldType: "int",
|
||||||
|
oldNullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<int>(
|
||||||
|
name: "SellingItemID",
|
||||||
|
table: "sales_offer_row",
|
||||||
|
type: "int",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: 0,
|
||||||
|
oldClrType: typeof(int),
|
||||||
|
oldType: "int",
|
||||||
|
oldNullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 1,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 11, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 11, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 12, 5, 41, 29, 364, DateTimeKind.Local).AddTicks(1262) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 2,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 11, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 11, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 12, 5, 41, 29, 364, DateTimeKind.Local).AddTicks(1276) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 3,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 11, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 11, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 12, 5, 41, 29, 364, DateTimeKind.Local).AddTicks(1282) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 4,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 11, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 11, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 12, 5, 41, 29, 364, DateTimeKind.Local).AddTicks(1289) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 1,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 2,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 3,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 4,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 5,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 6,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 7,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 8,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 9,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 10,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 12, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+4129
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,237 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace EgwCoreLib.Lux.Data.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class OffRow_AddPendingSel : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "DictPendPresRaw",
|
||||||
|
table: "sales_order_row",
|
||||||
|
type: "longtext",
|
||||||
|
nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "DictPendPresRaw",
|
||||||
|
table: "sales_offer_row",
|
||||||
|
type: "longtext",
|
||||||
|
nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 1,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 27, 17, 9, 50, 585, DateTimeKind.Local).AddTicks(4789) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 2,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 27, 17, 9, 50, 585, DateTimeKind.Local).AddTicks(4807) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 3,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 27, 17, 9, 50, 585, DateTimeKind.Local).AddTicks(4813) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 4,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 27, 17, 9, 50, 585, DateTimeKind.Local).AddTicks(4820) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 1,
|
||||||
|
columns: new[] { "DictPendPresRaw", "Inserted", "Modified" },
|
||||||
|
values: new object[] { "", new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 2,
|
||||||
|
columns: new[] { "DictPendPresRaw", "Inserted", "Modified" },
|
||||||
|
values: new object[] { "", new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 3,
|
||||||
|
columns: new[] { "DictPendPresRaw", "Inserted", "Modified" },
|
||||||
|
values: new object[] { "", new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 4,
|
||||||
|
columns: new[] { "DictPendPresRaw", "Inserted", "Modified" },
|
||||||
|
values: new object[] { "", new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 5,
|
||||||
|
columns: new[] { "DictPendPresRaw", "Inserted", "Modified" },
|
||||||
|
values: new object[] { "", new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 6,
|
||||||
|
columns: new[] { "DictPendPresRaw", "Inserted", "Modified" },
|
||||||
|
values: new object[] { "", new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 7,
|
||||||
|
columns: new[] { "DictPendPresRaw", "Inserted", "Modified" },
|
||||||
|
values: new object[] { "", new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 8,
|
||||||
|
columns: new[] { "DictPendPresRaw", "Inserted", "Modified" },
|
||||||
|
values: new object[] { "", new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 9,
|
||||||
|
columns: new[] { "DictPendPresRaw", "Inserted", "Modified" },
|
||||||
|
values: new object[] { "", new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 10,
|
||||||
|
columns: new[] { "DictPendPresRaw", "Inserted", "Modified" },
|
||||||
|
values: new object[] { "", new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "DictPendPresRaw",
|
||||||
|
table: "sales_order_row");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "DictPendPresRaw",
|
||||||
|
table: "sales_offer_row");
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 1,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 18, 7, 36, 8, 630, DateTimeKind.Local).AddTicks(2026) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 2,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 18, 7, 36, 8, 630, DateTimeKind.Local).AddTicks(2044) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 3,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 18, 7, 36, 8, 630, DateTimeKind.Local).AddTicks(2051) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 4,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 17, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 18, 7, 36, 8, 630, DateTimeKind.Local).AddTicks(2057) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 1,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 2,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 3,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 4,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 5,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 6,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 7,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 8,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 9,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 10,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 18, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,385 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
|
||||||
|
|
||||||
|
namespace EgwCoreLib.Lux.Data.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class AddBuyOrder : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "item_supplier");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "buy_supplier",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
SupplierID = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
CompanyName = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
FirstName = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastName = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
VAT = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_buy_supplier", x => x.SupplierID);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "buy_order",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
BuyOrderID = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
RefYear = table.Column<int>(type: "int", nullable: false),
|
||||||
|
RefNum = table.Column<int>(type: "int", nullable: false),
|
||||||
|
RefRev = table.Column<int>(type: "int", nullable: false),
|
||||||
|
Description = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
SupplierID = table.Column<int>(type: "int", nullable: true),
|
||||||
|
Inserted = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||||
|
Modified = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||||
|
DueDateReq = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||||
|
ConsNote = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
OrderState = table.Column<int>(type: "int", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_buy_order", x => x.BuyOrderID);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_buy_order_buy_supplier_SupplierID",
|
||||||
|
column: x => x.SupplierID,
|
||||||
|
principalTable: "buy_supplier",
|
||||||
|
principalColumn: "SupplierID",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "buy_order_row",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
BuyOrderRowID = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
BuyOrderID = table.Column<int>(type: "int", nullable: false),
|
||||||
|
OrderID = table.Column<int>(type: "int", nullable: false),
|
||||||
|
ItemID = table.Column<int>(type: "int", nullable: false),
|
||||||
|
ClassCode = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
DescriptionCode = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
ItemCode = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
OrderRowData = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_buy_order_row", x => x.BuyOrderRowID);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_buy_order_row_buy_order_BuyOrderID",
|
||||||
|
column: x => x.BuyOrderID,
|
||||||
|
principalTable: "buy_order",
|
||||||
|
principalColumn: "BuyOrderID",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_buy_order_row_item_item_ItemID",
|
||||||
|
column: x => x.ItemID,
|
||||||
|
principalTable: "item_item",
|
||||||
|
principalColumn: "ItemID",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_buy_order_row_sales_order_OrderID",
|
||||||
|
column: x => x.OrderID,
|
||||||
|
principalTable: "sales_order",
|
||||||
|
principalColumn: "OrderID",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.InsertData(
|
||||||
|
table: "buy_supplier",
|
||||||
|
columns: new[] { "SupplierID", "CompanyName", "FirstName", "LastName", "VAT" },
|
||||||
|
values: new object[,]
|
||||||
|
{
|
||||||
|
{ 1, "Company One", "Supplier A", "Egalware", "7294857103879254" },
|
||||||
|
{ 2, "Company Two", "Supplier B", "User", "7294857103879254" },
|
||||||
|
{ 3, "Company Two", "Supplier C", "User Test", "7294857103879254" }
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 1,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 6, 13, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 5, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 5, 14, 11, 22, 33, 792, DateTimeKind.Local).AddTicks(5680) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 2,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 6, 13, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 5, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 5, 14, 11, 22, 33, 792, DateTimeKind.Local).AddTicks(5692) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 3,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 6, 13, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 5, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 5, 14, 11, 22, 33, 792, DateTimeKind.Local).AddTicks(5699) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 4,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 6, 13, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 5, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 5, 14, 11, 22, 33, 792, DateTimeKind.Local).AddTicks(5705) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 1,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 2,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 3,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 4,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 5,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 6,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 7,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 8,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 9,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 10,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 14, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_buy_order_SupplierID",
|
||||||
|
table: "buy_order",
|
||||||
|
column: "SupplierID");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_buy_order_row_BuyOrderID",
|
||||||
|
table: "buy_order_row",
|
||||||
|
column: "BuyOrderID");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_buy_order_row_ItemID",
|
||||||
|
table: "buy_order_row",
|
||||||
|
column: "ItemID");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_buy_order_row_OrderID",
|
||||||
|
table: "buy_order_row",
|
||||||
|
column: "OrderID");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "buy_order_row");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "buy_order");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "buy_supplier");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "item_supplier",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
SupplierID = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
CompanyName = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
FirstName = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastName = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
VAT = table.Column<string>(type: "longtext", nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_item_supplier", x => x.SupplierID);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.InsertData(
|
||||||
|
table: "item_supplier",
|
||||||
|
columns: new[] { "SupplierID", "CompanyName", "FirstName", "LastName", "VAT" },
|
||||||
|
values: new object[,]
|
||||||
|
{
|
||||||
|
{ 1, "Company One", "Supplier A", "Egalware", "7294857103879254" },
|
||||||
|
{ 2, "Company Two", "Supplier B", "User", "7294857103879254" },
|
||||||
|
{ 3, "Company Two", "Supplier C", "User Test", "7294857103879254" }
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 1,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 27, 17, 9, 50, 585, DateTimeKind.Local).AddTicks(4789) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 2,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 27, 17, 9, 50, 585, DateTimeKind.Local).AddTicks(4807) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 3,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 27, 17, 9, 50, 585, DateTimeKind.Local).AddTicks(4813) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer",
|
||||||
|
keyColumn: "OfferID",
|
||||||
|
keyValue: 4,
|
||||||
|
columns: new[] { "DueDateProm", "DueDateReq", "ValidUntil" },
|
||||||
|
values: new object[] { new DateTime(2026, 5, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 26, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 4, 27, 17, 9, 50, 585, DateTimeKind.Local).AddTicks(4820) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 1,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 2,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 3,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 4,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 5,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 6,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 7,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 8,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 9,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
|
||||||
|
migrationBuilder.UpdateData(
|
||||||
|
table: "sales_offer_row",
|
||||||
|
keyColumn: "OfferRowID",
|
||||||
|
keyValue: 10,
|
||||||
|
columns: new[] { "Inserted", "Modified" },
|
||||||
|
values: new object[] { new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local), new DateTime(2026, 3, 27, 0, 0, 0, 0, DateTimeKind.Local) });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+4291
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user