66 Commits

Author SHA1 Message Date
Samuele Locatelli 4068e72ead Merge branch 'release/DeleteOldPdf' 2023-10-20 12:07:16 +02:00
Samuele Locatelli 10e3004977 Update con cancellazione pdf oltre 6 mesi 2023-10-20 12:06:29 +02:00
Samuele Locatelli c30fc6033b Merge tag 'FixHttpsNexusUpload' into develop
Fix nexus upload http/https
2022-04-07 14:54:33 +02:00
Samuele Locatelli 33f9070c42 Merge branch 'release/FixHttpsNexusUpload' 2022-04-07 14:54:24 +02:00
Samuele Locatelli 8b31af034e Update http --> https x nexus PUT 2022-04-07 14:52:39 +02:00
Samuele Locatelli c09cc2dcfc Merge branch 'master' into develop 2022-04-07 13:00:23 +02:00
Samuele Locatelli ac70c48a2d refresh 2022-04-07 13:00:09 +02:00
Samuele Locatelli 531eb4d79a eliminazione dll inutili 2022-04-07 12:58:56 +02:00
Samuele Locatelli d1a12c5709 Update comportamento in stampa (gestione eccezioni e lettura dati file) 2022-04-07 12:58:44 +02:00
Samuele Locatelli c0a85b6dc3 Merge tag 'FixCICD' into develop
Fix CiCd x tag win su build machine
2021-09-02 12:57:57 +02:00
Samuele Locatelli 001c8dbb58 Merge branch 'release/FixCICD' 2021-09-02 12:57:36 +02:00
Samuele Locatelli 3e9d703c48 fix gitlab build 2021-09-02 12:57:02 +02:00
Samuele Locatelli 37858a857e fix nuget download passwd 2021-04-16 08:51:31 +02:00
Samuele Locatelli 9d23f67dba Merge branch 'master' into develop 2021-04-16 08:48:36 +02:00
Samuele Locatelli b79ac951e2 Aggiunta variabile hidden x pwd 2021-04-16 08:48:22 +02:00
Samuele Locatelli b61d1852a1 rimozione backup e old file jenkins (non + usato) da rimuovere in futuro 2021-04-16 08:40:45 +02:00
Samuele Locatelli 95114a49cb fix tipo versione 2021-04-16 08:31:09 +02:00
Samuele Locatelli c385f5d158 Merge branch 'develop' 2021-04-16 08:28:20 +02:00
Samuele Locatelli b26361854c fix version upload 2021-04-16 08:21:50 +02:00
Samuele Locatelli 4b64189436 Merge remote-tracking branch 'origin/develop' into develop 2021-04-16 08:17:34 +02:00
Samuele Locatelli 3914d7b7c7 update gitlab push 2021-04-16 08:16:16 +02:00
Samuele E. Locatelli e1acd72ac5 update version variable 2021-04-15 21:44:36 +02:00
Samuele E. Locatelli 83150a380f aggiunto check parametri upload nexus x check 2021-04-15 21:41:41 +02:00
Samuele E. Locatelli 1b51d4f4b9 aggiunta build anche x Master 2021-04-15 21:37:30 +02:00
Samuele E. Locatelli f595c32852 Merge branch 'develop' 2021-04-15 21:33:57 +02:00
Samuele E. Locatelli 5a9578f7b0 Merge branch 'develop' 2021-04-15 21:33:36 +02:00
Samuele E. Locatelli 77639e28e6 update hash file conf 2021-04-15 21:29:04 +02:00
Samuele Locatelli 8ac5c040e7 altro syntax... 2021-04-15 20:14:59 +02:00
Samuele Locatelli 39bbfb0320 fix hash path 2021-04-15 20:11:54 +02:00
Samuele Locatelli b98c484499 fix hash 2021-04-15 20:09:43 +02:00
Samuele Locatelli 3a3beb598d aggiunto upload hash 2021-04-15 20:02:47 +02:00
Samuele Locatelli 7b7cb9006f aggiunto HASH calculation 2021-04-15 19:51:47 +02:00
Samuele Locatelli 1e6cf0fb84 fix file name path 2021-04-15 19:40:45 +02:00
Samuele Locatelli 2a4ff472c1 modifica CURL 2021-04-15 19:38:09 +02:00
Samuele Locatelli c2ff14fa85 modifica chiamata curl 2021-04-15 19:22:50 +02:00
Samuele Locatelli 8b83a06a0e fix vers num + test nexus upload 2021-04-15 19:17:50 +02:00
Samuele Locatelli 9acb7e0e9e force remove dir 2021-04-15 19:13:58 +02:00
Samuele Locatelli 01207d444e nuovo test zip 2021-04-15 19:11:52 +02:00
Samuele Locatelli 9ffac4a880 test x directory esistente 2021-04-15 14:45:47 +02:00
Samuele Locatelli a2f19b6882 ignore error on delete 2021-04-15 14:35:18 +02:00
Samuele Locatelli 212eb23bcf echo cmd rem + zip 2021-04-15 14:33:16 +02:00
Samuele Locatelli b4913300c2 test out dir 2021-04-15 14:30:42 +02:00
Samuele Locatelli 05817acb27 sintassi remove item 2021-04-15 14:27:11 +02:00
Samuele Locatelli dc3dbdcd99 fix cleanup 2021-04-15 14:25:00 +02:00
Samuele Locatelli 7df1d1953c cambio sintassi zip 2021-04-15 14:23:06 +02:00
Samuele Locatelli 7c28dfaccb ancora update yaml 2021-04-15 14:21:36 +02:00
Samuele Locatelli c5be77e7a6 test YAML 2021-04-15 14:17:37 +02:00
Samuele Locatelli 4f6b4366f3 update componente ZIP 2021-04-15 11:57:32 +02:00
Samuele Locatelli 597c84bd1d test gitlab x upload develop/master su nexus 2021-04-15 10:53:40 +02:00
Samuele Locatelli c891687578 typo proj 2021-04-14 15:29:23 +02:00
Samuele Locatelli 377d7da945 test gitlab pipeline 2021-04-14 15:27:56 +02:00
Samuele Locatelli bb45ce7d60 Merge remote-tracking branch 'origin/master' into develop 2021-04-14 08:18:53 +02:00
Samuele Locatelli b3002d0899 Merge branch 'feature/multi-report-queue' into develop 2021-04-14 08:17:57 +02:00
Samuele Locatelli 8989c81b27 Merge branch 'feature/multi-report-queue' 2021-04-14 08:17:31 +02:00
Samuele Locatelli 87cb66fd49 Update x gestione code con multi report 2021-04-14 08:17:17 +02:00
Samuele Locatelli f46d029f01 reorg codice + gestione coda multi template 2021-04-13 08:41:56 +02:00
Samuele Locatelli 0d614670e6 update steamware libs x coda report aggiornata (multi-template) 2021-04-13 08:41:43 +02:00
Samuele Locatelli 812a51c92e start new rel vers + fix empty json 2021-04-13 08:06:05 +02:00
gitlab c876005a25 Update .gitlab-ci.yml 2021-03-24 14:28:00 +00:00
gitlab fc45f8e7c8 Update .gitlab-ci.yml 2021-03-24 14:26:52 +00:00
gitlab 22bda60baa Add new directory 2021-03-24 13:24:46 +00:00
gitlab 63558cbc9a Prima versione 2021-03-24 11:57:28 +00:00
gitlab b6c8ace42a Vecchia demo da cancellare 2021-03-24 11:42:50 +00:00
Samuele E. Locatelli 90edaf6c9e Merge branch 'develop' 2021-01-13 11:47:19 +01:00
Samuele E. Locatelli 800409e849 new rel 2021-01-13 11:47:13 +01:00
Samuele E. Locatelli a76270470d fix conf x test MAG 2021-01-13 11:46:55 +01:00
16 changed files with 1272 additions and 988 deletions
+113 -51
View File
@@ -1,56 +1,118 @@
# This file is a template, and might need editing before it works on your project.
# The following script will work for any project that can be built from command line by msbuild
# It uses powershell shell executor, so you need to add the following line to your config.toml file
# (located in gitlab-runner.exe directory):
# shell = "powershell"
#
# The script is composed of 3 stages: build, test and deploy.
#
# The build stage restores NuGet packages and uses msbuild to build the exe and msi
# One major issue you'll find is that you can't build msi projects from command line
# if you use vdproj. There are workarounds building msi via devenv, but they rarely work
# The best solution is migrating your vdproj projects to WiX, as it can be build directly
# by msbuild.
#
# The test stage runs nunit from command line against Test project inside your solution
# It also saves the resulting TestResult.xml file
#
# The deploy stage copies the exe and msi from build stage to a network drive
# You need to have the network drive mapped as Local System user for gitlab-runner service to see it
# The best way to persist the mapping is via a scheduled task (see: https://stackoverflow.com/a/7867064/1288473),
# running the following batch command: net use P: \\x.x.x.x\Projects /u:your_user your_pass /persistent:yes
# place project specific paths in variables to make the rest of the script more generic
variables:
EXE_RELEASE_FOLDER: 'C:\Testb\bin\Release'
MSI_RELEASE_FOLDER: 'C:\Testb\Setup\bin\Release'
TEST_FOLDER: 'C:\Testb\Tests\bin\Release'
#DEPLOY_FOLDER: 'P:\Projects\YourApp\Builds'
NUGET_PATH: 'C:\Tools\NuGet\nuget.exe'
#MSBUILD_PATH: 'C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe'
MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\msbuild.exe'
#NUNIT_PATH: 'C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe'
NUGET_PATH: 'C:\Tools\nuget.exe'
MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe'
ASPNET_MERGE_PATH: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools'
EXE_RELEASE_FOLDER: 'c:\Projetcs\Compiled\GPW\Release'
DEPLOY_FOLDER: 'c:\Projects\Deploy\GPW\Builds'
NEXUS_PATH: 'LPA/LPA'
APP_NAME: 'LPA'
VERS_MAIN: '1.2'
NEW_REL: ''
OUTPUT_DIR: ''
# helper x fix pacchetti nuget da repo locale nexus.steamware.net
.nuget-fix: &nuget-fix
- |
$hasSource = C:\Tools\nuget.exe sources list | find "`"Steamware Nexus`"" /C
if ($hasSource -eq 0) {
C:\Tools\nuget.exe sources Add -Name "`"Steamware Nexus`"" -Source https://nexus.steamware.net/repository/nuget-group -username "`"nugetUser`"" -password "`"$NEXUS_PASSWD`""
} else {
C:\Tools\nuget.exe sources Update -Name "`"Steamware Nexus`"" -Source https://nexus.steamware.net/repository/nuget-group -username "`"nugetUser`"" -password "`"$NEXUS_PASSWD`""
}
echo $hasSource
# helper x fix version number
.version-fix: &version-fix
- |
$env:NEW_REL = $env:VERS_MAIN+"."+(get-date format yyMM)+"."+$CI_PIPELINE_IID
$contenuto = Get-Content -path 'VersGen\VersGen.cs' -Raw
$newContenuto = $contenuto -replace '0.0.0.0', $env:NEW_REL
$newContenuto | Set-Content -Path 'VersGen\VersGen.cs'
echo "Set vers: $env:NEW_REL"
# helper pulizia files zip
.cleanup-zip: &cleanup-zip
- |
$env:OUTPUT_DIR = "Releases\" + $CI_COMMIT_BRANCH + "\*"
if ((Test-Path $env:OUTPUT_DIR))
{
Remove-Item $env:OUTPUT_DIR -Force -Recurse -ErrorAction Ignore
}
echo "Clening ZIP dir: $env:OUTPUT_DIR"
# helper creazione files zip
.zipper: &zipper
- |
$7zipPath = $env:ProgramFiles+"\7-Zip\7z.exe"
if (-not (Test-Path -Path $7zipPath -PathType Leaf)) {
throw "7 zip file '$7zipPath' not found"
}
Set-Alias 7zip $7zipPath
$Target = "Releases\" + $CI_COMMIT_BRANCH + "\" + $env:APP_NAME + ".zip"
$Source = "LPA\bin\*"
7zip a -tzip $Target $Source
echo "called ZIP $Source --> $Target"
# helper creazione hash files
.hashBuild: &hashBuild
- |
$Target = "Releases\" + $CI_COMMIT_BRANCH + "\" + $env:APP_NAME + ".zip"
$MD5 = Get-FileHash $Target -Algorithm MD5
$SHA1 = Get-FileHash $Target -Algorithm SHA1
New-Item $Target".md5"
New-Item $Target".sha1"
$MD5.Hash | Set-Content -Path $Target".md5"
$SHA1.Hash | Set-Content -Path $Target".sha1"
echo "Created HASH files for $Target"
# helper x send su NEXUS
.nexusUpload: &nexusUpload
- |
Set-Alias mCurl C:\Windows\system32\curl.exe
if($CI_COMMIT_BRANCH -eq "master")
{
$version = "stable"
}
else
{
$version = "unstable"
}
$File2Send = "Releases\" + $CI_COMMIT_BRANCH + "\" + $env:APP_NAME + ".zip"
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File2Send https://nexus.steamware.net/repository/utility/$env:NEXUS_PATH/$version/$env:APP_NAME-$version.zip
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File2Send".md5" https://nexus.steamware.net/repository/utility/$env:NEXUS_PATH/$version/$env:APP_NAME-$version.zip".md5"
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File2Send".sha1" https://nexus.steamware.net/repository/utility/$env:NEXUS_PATH/$version/$env:APP_NAME-$version.zip".sha1"
# mCurl -v -u $env:NEXUS_USER:$env:NEXUS_PASSWD --upload-file bin/release/$env:APP_NAME.zip $env:NEXUS_SERVER/utility/$env:NEXUS_PATH/$version/$env:APP_NAME-$version.zip
stages:
- build
#- test
#- deploy
- build
- deploy
build_job:
stage: build
only:
- master # the build process will only be started by git tag commits
tags:
- msbuild
script:
- '& "$env:NUGET_PATH" restore' # restore Nuget dependencies
- '& "$env:MSBUILD_PATH" LPA/LPA.csproj -target:Build /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/ /m' # build the project
artifacts:
expire_in: 1 week # save gitlab server space, we copy the files we need to deploy folder later on
paths:
- '$env:EXE_RELEASE_FOLDER\LPA.exe' # saving exe to copy to deploy folder
- '$env:MSI_RELEASE_FOLDER\LPA.msi' # saving msi to copy to deploy folder
#- '$env:TEST_FOLDER\' # saving entire Test project so NUnit can run tests
stage: build
tags:
- win
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore LPA.sln' # path alla solution corrente
- *version-fix
script:
- '& "$env:MSBUILD_PATH" LPA\LPA.csproj -target:Build /p:Configuration=Release /p:Platform="Any CPU" /p:OutputPath=bin/ /verbosity:minimal /m'
deploy_job:
stage: deploy
tags:
- win
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore LPA.sln' # path alla solution corrente
- *version-fix
- *cleanup-zip
script:
- '& "$env:MSBUILD_PATH" LPA\LPA.csproj -target:Build /p:Configuration=Release /p:Platform="Any CPU" /p:OutputPath=bin/ /verbosity:minimal /m'
- *zipper
- *hashBuild
- *nexusUpload
needs: ["build_job"]
+9 -5
View File
@@ -5,8 +5,12 @@
</startup>
<appSettings>
<add key="appName" value="LPA" />
<add key="serverBaseAddr" value="http://iis02/NKC/" />
<add key="serverIp" value="iis02" />
<!--<add key="serverBaseAddr" value="http://iis01/MP/MAG/" />
<add key="serverIp" value="iis01" />-->
<add key="serverBaseAddr" value="http://iis01.egalware.com/NKC/" />
<add key="serverIp" value="iis01.egalware.com" />
<!--<add key="serverBaseAddr" value="http://iis02.egalware.com/NKC/" />
<add key="serverIp" value="iis02.egalware.com" />-->
<add key="localReportPath" value="reports" />
<add key="localPdfPath" value="pdf" />
<add key="_logDir" value="/logs/" />
@@ -32,7 +36,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
@@ -40,7 +44,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.24.0.0" newVersion="0.24.0.0" />
<bindingRedirect oldVersion="0.0.0.0-0.28.1.0" newVersion="0.28.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
@@ -48,7 +52,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.1" newVersion="5.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
Binary file not shown.
Binary file not shown.
Binary file not shown.
+71 -40
View File
@@ -52,11 +52,14 @@
<Reference Include="Crc32C.NET, Version=1.0.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Crc32C.NET.1.0.5.0\lib\net20\Crc32C.NET.dll</HintPath>
</Reference>
<Reference Include="DnsClient, Version=1.2.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.2.0\lib\net45\DnsClient.dll</HintPath>
<Reference Include="DnsClient, Version=1.4.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.4.0\lib\net45\DnsClient.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.2.0.246, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.2.0\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.3.1.9, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.3.1\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.5.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.ReportViewer.Common, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ReportViewer.Runtime.Common.12.0.2402.15\lib\Microsoft.ReportViewer.Common.dll</HintPath>
@@ -73,23 +76,23 @@
<Reference Include="Microsoft.SqlServer.Types, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.SqlServer.Types.14.0.1016.290\lib\net40\Microsoft.SqlServer.Types.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Bson, Version=2.10.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.10.2\lib\net452\MongoDB.Bson.dll</HintPath>
<Reference Include="MongoDB.Bson, Version=2.12.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.12.0\lib\net452\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver, Version=2.10.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.10.2\lib\net452\MongoDB.Driver.dll</HintPath>
<Reference Include="MongoDB.Driver, Version=2.12.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.12.0\lib\net452\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.10.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.10.2\lib\net452\MongoDB.Driver.Core.dll</HintPath>
<Reference Include="MongoDB.Driver.Core, Version=2.12.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.12.0\lib\net452\MongoDB.Driver.Core.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.0.0\lib\net452\MongoDB.Libmongocrypt.dll</HintPath>
<Reference Include="MongoDB.LibMongocrypt, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.LibMongocrypt.1.2.0\lib\net452\MongoDB.LibMongocrypt.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.6.8\lib\net45\NLog.dll</HintPath>
<HintPath>..\packages\NLog.4.7.8\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="NLog.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.Windows.Forms.4.3.0\lib\net35\NLog.Windows.Forms.dll</HintPath>
@@ -101,48 +104,53 @@
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.Charting.dll</HintPath>
</Reference>
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.1.1\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.0\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="SharpCompress, Version=0.24.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.24.0\lib\net45\SharpCompress.dll</HintPath>
<Reference Include="SharpCompress, Version=0.28.1.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.28.1\lib\netstandard2.0\SharpCompress.dll</HintPath>
</Reference>
<Reference Include="Snappy.NET, Version=1.1.1.8, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Snappy.NET.1.1.1.8\lib\net45\Snappy.NET.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.0.601\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.2.4\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="SteamWare.IO, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.IO.4.0.2002.731\lib\net462\SteamWare.IO.dll</HintPath>
<HintPath>..\packages\SteamWare.IO.5.0.2104.757\lib\net462\SteamWare.IO.dll</HintPath>
</Reference>
<Reference Include="SteamWare.Logger, Version=4.0.2002.731, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.4.0.2002.731\lib\net462\SteamWare.Logger.dll</HintPath>
<Reference Include="SteamWare.Logger, Version=5.0.2104.757, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.0.2104.757\lib\net462\SteamWare.Logger.dll</HintPath>
</Reference>
<Reference Include="SteamWare.Reports, Version=4.0.2002.731, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Reports.4.0.2002.731\lib\net462\SteamWare.Reports.dll</HintPath>
<Reference Include="SteamWare.Reports, Version=5.0.2104.757, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Reports.5.0.2104.757\lib\net462\SteamWare.Reports.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.0\lib\netstandard2.0\System.Buffers.dll</HintPath>
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Diagnostics.PerformanceCounter, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.4.7.0\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
<Reference Include="System.Diagnostics.PerformanceCounter, Version=5.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.5.0.1\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
</Reference>
<Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Pipelines, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.4.7.0\lib\netstandard2.0\System.IO.Pipelines.dll</HintPath>
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
</Reference>
<Reference Include="System.IO.Pipelines, Version=5.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.5.0.1\lib\net461\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll</HintPath>
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.7.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
@@ -150,12 +158,27 @@
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Threading.Channels, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.4.7.0\lib\netstandard2.0\System.Threading.Channels.dll</HintPath>
<Reference Include="System.Text.Encoding.CodePages, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encoding.CodePages.5.0.0\lib\net461\System.Text.Encoding.CodePages.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Channels, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.5.0.0\lib\net461\System.Threading.Channels.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.3\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.Web" />
@@ -165,7 +188,6 @@
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
@@ -203,7 +225,10 @@
<None Include="..\.editorconfig">
<Link>.editorconfig</Link>
</None>
<None Include="conf\serverSetup.json" />
<None Include="conf\serverSetup.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="demo\ReportConf.json" />
<None Include="reports\DemoA4.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
@@ -216,7 +241,9 @@
<None Include="conf\queueSetupDemo.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="conf\queueSetup.json" />
<None Include="conf\queueSetup.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="demo\DemoA6.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
@@ -281,7 +308,9 @@
<ItemGroup>
<Content Include="App_Readme\README_SteamWare.txt" />
<Content Include="App_Readme\SteamWare_demo\example-favicon.ico" />
<Content Include="mongocrypt.dll" />
<Content Include="Core\Compression\Snappy\lib\win\snappy32.dll" />
<Content Include="Core\Compression\Snappy\lib\win\snappy64.dll" />
<Content Include="Core\Compression\Zstandard\lib\win\libzstd.dll" />
<Content Include="Resources\SteamWare.ico" />
<Content Include="SqlServerTypes\readme.htm" />
<Content Include="SqlServerTypes\x64\msvcr120.dll">
@@ -308,10 +337,10 @@
<Error Condition="!Exists('..\packages\Microsoft.NetCore.Analyzers.2.9.8\build\Microsoft.NetCore.Analyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.NetCore.Analyzers.2.9.8\build\Microsoft.NetCore.Analyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.NetFramework.Analyzers.2.9.8\build\Microsoft.NetFramework.Analyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.NetFramework.Analyzers.2.9.8\build\Microsoft.NetFramework.Analyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.2.9.8\build\Microsoft.CodeAnalysis.FxCopAnalyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.2.9.8\build\Microsoft.CodeAnalysis.FxCopAnalyzers.props'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.LibMongocrypt.1.2.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.LibMongocrypt.1.2.0\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.12.0\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.12.0\build\MongoDB.Driver.Core.targets'))" />
</Target>
<Import Project="..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
<Target Name="AfterBuild">
<ItemGroup>
@@ -319,4 +348,6 @@
</ItemGroup>
<Move SourceFiles="@(MoveToLibFolder)" DestinationFolder="$(OutputPath)lib" OverwriteReadOnlyFiles="true" />
</Target>
<Import Project="..\packages\MongoDB.LibMongocrypt.1.2.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.LibMongocrypt.1.2.0\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.12.0\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.12.0\build\MongoDB.Driver.Core.targets')" />
</Project>
+776 -680
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@

{}
+10
View File
@@ -0,0 +1,10 @@
[
{
"name": "DemoA4",
"template": "DemoA4.rdlc"
},
{
"name": "DemoA5",
"template": "DemoA5.rdlc"
}
]
Binary file not shown.
+28 -20
View File
@@ -3,7 +3,8 @@
<package id="AIM" version="1.0.3" targetFramework="net462" />
<package id="AjaxControlToolkit" version="19.1.0" targetFramework="net462" />
<package id="Crc32C.NET" version="1.0.5.0" targetFramework="net462" />
<package id="DnsClient" version="1.2.0" targetFramework="net462" />
<package id="DnsClient" version="1.4.0" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="5.0.0" targetFramework="net462" />
<package id="Microsoft.CodeAnalysis.FxCopAnalyzers" version="2.9.8" targetFramework="net462" developmentDependency="true" />
<package id="Microsoft.CodeAnalysis.VersionCheckAnalyzer" version="2.9.8" targetFramework="net462" developmentDependency="true" />
<package id="Microsoft.CodeQuality.Analyzers" version="2.9.8" targetFramework="net462" developmentDependency="true" />
@@ -13,31 +14,38 @@
<package id="Microsoft.ReportViewer.Runtime.Common" version="12.0.2402.15" targetFramework="net462" />
<package id="Microsoft.ReportViewer.Runtime.WinForms" version="12.0.2402.15" targetFramework="net462" />
<package id="Microsoft.SqlServer.Types" version="14.0.1016.290" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.10.2" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.10.2" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.10.2" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.0.0" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.12.0" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.12.0" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.12.0" targetFramework="net462" />
<package id="MongoDB.LibMongocrypt" version="1.2.0" targetFramework="net462" />
<package id="NETStandard.Library" version="2.0.3" targetFramework="net462" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net462" />
<package id="NLog" version="4.6.8" targetFramework="net462" />
<package id="NLog" version="4.7.8" targetFramework="net462" />
<package id="NLog.Windows.Forms" version="4.3.0" targetFramework="net462" />
<package id="PDFsharp" version="1.50.5147" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.1.1" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.0" targetFramework="net462" />
<package id="PrettyBin" version="1.1.0" targetFramework="net462" />
<package id="SharpCompress" version="0.24.0" targetFramework="net462" />
<package id="SharpZipLib" version="1.2.0" targetFramework="net462" />
<package id="SharpCompress" version="0.28.1" targetFramework="net462" />
<package id="SharpZipLib" version="1.3.1" targetFramework="net462" />
<package id="Snappy.NET" version="1.1.1.8" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.0.601" targetFramework="net462" />
<package id="SteamWare.IO" version="4.0.2002.731" targetFramework="net462" />
<package id="SteamWare.Logger" version="4.0.2002.731" targetFramework="net462" />
<package id="SteamWare.Reports" version="4.0.2002.731" targetFramework="net462" />
<package id="System.Buffers" version="4.5.0" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="4.7.0" targetFramework="net462" />
<package id="System.IO.Pipelines" version="4.7.0" targetFramework="net462" />
<package id="System.Memory" version="4.5.3" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.2.4" targetFramework="net462" />
<package id="SteamWare.IO" version="5.0.2104.757" targetFramework="net462" />
<package id="SteamWare.Logger" version="5.0.2104.757" targetFramework="net462" />
<package id="SteamWare.Reports" version="5.0.2104.757" targetFramework="net462" />
<package id="System.Buffers" version="4.5.1" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="5.0.1" targetFramework="net462" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
<package id="System.IO.Pipelines" version="5.0.1" targetFramework="net462" />
<package id="System.Memory" version="4.5.4" targetFramework="net462" />
<package id="System.Net.Http" version="4.3.4" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.7.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net462" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="4.7.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.3" targetFramework="net462" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net462" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net462" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.2" targetFramework="net462" />
<package id="System.Text.Encoding.CodePages" version="5.0.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="5.0.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
</packages>
+258 -185
View File
@@ -16,14 +16,36 @@ namespace LPA
{
public class reportPrinter
{
#region Private Fields
/// <summary>
/// Indice pagina corrente x stampa ogni report
/// </summary>
private int m_currentPageIndex;
/// <summary>
/// stream del report...
/// </summary>
private IList<Stream> m_streams;
#endregion Private Fields
#region Protected Fields
/// <summary>
/// Directory di abse applicazione
/// </summary>
protected string baseDir;
/// <summary>
/// Path x salvataggio locale pdf
/// </summary>
protected string localPdfPath = "pdf";
#endregion Protected Fields
#region Public Constructors
/// <summary>
/// Classe reportprinter
/// </summary>
@@ -33,16 +55,191 @@ namespace LPA
localPdfPath = memLayer.ML.confReadString("localPdfPath");
}
#region metodi stampa effettiva report
#endregion Public Constructors
#region Private Methods
/// <summary>
/// Indice pagina corrente x stampa ogni report
/// ciclo da fornire al renderizzatore dei report, per salvare 1 immagine da ogni pagina del report
/// </summary>
private int m_currentPageIndex;
/// <param name="name"></param>
/// <param name="fileNameExtension"></param>
/// <param name="encoding"></param>
/// <param name="mimeType"></param>
/// <param name="willSeek"></param>
/// <returns></returns>
private Stream CreateStream(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek)
{
// compongo stringhe x file con nomi univoci
DateTime adesso = DateTime.Now;
Random randNum = new Random();
string filePathName = $"{baseDir}{localPdfPath}\\temp\\{name}_{adesso:HHmmss}_{adesso:ffffff}_{randNum.Next(0, 999):000}.{fileNameExtension}";
Stream stream = new FileStream(filePathName, FileMode.Create);
m_streams.Add(stream);
return stream;
}
/// <summary>
/// stream del report...
/// ciclo da fornire al renderizzatore dei report, per salvare 1 pdf da ogni pagina del report
/// </summary>
private IList<Stream> m_streams;
/// <param name="name"></param>
/// <param name="fileNameExtension"></param>
/// <param name="encoding"></param>
/// <param name="mimeType"></param>
/// <param name="willSeek"></param>
/// <returns></returns>
private Stream CreateStreamPdf(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek)
{
// compongo stringhe
DateTime adesso = DateTime.Now;
string dailyDir = $"{baseDir}{localPdfPath}\\{adesso:yyyy}\\{adesso:MM}\\{adesso:dd}\\";
string pdfPathName = $"{dailyDir}\\{name}_{adesso:HHmmss}_{adesso:ffff}.{fileNameExtension}";
// creo Directory se non c'è
if (!Directory.Exists(dailyDir))
{
Directory.CreateDirectory(dailyDir);
}
Stream stream = new FileStream(pdfPathName, FileMode.Create);
m_streams.Add(stream);
return stream;
}
/// <summary>
/// esegue print vero e proprio
/// </summary>
/// <param name="printerName"></param>
/// <param name="report"></param>
/// <param name="deviceInfo"></param>
private bool doEmfPrint(string printerName, LocalReport report, string deviceInfo)
{
bool fatto = false;
// export in EMF
Export(report, deviceInfo);
m_currentPageIndex = 0;
// stampo
fatto = Print(printerName);
// do dispose...
Dispose();
return fatto;
}
/// <summary>
/// effettua stampa in PDF dei vari report in una cartella Anno/Mese/Giorno
/// </summary>
/// <param name="report"></param>
/// <param name="deviceInfo"></param>
private void doLocalPdfPrint(LocalReport report, string deviceInfo)
{
// export in PDF
ExportPDF(report, deviceInfo);
m_currentPageIndex = 0;
// do dispose?
Dispose();
}
/// <summary>
/// Export del report come EMF (Enhanced Metafile) file.
/// </summary>
/// <param name="report"></param>
private void Export(LocalReport report, string deviceInfo)
{
Warning[] warnings;
m_streams = new List<Stream>();
report.Render("Image", deviceInfo, CreateStream, out warnings);
foreach (Stream stream in m_streams)
{
//stream.Flush();
stream.Position = 0;
}
}
/// <summary>
/// Export del report come PDF file.
/// </summary>
/// <param name="report"></param>
private void ExportPDF(LocalReport report, string deviceInfo)
{
Warning[] warnings;
m_streams = new List<Stream>();
report.Render("PDF", deviceInfo, CreateStreamPdf, out warnings);
foreach (Stream stream in m_streams)
{
//stream.Flush();
stream.Position = 0;
}
}
/// <summary>
/// funzione di stampa...
/// </summary>
private bool Print(string printerName)
{
if (m_streams == null || m_streams.Count == 0)
return false;
bool fatto = false;
// provo a stampare
try
{
using (PrintDocument printDoc = new PrintDocument())
{
printDoc.PrinterSettings.PrinterName = printerName;
if (!printDoc.PrinterSettings.IsValid)
{
Log.Instance.Error($"Impostazioni non valide per la stampante {printerName}");
return fatto;
}
printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
printDoc.Print();
fatto = true;
};
}
catch (Exception exc)
{
Log.Instance.Error($"Errore in Print{Environment.NewLine}{exc}");
}
return fatto;
}
/// <summary>
/// Handler per PrintPageEvents
/// </summary>
/// <param name="sender"></param>
/// <param name="ev"></param>
private void PrintPage(object sender, PrintPageEventArgs ev)
{
try
{
Metafile pageImage = new Metafile(m_streams[m_currentPageIndex]);
ev.Graphics.DrawImage(pageImage, ev.PageBounds);
m_currentPageIndex++;
ev.HasMorePages = (m_currentPageIndex < m_streams.Count);
}
catch (Exception exc)
{
Log.Instance.Error($"Errore in PrintPage{Environment.NewLine}{exc}");
}
}
#endregion Private Methods
#region Public Methods
/// <summary>
/// dispone l'applicazione e rilascia le risorse
/// </summary>
public void Dispose()
{
if (m_streams != null)
{
foreach (Stream stream in m_streams)
{
stream.Close();
}
m_streams = null;
}
}
/// <summary>
/// Crea un report locale da file rdlc, carica i dati, esporta report come EMF file e quindi lo invia alla stampante + eventuale backup pdf
/// </summary>
@@ -85,172 +282,7 @@ namespace LPA
}
return answ;
}
/// <summary>
/// esegue print vero e proprio
/// </summary>
/// <param name="printerName"></param>
/// <param name="report"></param>
/// <param name="deviceInfo"></param>
private bool doEmfPrint(string printerName, LocalReport report, string deviceInfo)
{
bool fatto = false;
// export in EMF
Export(report, deviceInfo);
m_currentPageIndex = 0;
// stampo
fatto = Print(printerName);
// do dispose...
Dispose();
return fatto;
}
/// <summary>
/// effettua stampa in PDF dei vari report in una cartella Anno/Mese/Giorno
/// </summary>
/// <param name="report"></param>
/// <param name="deviceInfo"></param>
private void doLocalPdfPrint(LocalReport report, string deviceInfo)
{
// export in PDF
ExportPDF(report, deviceInfo);
m_currentPageIndex = 0;
// do dispose?
Dispose();
}
/// <summary>
/// Export del report come EMF (Enhanced Metafile) file.
/// </summary>
/// <param name="report"></param>
private void Export(LocalReport report, string deviceInfo)
{
Warning[] warnings;
m_streams = new List<Stream>();
report.Render("Image", deviceInfo, CreateStream, out warnings);
foreach (Stream stream in m_streams)
{
//stream.Flush();
stream.Position = 0;
}
}
/// <summary>
/// Export del report come PDF file.
/// </summary>
/// <param name="report"></param>
private void ExportPDF(LocalReport report, string deviceInfo)
{
Warning[] warnings;
m_streams = new List<Stream>();
report.Render("PDF", deviceInfo, CreateStreamPdf, out warnings);
foreach (Stream stream in m_streams)
{
//stream.Flush();
stream.Position = 0;
}
}
/// <summary>
/// dispone l'applicazione e rilascia le risorse
/// </summary>
public void Dispose()
{
if (m_streams != null)
{
foreach (Stream stream in m_streams)
{
stream.Close();
}
m_streams = null;
}
}
/// <summary>
/// ciclo da fornire al renderizzatore dei report, per salvare 1 immagine da ogni pagina del report
/// </summary>
/// <param name="name"></param>
/// <param name="fileNameExtension"></param>
/// <param name="encoding"></param>
/// <param name="mimeType"></param>
/// <param name="willSeek"></param>
/// <returns></returns>
private Stream CreateStream(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek)
{
// compongo stringhe x file con nomi univoci
DateTime adesso = DateTime.Now;
Random randNum = new Random();
string filePathName = $"{baseDir}{localPdfPath}\\temp\\{name}_{adesso:HHmmss}_{adesso:ffffff}_{randNum.Next(0, 999):000}.{fileNameExtension}";
Stream stream = new FileStream(filePathName, FileMode.Create);
m_streams.Add(stream);
return stream;
}
/// <summary>
/// ciclo da fornire al renderizzatore dei report, per salvare 1 pdf da ogni pagina del report
/// </summary>
/// <param name="name"></param>
/// <param name="fileNameExtension"></param>
/// <param name="encoding"></param>
/// <param name="mimeType"></param>
/// <param name="willSeek"></param>
/// <returns></returns>
private Stream CreateStreamPdf(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek)
{
// compongo stringhe
DateTime adesso = DateTime.Now;
string dailyDir = $"{baseDir}{localPdfPath}\\{adesso:yyyy}\\{adesso:MM}\\{adesso:dd}\\";
string pdfPathName = $"{dailyDir}\\{name}_{adesso:HHmmss}_{adesso:ffff}.{fileNameExtension}";
// creo Directory se non c'è
fileMover fm = new fileMover(dailyDir, "");
fm.checkDir();
Stream stream = new FileStream(pdfPathName, FileMode.Create);
m_streams.Add(stream);
return stream;
}
/// <summary>
/// Handler per PrintPageEvents
/// </summary>
/// <param name="sender"></param>
/// <param name="ev"></param>
private void PrintPage(object sender, PrintPageEventArgs ev)
{
try
{
Metafile pageImage = new Metafile(m_streams[m_currentPageIndex]);
ev.Graphics.DrawImage(pageImage, ev.PageBounds);
m_currentPageIndex++;
ev.HasMorePages = (m_currentPageIndex < m_streams.Count);
}
catch (Exception exc)
{
Log.Instance.Error($"Errore in PrintPage{Environment.NewLine}{exc}");
}
}
/// <summary>
/// funzione di stampa...
/// </summary>
private bool Print(string printerName)
{
if (m_streams == null || m_streams.Count == 0)
return false;
bool fatto = false;
// provo a stampare
try
{
using (PrintDocument printDoc = new PrintDocument())
{
printDoc.PrinterSettings.PrinterName = printerName;
if (!printDoc.PrinterSettings.IsValid)
{
Log.Instance.Error($"Impostazioni non valide per la stampante {printerName}");
return fatto;
}
printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
printDoc.Print();
fatto = true;
};
}
catch (Exception exc)
{
Log.Instance.Error($"Errore in Print{Environment.NewLine}{exc}");
}
return fatto;
}
/// <summary>
/// effettua pulizia della cartella temp x i files più vecchi di X ore (web.config)
/// </summary>
@@ -259,29 +291,70 @@ namespace LPA
// num max ore di età x files "vecchi" da tenere in temp area...
int maxAgeMinutes = memLayer.ML.CRI("maxAgeTempArea");
int eliminati = 0;
// ottengo elenco files *.emf
fileMover.obj.setDirectory($"{baseDir}{localPdfPath}\\temp\\");
FileInfo[] _fis = fileMover.obj.elencoFiles_FI("*.emf");
bool fatto = false;
foreach (FileInfo _file in _fis)
try
{
if (_file.CreationTime < DateTime.Now.AddMinutes(-maxAgeMinutes)) // elimino files vecchi...
string currPath = $"{baseDir}{localPdfPath}\\temp\\";
//verifico esistenza cartella
if (!Directory.Exists(currPath))
{
fatto = fileMover.obj.eliminaFile(_file);
if (fatto)
Directory.CreateDirectory(currPath);
}
// ottengo elenco files *.emf
fileMover.obj.setDirectory(currPath);
var _fis = Directory.GetFiles(currPath, "*.EMF");
bool fatto = false;
foreach (var _fileName in _fis)
{
FileInfo file = new FileInfo(_fileName);
if (file.CreationTime < DateTime.Now.AddMinutes(-maxAgeMinutes)) // elimino files vecchi...
{
Log.Instance.Info($"Eliminato file {_file.Name}");
eliminati++;
fatto = fileMover.obj.eliminaFile(file);
if (fatto)
{
Log.Instance.Info($"Eliminato file {file.Name}");
eliminati++;
}
}
}
// salvo il log degli update
if (eliminati > 0)
{
Log.Instance.Info($"Eliminati {eliminati} files EMF temporanei da area temp");
}
// verifica file pdf vecchi (oltre 5 mesi...)
currPath = $"{baseDir}{localPdfPath}";
eliminati = 0;
// ottengo elenco files *.emf
fileMover.obj.setDirectory(currPath);
_fis = Directory.GetFiles(currPath, "*.pdf", SearchOption.AllDirectories);
fatto = false;
foreach (var _fileName in _fis)
{
FileInfo file = new FileInfo(_fileName);
if (file.CreationTime < DateTime.Now.AddMonths(-5)) // elimino files vecchi...
{
fatto = fileMover.obj.eliminaFile(file);
if (fatto)
{
Log.Instance.Info($"Eliminato file {file.Name}");
eliminati++;
}
}
}
// salvo il log degli update
if (eliminati > 0)
{
Log.Instance.Info($"Eliminati {eliminati} files EMF temporanei da area temp");
}
}
// salvo il log degli update
if (eliminati > 0)
catch (Exception exc)
{
Log.Instance.Info($"Eliminati {eliminati} files temporanei da area temp");
Log.Instance.Error($"Eccezione in pulishiDir:{Environment.NewLine}{exc}");
}
}
#endregion
#endregion Public Methods
}
}
}
+1 -1
View File
@@ -7,7 +7,7 @@ pipeline {
steps {
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
script {
withEnv(['NEXT_BUILD_NUMBER=89']) {
withEnv(['NEXT_BUILD_NUMBER=91']) {
// env.versionNumber = VersionNumber(versionNumberString : '1.1.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-01-01', skipFailedBuilds: true)
env.versionNumber = VersionNumber(versionNumberString : '1.1.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.APP_NAME = 'LPA'
+3 -3
View File
@@ -3,7 +3,7 @@
// the next time this code is regenerated.
//
using System.Reflection;
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyCopyright("Steamware © 2006-2020")]
[assembly: AssemblyVersion("0.0.0.0")]
[assembly: AssemblyFileVersion("0.0.0.0")]
[assembly: AssemblyCopyright("Steamware © 2006-2021")]
[assembly: AssemblyCompany("Steamware")]
+2 -2
View File
@@ -4,7 +4,7 @@
// the next time this code is regenerated.
//
using System.Reflection;
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyVersion("0.0.0.0")]
[assembly: AssemblyFileVersion("0.0.0.0")]
[assembly: AssemblyCopyright("Steamware © 2006-<#= DateTime.Now.Year #>")]
[assembly: AssemblyCompany("Steamware")]
View File